當您創建自助管理權限模式的資源棧組時,需要事先在管理員賬號和目標賬號中手動創建RAM角色,建立二者的信任關系,然后在目標賬號中部署資源棧。
背景信息
授權自助管理權限時,您需要為下表所示的阿里云賬號分別創建RAM角色并授權:
阿里云賬號 | RAM角色 | 權限策略 | 權限策略說明 |
管理員賬號 | AliyunROSStackGroupAdministrationRole | 自定義策略AssumeRole-AliyunROSStackGroupExecutionRole | 允許RAM角色(AliyunROSStackGroupAdministrationRole)扮演角色身份(AliyunROSStackGroupExecutionRole)。 |
目標賬號 | AliyunROSStackGroupExecutionRole | 系統策略AdministratorAccess | 允許RAM角色(AliyunROSStackGroupExecutionRole)管理目標賬號的所有阿里云資源。 |
管理員賬號和目標賬號可以為同一阿里云賬號。關于管理員賬號和目標賬號的更多信息,請參見概覽。
授權成功后,當您使用管理員賬號登錄資源編排控制臺創建資源棧組后,即可在該資源棧組中為目標賬號創建資源棧。
方式一:通過RAM控制臺設置權限
設置目標賬號的權限。
使用目標賬號登錄RAM控制臺。
為目標賬號創建可信實體為管理員賬號的RAM角色(AliyunROSStackGroupExecutionRole)。
在左側導航欄,選擇
。在角色頁面,單擊創建角色。
在創建角色頁面,選擇可信實體類型為阿里云賬號,然后單擊下一步。
設置角色信息。
輸入角色名稱為AliyunROSStackGroupExecutionRole。
輸入備注。
選擇信任的云賬號為其他云賬號,最后輸入管理員賬號的ID。
單擊完成。
單擊關閉。
為RAM角色(AliyunROSStackGroupExecutionRole)授予AdministratorAccess權限。
在角色頁面,單擊RAM角色(AliyunROSStackGroupExecutionRole)操作列的新增授權。
在新增授權面板,授權主體會自動填入,選擇授權范圍為賬號級別。
選擇權限為系統策略,然后選擇AdministratorAccess。
單擊確定。
單擊完成。
設置管理員賬號的權限。
使用管理員賬號登錄RAM控制臺。
為管理員賬號創建可信實體為資源編排服務的RAM角色(AliyunROSStackGroupAdministrationRole)。
在左側導航欄,選擇
。在角色頁面,單擊創建角色。
在創建角色頁面,選擇可信實體類型為阿里云服務,然后單擊下一步。
選擇角色類型為普通服務角色。
設置角色信息。
輸入角色名稱為AliyunROSStackGroupAdministrationRole。
輸入備注。
選擇受信服務為資源編排服務。
單擊完成。
單擊關閉。
創建自定義權限策略(AssumeRole-AliyunROSStackGroupExecutionRole)。
在左側導航欄,選擇
。在權限策略頁面,單擊創建權限策略。
在創建權限策略頁面,單擊腳本編輯頁簽,輸入以下策略內容,然后單擊繼續編輯基本信息。輸入權限策略名稱為AssumeRole-AliyunROSStackGroupExecutionRole。
該策略允許RAM角色(AliyunROSStackGroupAdministrationRole)扮演角色身份(AliyunROSStackGroupExecutionRole)。
{ "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "acs:ram::*:role/AliyunROSStackGroupExecutionRole" } ], "Version": "1" }
單擊確定。
為RAM角色(AliyunROSStackGroupAdministrationRole)授予AssumeRole-AliyunROSStackGroupExecutionRole權限。
在左側導航欄,選擇
。在角色頁面,單擊RAM角色(AliyunROSStackGroupAdministrationRole)操作列的新增授權。
在新增授權面板,授權主體會自動填入,選擇授權范圍為賬號級別。
選擇權限為自定義策略,然后選擇AssumeRole-AliyunROSStackGroupExecutionRole。
單擊確定。
方式二:通過資源編排控制臺設置權限
通過資源編排模板為管理員賬號和目標賬號創建RAM角色,并賦予資源棧組和資源棧的操作權限。
管理員賬號登錄資源編排控制臺 ,使用模板AliyunROSStackGroupAdministrationRole創建RAM角色并授權。
ROSTemplateFormatVersion: '2015-09-01' Description: Configure the AliyunROSStackGroupAdministrationRole to enable use of Alibaba Cloud ROS StackGroup. Parameters: AdministrationRoleName: Type: String Default: AliyunROSStackGroupAdministrationRole Description: en: Role name of administration account zh-cn: 創建授權給管理員賬號的角色的名稱 ExecutionRoleName: Type: String Default: AliyunROSStackGroupExecutionRole Description: en: Execution role name of target account zh-cn: 目標賬號執行角色名稱 Metadata: ALIYUN::ROS::Interface: ParameterGroups: - Parameters: - AdministrationRoleName - ExecutionRoleName Label: default: en: RAM zh-cn: 賬號權限 TemplateTags: - acs:example:安全:創建StackGroup管理員賬號權限 Resources: AliyunROSStackGroupAdministrationRole: Type: ALIYUN::RAM::Role Properties: RoleName: Ref: AdministrationRoleName AssumeRolePolicyDocument: Version: 1 Statement: - Action: sts:AssumeRole Effect: Allow Principal: Service: - ros.aliyuncs.com Policies: - PolicyName: Fn::Sub: - AssumeRole-${ExecutionRoleName} - ExecutionRoleName: Ref: ExecutionRoleName PolicyDocument: Statement: - Effect: Allow Action: - sts:AssumeRole Resource: - Fn::Sub: acs:ram::*:role/${ExecutionRoleName} Version: '1' Outputs: AdministrationRoleName: Value: Fn::GetAtt: - AliyunROSStackGroupAdministrationRole - RoleName
目標賬號登錄資源編排控制臺,使用模板AliyunROSStackGroupExecutionRole創建RAM角色并授權。
ROSTemplateFormatVersion: '2015-09-01' Description: Configure the AliyunROSStackGroupExecutionRole to enable use of your account as a target account in Alibaba Cloud ROS StackGroup. Conditions: CurrentAccount: Fn::Equals: - Ref: AdministrationAccountId - '' Parameters: ExecutionRoleName: Type: String Default: AliyunROSStackGroupExecutionRole Description: en: Execution role name of target account zh-cn: 為目標賬號創建執行角色的名稱 AdministrationAccountId: Type: String Description: zh-cn: 管理員主賬號ID,不填則授權給當前賬號 en: Administration account ID. If not, authorize the current account Default: '' Metadata: ALIYUN::ROS::Interface: ParameterGroups: - Parameters: - ExecutionRoleName - AdministrationAccountId Label: default: RAM TemplateTags: - acs:example:安全:創建StackGroup目標賬號權限 Resources: AliyunROSStackGroupExecutionRole: Type: ALIYUN::RAM::Role Properties: RoleName: Ref: ExecutionRoleName AssumeRolePolicyDocument: Version: 1 Statement: - Action: sts:AssumeRole Effect: Allow Principal: RAM: - Fn::Join: - '' - - 'acs:ram::' - Fn::If: - CurrentAccount - Ref: ALIYUN::TenantId - Ref: AdministrationAccountId - ':root' AttachPolicy: Type: ALIYUN::RAM::AttachPolicyToRole Properties: PolicyName: AdministratorAccess PolicyType: System RoleName: Fn::GetAtt: - AliyunROSStackGroupExecutionRole - RoleName Outputs: ExecutionRoleName: Value: Fn::GetAtt: - AliyunROSStackGroupExecutionRole - RoleName