可信雲端服務可以通過RAM角色扮演的方式訪問其他雲端服務的資源。可信實體為阿里雲服務的RAM角色分為兩種:普通服務角色和服務關聯角色。本文主要介紹服務關聯角色。
什麼是服務關聯角色
在某些情境下,一個雲端服務為了完成自身的某個功能,需要擷取其他雲端服務的存取權限。例如:配置審計(Config)服務要讀取您的雲資源資訊,以擷取資源清單和變更歷史,就需要擷取ECS、RDS等產品的存取權限。阿里雲提供了服務關聯角色SLR(Service Linked Role)來滿足此類情境的需求。
服務關聯角色是一種可信實體為阿里雲服務的RAM角色,旨在解決跨雲端服務的授權訪問問題。服務關聯角色是與某個雲端服務關聯的角色。多數情況下,在您使用特定功能時,關聯的雲端服務會自動建立或刪除服務關聯角色,不需要您主動建立或刪除。通過服務關聯角色可以更好地配置雲端服務正常操作所必需的許可權,避免誤操作帶來的風險。
服務關聯角色的權限原則由關聯的雲端服務定義和使用,您不能修改或刪除權限原則,也不能為服務關聯角色添加或移除許可權。
建立服務關聯角色
某些雲端服務將在您執行某些特定操作(例如:建立一個雲資源或開啟一個功能)時自動建立服務關聯角色,您可以在RAM控制台的角色管理頁面、API或CLI調用ListRoles的返回結果中查看自動建立的服務關聯角色。
此外,您也可以主動建立服務關聯角色。具體操作,請參見建立服務關聯角色。
服務關聯角色會佔用您的RAM角色配額。當RAM角色數量超限時,您仍然可以成功建立服務關聯角色,但無法建立其他類型的角色。
關於自動建立服務關聯角色的詳情,請參見對應雲端服務的文檔說明。
刪除服務關聯角色
某些雲端服務將在您執行某些特定操作(例如:刪除所有資源或關閉一個功能)時自動刪除已建立的服務關聯角色,但您也可以從控制台主動刪除。關於主動刪除服務關聯角色,詳情請參見刪除RAM角色。
當您嘗試刪除一個服務關聯角色時,RAM會先檢查這個角色是否仍被雲資源使用:
如果為否,您可以成功刪除該服務關聯角色。
如果為是,您暫不能刪除該服務關聯角色,但可以根據刪除失敗的提示資訊,查看哪些雲資源在使用該角色。您需要找到對應的雲資源並手動清理這些雲資源,然後再刪除該服務關聯角色。
關於刪除服務關聯角色的條件,請參見對應雲端服務的文檔說明。
建立和刪除服務關聯角色所需的許可權
通過RAM使用者建立或刪除服務關聯角色時,RAM使用者必須具備對應許可權。自動建立服務關聯角色的情境也需要具備對應許可權。
以下將提供一個自訂權限原則樣本,允許RAM使用者為資源管理(Resource Management)建立和刪除服務關聯角色。其中,ram:ServiceName
的取值可以從支援服務關聯角色的雲端服務的雲端服務標識列擷取。
{
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "resourcemanager.aliyuncs.com"
}
}
}
建立服務關聯角色的許可權通常包含在其對應雲端服務的管理員權限策略(例如:AliyunESSFullAccess)中,因此RAM使用者如果具有該雲端服務的管理員權限,也可以為該雲端服務建立服務關聯角色。
使用服務關聯角色
服務關聯角色僅限關聯的對應雲端服務使用,其他身份(例如:RAM使用者、其他RAM角色)都無法扮演該角色。
您可以在已建立的服務關聯角色的信任策略管理頁簽中,通過Service
欄位查看可以使用該角色的雲端服務。
支援服務關聯角色的雲端服務
支援服務關聯角色的雲端服務,請參見支援服務關聯角色的雲端服務。
不支援服務關聯角色的雲端服務,請使用普通服務角色擷取其他雲端服務的存取權限。