常见场景
更新时间:2022-06-16
角色常用于解决跨账户的资源访问问题,或是同账户内子用户的临时授权问题,且不需要共享你账户内任何用户凭证信息,本节将介绍几种常见的业务场景。
给第三方账户授权访问你的云资源
你可以信任第三方账户,并为其账户的IAM用户或服务授予权限,以便其代入到你的云账户角色,并访问该角色被授权的云资源。你也可以切换到其他云账户给你授权的角色,以访问其他账户的云资源。
如下以一个实际案例来说明如何实现跨账户的资源访问:
公司A在百度智能云创建了账户Account111111111,并在该账户下创建了BCC服务器Server001,公司A的管理员希望将这台服务器交给公司B(拥有账户Account222222222)来运维。
在这个场景下,要满足公司A的管理需求,需要进行如下步骤:
- 公司B提供其云账户ID或别名给到公司A的管理员;
- 公司A的管理员在Account111111111中创建新角色RoleA,并将角色载体设置为其他云账号,并输入公司B的云账户ID或别名;
- 公司A将Server001的运维策略授予RoleA;
- 公司B的管理员创建子用户UserB,并授予该用户 _STSAssumeRoleAccess_ 策略;
- UserB 可以通过调用临时安全凭证服务(STS)_AssumeRole_ API 切换到RoleA,即具备了运维Server001 的权限。
同一账户内的临时授权
你可以向IAM子用户授予权限,以便切换至你所在账户中的角色,或是信任你的第三方账户的角色。
如下以一个实例来说明如何使用角色来解决同账户内提升权限的问题:
假如在你的账户内有一台核心的BCC服务器实例,出于安全考虑,你不希望你的子用户通过控制台直接管理这台服务器(如删除操作),此时,你可以将这台服务器的管理权限授予给一个角色(详细操作参考创建角色),并授予特定的子用户使用角色的权限,详细操作请参考使用角色,这样可以对该服务器实例添加以下几层保护:
- 你必须显式地向子用户授予能够担任该角色的权限
- 当前子用户必须使用百度智能云的API代入角色
使用如上方式践行了最小权限原则 ,且只有用户需要执行特定任务时,才能使用安全级别较高的权限,以防止子用户对敏感的环境或服务进行了意外操作或更改。