邏輯編排使用服務角色的方式為用戶執行相關操作。對于RAM身份(RAM用戶和RAM角色)需要給邏輯編排進行服務角色授權的情況,請按本文檔為對應RAM身份進行授權。
背景信息
在工作流執行過程中,邏輯編排會通過扮演用戶授予的服務角色,通過API去訪問對應的資源。對于當前阿里云賬號,只需按照邏輯編排提供的選擇服務角色流程完成相應服務角色的綁定即可。對于RAM相關的身份,如果需要編輯工作流并需要使用阿里云相關的操作,則需要提前為該RAM身份授權,以便該RAM身份能夠在編輯過程中為邏輯編排進行服務角色授權。RAM用戶、RAM角色等相關概念請參考身份管理相關概念。
對于一個確定的RAM身份,根據該身份擁有的權限,分為三種情況:
該RAM身份沒有RAM相關權限
該RAM身份有RAM只讀權限
該RAM身份有RAM所有權限
接下來會針對這三種情況進行操作說明,操作過程涉及到兩種角色:
管理員:當前阿里云賬號管理員或有RAM權限的RAM身份。
開發人員:某個RAM用戶或角色,至少擁有邏輯編排相關的權限,需要編輯工作流并使用到了阿里云相關的操作。操作過程以RAM用戶為例,RAM角色同理。
RAM用戶沒有RAM權限
管理員操作步驟
登錄 阿里云 RAM 控制臺。
在RAM控制臺的 角色 頁面可以查看您當前需要使用的服務角色。如果您沒有創建過服務角色,請先創建服務角色,創建方法請參見 創建可信實體為阿里云服務的RAM角色。注意這里 受信服務 需要選擇 邏輯編排,角色名稱 可根據您的需要命名(本例以 AliyunLogicComposerDefaultRole 為角色名稱)。
為第二步創建的角色授權,這里可以提前和開發人員溝通,確認工作流中需要的權限,創建方法請參見 為RAM角色授權。
在 RAM 控制臺的 權限策略 頁面為RAM用戶創建自定義策略,創建方法請參見 創建自定義權限策略,自定義策略中需要添加如下權限:
{
"Statement": [
{
"Action": "ram:PassRole",
"Resource": "acs:ram::<your uid>:role/<role name>",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:Service": "composer.aliyuncs.com"
}
}
}
],
"Version": "1"
}
Resource 可以通過 查看RAM角色,復制上述第2步中對應服務角色詳情頁上 ARN 即可。
5. 在 RAM 控制臺的 RAM概覽 頁面找到開發人員對應的RAM用戶,給RAM用戶賦予第4步創建的 權限策略,創建方法請參見 為RAM用戶授權。
6. 復制第二步創建的角色名,并告知開發人員。
開發人員操作步驟
在工作流彈出的授權面板中填入管理員提供的角色名即可(本例中使用 AliyunLogicComposerDefaultRole)。
RAM用戶有RAM只讀權限
管理員操作步驟
登錄阿里云RAM控制臺。
在RAM控制臺的角色管理頁面可以查看您當前需要使用的服務角色。如果您沒有創建過服務角色,請先創建服務角色,創建方法請參見 創建可信實體為阿里云服務的RAM角色。注意這里 受信服務 需要選擇 邏輯編排,角色名稱 可根據您的需要命名(本例以 AliyunLogicComposerDefaultRole 為角色名稱)。
為第二步創建的角色授權,這里可以提前和開發人員溝通,確認需要的權限,創建方法請參見 為RAM角色授權。
開發人員操作步驟
RAM用戶直接在工作流授權面板中直接選擇第二步創建的角色,以 AliyunLogicComposerDefaultRole 為例(注意:RAM用戶只有只讀權限的場景下,不能在該流程中繼續為服務角色添加權限,需有權限的RAM用戶或阿里云賬號主動為該服務角色授權)。
RAM用戶有RAM讀寫權限
管理員操作步驟
無需操作
開發人員操作步驟
直接在工作流授權面板中按頁面提示流程進行服務角色創建(或選擇已有服務角色)并進行授權即可。