策略授权参考
云服务在IAM预置了常用授权项,称为系统策略。如果IAM系统策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义策略来进行精细的访问控制,IAM自定义策略是对系统策略的扩展和补充。
除IAM服务外,Organizations服务中的服务控制策略(Service Control Policies,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。
SCP是一种基于组织的访问控制策略。组织管理账号可以使用SCP指定组织中成员账号的权限边界,限制账号内用户的操作。服务策略可以关联到组织、组织单元和成员账号。当服务策略关联到组织或组织单元时,该组织或组织单元下所有账号受到该策略影响。IAM策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。
本章节介绍IAM服务策略授权场景中自定义策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。
操作(Action)
操作(Action)即为策略中支持的操作项。
- “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在策略中相应操作对应的访问级别。
- “资源类型”列指每个操作是否支持资源级权限。
- 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在策略语句的Resource元素中指定所有资源类型(“*”)。
- 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
- 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。
- “条件键”列包括了可以在策略语句的Condition元素中支持指定的键值。
- 如果该操作项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
- 如果该操作项资源类型列没有值(-),则表示条件键对整个操作项生效。
- 如果此列没有值(-),表示此操作不支持指定条件键。
您可以在自定义策略语句的Action元素中指定以下RGC的相关操作。
操作项 |
描述 |
访问级别 |
资源类型(*为必须) |
条件键 |
---|---|---|---|---|
rgc:homeRegion:get |
授予获取主区域的权限。 |
read |
- |
- |
rgc:preLaunch:check |
授予登录前检查的权限。 |
write |
- |
- |
rgc:landingZone:setup |
授予设置着陆区的权限。 |
write |
- |
- |
rgc:landingZoneStatus:get |
授予获取设置着陆区当前状态的权限。 |
read |
- |
- |
rgc:availableUpdates:get |
授予获取着陆区可更新信息的权限。 |
read |
- |
- |
rgc:landingZoneConfiguration:get |
授予获取着陆区配置信息的权限。 |
read |
- |
- |
rgc:landingZoneIdentityCenter:get |
授予获取着陆区相关用户中心信息的权限。 |
read |
- |
- |
rgc:organizationalUnit:register |
授予注册组织单元的权限。 |
write |
- |
- |
rgc:organizationalUnit:reRegister |
授予重新注册组织单元的权限。 |
write |
- |
- |
rgc:organizationalUnit:deRegister |
授予去注册组织单元的权限。 |
write |
- |
- |
rgc:operation:get |
授予获取注册组织单元或者重新注册组织单元或者取消注册单元当前状态的权限。 |
read |
- |
- |
rgc:managedOrganizationalUnits:delete |
授予删除组织单元的权限。 |
write |
- |
- |
rgc:managedOrganizationalUnits:get |
授予获取纳管组织单元的权限。 |
read |
- |
- |
rgc:organizationalUnit:create |
授予创建组织单元的权限。 |
write |
- |
- |
rgc:managedOrganizationalUnits:list |
授予列出所有纳管组织单元的权限。 |
list |
- |
- |
rgc:account:enroll |
授予纳管账号的权限。 |
write |
- |
- |
rgc:account:unEnroll |
授予去纳管账号的权限。 |
write |
- |
- |
rgc:managedAccount:update |
授予更新账号的权限。 |
write |
- |
- |
rgc:managedAccount:get |
授予获取纳管账号的权限。 |
read |
- |
- |
rgc:managedAccountsForParent:list |
授予列出某个组织单元下所有账号的权限。 |
list |
- |
- |
rgc:account:create |
授予创建账号的权限。 |
write |
- |
- |
rgc:managedAccounts:list |
授予列出所有纳管账号的权限。 |
list |
- |
- |
rgc:managedCoreAccount:get |
授予获取核心账号的权限。 |
read |
- |
- |
rgc:controls:list |
授予列出控制策略的权限。 |
list |
- |
- |
rgc:controlViolations:list |
授予列出不合规控制策略的权限。 |
list |
- |
- |
rgc:control:get |
授予获取控制策略的权限。 |
read |
- |
- |
rgc:control:enable |
授予开启控制策略的权限。 |
write |
- |
- |
rgc:control:disable |
授予关闭控制策略的权限。 |
write |
- |
- |
rgc:controlOperate:get |
授予获取开启或者关闭控制策略当前状态的权限。 |
read |
- |
- |
rgc:enabledControls:list |
授予列出组织开启的控制策略的权限。 |
list |
- |
- |
rgc:controlsForOrganizationUnit:list |
授予列出某个组织单元开启的控制策略的权限。 |
list |
- |
- |
rgc:controlsForAccount:list |
授予列出某个账号开启的控制策略的权限。 |
list |
- |
- |
rgc:complianceStatusForAccount:get |
授予获取某个账号合规状态的权限。 |
read |
- |
- |
rgc:complianceStatusForOrganizationUnit:get |
授予获取某个组织单元下所有纳管账号的资源合规状态的权限。 |
read |
- |
- |
rgc:controlsForOrganizationUnit:get |
授予获取某个组织单元下某个控制策略的权限。 |
read |
- |
- |
rgc:configRuleCompliance:list |
授予列出某个账号下所有配置规则合规信息的权限。 |
list |
- |
- |
RGC的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。
API |
对应的操作项 |
依赖的操作项 |
---|---|---|
POST /v1/governance/control/enable |
rgc:control:enable |
- |
POST /v1/governance/control/disable |
rgc:control:disable |
- |
GET /v1/governance/operated-controls/{control_operate_request_id} |
rgc:controlOperate:get |
- |
GET /v1/governance/managed-organization-unit/{managed_organization_unit_id}/controls |
rgc:controlsForOrganizationUnit:list |
- |
资源类型(Resource)
RGC服务不支持在策略中的资源中指定资源进行权限控制。如需允许访问RGC服务,请在策略的Resource元素中使用通配符号*,表示策略将应用到所有资源。