當一個企業希望將部分業務授權給另一個企業時,可以使用RAM角色進行跨阿里雲帳號授權來管理資源的授權及訪問。
背景資訊
企業A購買了多種阿里雲資源來開展業務,例如:ECS執行個體、RDS執行個體、SLB執行個體和OSS儲存空間等。企業A希望將部分業務授權給企業B。
企業A有如下要求:
企業A希望能專註於業務系統,僅作為資源Owner。企業A希望可以授權帳號B來操作部分業務,例如:雲資源營運、監控以及管理等。
企業A希望當企業B的員工加入或離職時,無需做任何許可權變更。企業B可以進一步將企業A的資源存取權限分配給企業B的RAM使用者(員工或應用),並可以精細控制其員工或應用對資源的訪問和操作許可權。
企業A希望如果雙方合約終止,企業A隨時可以撤銷企業B的授權。
解決方案
企業A需要授權企業B的員工對ECS進行操作。假設企業A和企業B下分別有一個阿里雲帳號A和阿里雲帳號B。
企業A的阿里雲帳號ID為
123456789012****
,帳號別名(企業別名)為company-a
。企業B的阿里雲帳號ID為
134567890123****
,帳號別名(企業別名)為company-b
。
關於如何設定帳號別名,請參見查看和修改預設網域名稱。
阿里雲帳號A建立一個RAM角色,並為RAM角色授予合適的許可權,允許阿里雲帳號B使用該角色。
具體操作,請參見跨阿里雲帳號授權。
如果阿里雲帳號B下的某個員工(RAM使用者)需要使用該RAM角色,那麼阿里雲帳號B可以自主進行授權控制。阿里雲帳號B下的RAM使用者將扮演RAM角色來操作阿里雲帳號A的資源。
具體操作,請參見跨阿里雲帳號訪問資源。
如果企業A與企業B的合作終止,企業A只需要撤銷阿里雲帳號B對RAM角色的使用。此時阿里雲帳號B下的所有RAM使用者對RAM角色的使用許可權將被自動撤銷。
具體操作,請參見撤銷跨阿里雲帳號授權 。
跨阿里雲帳號授權
阿里雲帳號A建立可信實體為阿里雲帳號的RAM角色
ecs-admin
。說明建立RAM角色時選擇其他雲帳號
134567890123****
作為受信雲帳號,即允許阿里雲帳號B下的RAM使用者來扮演該RAM角色。具體操作,請參見建立可信實體為阿里雲帳號的RAM角色。
RAM角色建立成功後,在角色基本資料頁面中可以查看到該RAM角色的ARN和信任策略。
RAM角色的ARN為
acs:ram::123456789012****:role/ecs-admin
。RAM角色的信任策略如下:
說明以下策略表示允許阿里雲帳號B下的RAM使用者來扮演該RAM角色。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::134567890123****:root" ] } } ], "Version": "1" }
阿里雲帳號A為RAM角色
ecs-admin
添加AliyunECSFullAccess
許可權。具體操作,請參見為RAM角色授權。
阿里雲帳號B為其員工建立RAM使用者
Alice
。具體操作,請參見建立RAM使用者。
阿里雲帳號B為建立好的RAM使用者佈建登入密碼
123456****
並添加AliyunSTSAssumeRoleAccess
許可權,即允許RAM使用者扮演RAM角色。具體操作,請參見為RAM使用者授權。
跨阿里雲帳號訪問資源
對阿里雲帳號B的RAM使用者Alice
進行授權後,RAM使用者通過切換角色便可以訪問阿里雲帳號A下的ECS資源。
阿里雲帳號B的RAM使用者登入RAM控制台。
說明RAM使用者登入時需要輸入帳號別名
company-b
、RAM使用者名稱稱Alice
和RAM使用者密碼123456****
。具體操作,請參見RAM使用者登入阿里雲控制台。
RAM使用者登入成功後,將滑鼠移至上方在右上方頭像的位置,單擊切換身份。
說明切換角色時需要輸入帳號別名
company-a
和RAM角色名稱ecs-admin
。具體操作,請參見扮演RAM角色。
撤銷跨阿里雲帳號授權
阿里雲帳號A可以撤銷阿里雲帳號B對RAM角色ecs-admin
的使用。
阿里雲帳號A登入RAM控制台。
在左側導覽列,選擇 。
單擊RAM角色名稱
ecs-admin
。在信任策略頁簽下,單擊編輯信任策略,刪除整行策略內容
"acs:ram::134567890123****:root"
。說明阿里雲帳號A也可以通過刪除RAM角色ecs-admin來撤銷阿里雲帳號B的許可權。但在刪除RAM角色前,請先為RAM角色移除許可權。具體操作,請參見為RAM角色移除許可權。