委托其他云服务管理资源
由于华为云各服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务信任委托,将操作权限委托给该服务,让该服务以您的身份使用其他云服务,代替您进行一些资源运维工作。支持云服务委托的列表请参见支持身份策略与信任委托的云服务列表。
当前IAM提供两种创建委托方式:
- 在IAM控制台创建云服务信任委托
某些云服务在使用云服务信任委托时,需要您先到IAM控制台创建云服务信任委托,然后再将该信任委托配置到云服务的任务中。
- 在云服务控制台使用某项资源时,系统可能会自动创建信任委托,以完成云服务间的协同工作。
- 在RGC控制台点击开通按钮搭建Landing Zone。
- 在搭建步骤中,按照提示配置完所有信息,系统会为您自动创建名为RGCAdminAgency的信任委托,并授予RGCServiceAgencyPolicy系统身份策略。在开通接口返回之后,RGC云服务会切换到这个信任委托,去创建组织账号、创建RFS堆栈集等。
- 您可以在IAM控制台的委托列表中查看已创建的信任委托。
在IAM控制台创建云服务信任委托
- 登录统一身份认证服务新版控制台。
- 在统一身份认证服务的左侧导航窗格中,选择“信任委托”页签,单击“创建信任委托”。
- 在创建信任委托页面,设置“委托名称”。
图1 云服务委托名称
- “信任主体类型”选择“云服务”,在“云服务”中选择需要授权的云服务。
- 选择“最大会话持续时长”。即选择编程访问获取的临时访问凭证可持续的最大会话时长。
- 信任策略区域将会展示当前信任策略的内容,如需编辑请在创建后修改信任委托,请参见删除或修改委托(委托方操作)。
- (可选)填写“委托描述”。建议填写描述信息。
- 单击“下一步”,进入给委托授权页面。
- 勾选需要授予委托的权限,单击“确定”,信任委托创建完成。
策略示例
委托给其他云服务管理华为云资源时,与委托给其他账号管理华为云资源类似,其关键点也在于信任委托的信任策略和身份策略的配置。一般来说,云服务基于自己的业务逻辑,对信任委托身上附加的身份策略权限都有明确要求,您可以查看云服务的相关文档了解具体信息。云服务信任委托与普通信任委托信任策略的区别主要在于Principal元素,有关Principal元素的介绍请参见JSON元素参考。
{ "Version": "5.0", "Statement": [ { "Action": [ "sts:agencies:assume" ], "Effect": "Allow", "Principal": { "Service": [ "service.RGC" ] } } ] }
其中Principal中的Service元素要求填写云服务的服务主体,服务主体列表可参见支持身份策略与信任委托的云服务列表中的“服务主体”列。
与普通信任委托一样,如果云服务切换该信任委托时,需要传递与源身份信息对应的source_identity参数和与会话标签对应的tags参数,那么您同样需要在信任策略中包含sts::setSourceIdentity与sts::tagSession权限。
云服务在为您管理资源时,都会要求您为信任委托附加一些必要的权限,例如RGC会使用该信任委托去创建组织账号、创建RFS堆栈集等。为了方便,其要求的权限已经被注册成了名为RGCServiceAgencyPolicy的系统身份策略,您可以在IAM新版控制台中的身份策略列表进行过滤查看。