身份策略授权参考
云服务在IAM预置了常用授权项,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外,Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别。
本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。
操作(Action)
操作(Action)即为身份策略中支持的授权项。
- “访问级别”列描述如何对操作进行分类(List、Read和Write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
 - “资源类型”列指每个操作是否支持资源级权限。 
     
- 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
 - 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
 - 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。
 
关于SWR定义的资源类型的详细信息请参见资源类型(Resource)。
 - “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。 
     
- 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
 - 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
 - 如果此列条件键没有值(-),表示此操作不支持指定条件键。
 
关于SWR定义的条件键的详细信息请参见条件(Condition)。
 - “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明。
 
您可以在身份策略语句的Action元素中指定以下SWR的相关操作。
| 
         授权项  | 
       
         描述  | 
       
         访问级别  | 
       
         资源类型(*为必须)  | 
       
         条件键  | 
       
         别名  | 
      
|---|---|---|---|---|---|
| 
         swr:repository:createImmutableRule  | 
       
         授予创建企业仓库镜像不可变规则的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteImmutableRule  | 
       
         授予删除企业仓库镜像不可变规则的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listImmutableRules  | 
       
         授予企业仓库获取镜像不可变规则列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateImmutableRule  | 
       
         授予企业仓库修改镜像不可变规则的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listArtifacts  | 
       
         授予查询制品列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getArtifact  | 
       
         授予查询制品详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteArtifact  | 
       
         授予删除制品的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listAccessories  | 
       
         授予查询制品附件列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getArtifactAddition  | 
       
         授予查询制品附加信息的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:instance:getConfigurations  | 
       
         授予查询企业版实例配置的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateConfigurations  | 
       
         授予更新企业版实例配置的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listResourceInstances  | 
       
         授予授予查询资源实例列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         -  | 
       |||||
| 
         swr:instance:getResourceInstancesCount  | 
       
         授予授予查询资源实例数量的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         -  | 
       |||||
| 
         swr:instance:createResourceTags  | 
       
         授予批量创建资源标签的权限。  | 
       
         Tagging  | 
       
         instance *  | 
       
         -  | 
      |
| 
         -  | 
       |||||
| 
         swr:instance:deleteResourceTags  | 
       
         授予批量删除资源标签的权限。  | 
       
         Tagging  | 
       
         instance *  | 
       
         -  | 
      |
| 
         -  | 
       |||||
| 
         swr:instance:getProjectTags  | 
       
         授予查询项目标签的权限。  | 
       
         Read  | 
       
         -  | 
       
         -  | 
       
         -  | 
      
| 
         swr:instance:getResourceTags  | 
       
         授予查询资源标签的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:create  | 
       
         授予创建企业版实例的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         -  | 
       |||||
| 
         swr:instance:list  | 
       
         授予查询企业版实例列表信息的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         swr:instance:get  | 
       
         授予查询企业版实例信息的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:delete  | 
       
         授予删除企业版实例的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:getAuditLogs  | 
       
         授予查询企业版实例审计日志的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:getStatistics  | 
       
         授予查询企业版实例统计信息的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listJobs  | 
       
         授予查询任务列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         swr:instance:getJobs  | 
       
         授予查询任务详情的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         swr:instance:deleteJob  | 
       
         授予删除任务的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
       
         -  | 
      
| 
         swr:repository:createNamespace  | 
       
         授予创建命名空间(组织)的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         -  | 
       |||||
| 
         swr:repository:listNamespaces  | 
       
         授予查询命名空间(组织)列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getNamespace  | 
       
         授予查询命名空间(组织)详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateNamespace  | 
       
         授予修改命名空间(组织)的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         -  | 
       |||||
| 
         swr:repository:deleteNamespace  | 
       
         授予删除命名空间(组织)的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listRepositories  | 
       
         授予获取制品仓库列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getRepository  | 
       
         授予获取制品仓库详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateRepository  | 
       
         授予修改制品仓库配置的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteRepository  | 
       
         授予删除制品仓库的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listTags  | 
       
         授予查询制品版本列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getTag  | 
       
         授予查询制品版本详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteTag  | 
       
         授予删除制品版本的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getTagAddition  | 
       
         授予查询制品版本附加信息的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:createRetentionPolicy  | 
       
         授予创建版本清理策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicies  | 
       
         授予查询版本清理策略列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getRetentionPolicy  | 
       
         授予查询版本清理策略详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateRetentionPolicy  | 
       
         授予修改版本清理策略配置的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteRetentionPolicy  | 
       
         授予删除版本清理策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:executeRetentionPolicy  | 
       
         授予应用版本清理策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecutions  | 
       
         授予获取版本清理执行记录列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecTasks  | 
       
         授予获取版本清理任务列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecSubTasks  | 
       
         授予获取版本清理子任务列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:createWebhook  | 
       
         授予创建触发器的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listWebhooks  | 
       
         授予查询触发器列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getWebhook  | 
       
         授予查询触发器详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateWebhook  | 
       
         授予修改触发器配置的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteWebhook  | 
       
         授予删除触发器的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listWebhookJobs  | 
       
         授予获取触发器执行记录列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:instance:createRegistry  | 
       
         授予创建目标仓库的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listRegistries  | 
       
         授予获取目标仓库列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:getRegistry  | 
       
         授予获取目标仓库详情的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateRegistry  | 
       
         授予修改目标仓库配置的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:deleteRegistry  | 
       
         授予删除目标仓库的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:createReplicationPolicy  | 
       
         授予创建复制策略的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listReplicationPolicies  | 
       
         授予查询复制策略列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:getReplicationPolicy  | 
       
         授予查询复制策略详情的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateReplicationPolicy  | 
       
         授予修改复制策略的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:deleteReplicationPolicy  | 
       
         授予删除复制策略的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:executeReplicationPolicy  | 
       
         授予应用复制策略的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:stopReplicationPolicyExecution  | 
       
         授予停止复制任务的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listReplicationPolicyExecutions  | 
       
         授予查询复制记录列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listReplicationPolicyExecTasks  | 
       
         授予查询复制任务列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listReplicationPolicyExecSubTasks  | 
       
         授予查询复制子任务列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:repository:createSignPolicy  | 
       
         授予创建签名策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicies  | 
       
         授予查询签名策略列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:getSignPolicy  | 
       
         授予查询签名策略详情的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:updateSignPolicy  | 
       
         授予修改签名策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:deleteSignPolicy  | 
       
         授予删除签名策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:executeSignPolicy  | 
       
         授予执行签名策略的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecutions  | 
       
         授予查询签名执行记录列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecTasks  | 
       
         授予查询签名任务列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecSubTasks  | 
       
         授予查询签名策略执行记录子任务列表的权限。  | 
       
         List  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:instance:updateEndpointPolicy  | 
       
         授予更新公网访问白名单配置的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateEndpointPolicyStatus  | 
       
         授予更新公网访问白名单配置状态的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:getEndpointPolicy  | 
       
         授予查询公网访问白名单配置的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:createInternalEndpoint  | 
       
         授予创建内网访问的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         -  | 
       |||||
| 
         swr:instance:getInternalEndpoint  | 
       
         授予获取内网访问的权限。  | 
       
         Read  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:deleteInternalEndpoint  | 
       
         授予删除内网访问的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listInternalEndpoints  | 
       
         授予查询内网访问列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:repository:uploadArtifact  | 
       
         授予上传制品的权限。  | 
       
         Write  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:repository:downloadArtifact  | 
       
         授予下载制品的权限。  | 
       
         Read  | 
       
         repository *  | 
       
         -  | 
      |
| 
         swr:instance:createTempCredential  | 
       
         授予创建临时访问凭证的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:createLTCredential  | 
       
         授予创建长期访问凭证的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateLTCredential  | 
       
         授予启用/停用长期访问凭证的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listLTCredentials  | 
       
         授予查询长期访问凭证列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:deleteLTCredential  | 
       
         授予删除长期访问凭证的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:addDomainName  | 
       
         授予增加域名的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:deleteDomainName  | 
       
         授予删除域名的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:updateDomainName  | 
       
         授予更新域名的权限。  | 
       
         Write  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listDomainNames  | 
       
         授予查询域名列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      |
| 
         swr:instance:listAllArtifacts  | 
       
         授予查询仓库实例的所有制品版本列表的权限。  | 
       
         List  | 
       
         instance *  | 
       
         -  | 
      
SWR的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。
| 
         API  | 
       
         对应的授权项  | 
       
         依赖的授权项  | 
      
|---|---|---|
| 
         swr:repository:listArtifacts  | 
       
         -  | 
      |
| 
         swr:repository:getArtifact  | 
       
         -  | 
      |
| 
         swr:repository:deleteArtifact  | 
       
         -  | 
      |
| 
         swr:repository:listAccessories  | 
       
         -  | 
      |
| 
         swr:repository:getArtifactAddition  | 
       
         -  | 
      |
| 
         swr:instance:getConfigurations  | 
       
         -  | 
      |
| 
         swr:instance:updateConfigurations  | 
       
         -  | 
      |
| 
         POST /v2/{project_id}/{resource_type}/resource-instances/filter  | 
       
         swr:instance:listResourceInstances  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/{resource_type}/resource-instances/count  | 
       
         swr:instance:getResourceInstancesCount  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/{resource_type}/{resource_id}/tags/create  | 
       
         swr:instance:createResourceTags  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/{resource_type}/{resource_id}/tags/delete  | 
       
         swr:instance:deleteResourceTags  | 
       
         -  | 
      
| 
         swr:instance:getProjectTags  | 
       
         -  | 
      |
| 
         swr:instance:getResourceTags  | 
       
         -  | 
      |
| 
         swr:instance:create  | 
       
         -  | 
      |
| 
         swr:instance:list  | 
       
         -  | 
      |
| 
         swr:instance:get  | 
       
         -  | 
      |
| 
         swr:instance:delete  | 
       
         -  | 
      |
| 
         swr:instance:getAuditLogs  | 
       
         -  | 
      |
| 
         swr:instance:getStatistics  | 
       
         -  | 
      |
| 
         swr:instance:listJobs  | 
       
         -  | 
      |
| 
         -  | 
       
         swr:instance:getJobs  | 
       
         -  | 
      
| 
         swr:instance:deleteJob  | 
       
         -  | 
      |
| 
         swr:repository:createNamespace  | 
       
         -  | 
      |
| 
         swr:repository:listNamespaces  | 
       
         -  | 
      |
| 
         GET /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}  | 
       
         swr:repository:getNamespace  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}  | 
       
         swr:repository:updateNamespace  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}  | 
       
         swr:repository:deleteNamespace  | 
       
         -  | 
      
| 
         swr:repository:listRepositories  | 
       
         -  | 
      |
| 
         swr:repository:getRepository  | 
       
         -  | 
      |
| 
         swr:repository:updateRepository  | 
       
         -  | 
      |
| 
         swr:repository:deleteRepository  | 
       
         -  | 
      |
| 
         GET /v2/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/tags  | 
       
         swr:repository:listTags  | 
       
         -  | 
      
| 
         swr:repository:getTagAddition  | 
       
         -  | 
      |
| 
         POST /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies  | 
       
         swr:repository:createRetentionPolicy  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/retention/policies  | 
       
         swr:repository:listRetentionPolicies  | 
       
         -  | 
      
| 
         swr:repository:getRetentionPolicy  | 
       
         -  | 
      |
| 
         swr:repository:updateRetentionPolicy  | 
       
         -  | 
      |
| 
         swr:repository:deleteRetentionPolicy  | 
       
         -  | 
      |
| 
         swr:repository:executeRetentionPolicy  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecutions  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecTasks  | 
       
         -  | 
      |
| 
         swr:repository:listRetentionPolicyExecSubTasks  | 
       
         -  | 
      |
| 
         POST /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies  | 
       
         swr:repository:createWebhook  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/webhook/policies  | 
       
         swr:repository:listWebhooks  | 
       
         -  | 
      
| 
         swr:repository:getWebhook  | 
       
         -  | 
      |
| 
         swr:repository:updateWebhook  | 
       
         -  | 
      |
| 
         swr:repository:deleteWebhook  | 
       
         -  | 
      |
| 
         swr:repository:listWebhookJobs  | 
       
         -  | 
      |
| 
         POST /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/immutabletagrules  | 
       
         swr:repository:createImmutableRule  | 
       
         -  | 
      
| 
         swr:repository:deleteImmutableRule  | 
       
         -  | 
      |
| 
         GET /v2/{project_id}/instances/{instance_id}/immutabletagrules  | 
       
         swr:repository:listImmutableRules  | 
       
         -  | 
      
| 
         swr:repository:updateImmutableRule  | 
       
         -  | 
      |
| 
         swr:instance:createRegistry  | 
       
         -  | 
      |
| 
         swr:instance:listRegistries  | 
       
         -  | 
      |
| 
         GET /v2/{project_id}/instances/{instance_id}/registries/{registry_id}  | 
       
         swr:instance:getRegistry  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/registries/{registry_id}  | 
       
         swr:instance:updateRegistry  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/instances/{instance_id}/registries/{registry_id}  | 
       
         swr:instance:deleteRegistry  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/replication/policies  | 
       
         swr:instance:createReplicationPolicy  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/replication/policies  | 
       
         swr:instance:listReplicationPolicies  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}  | 
       
         swr:instance:getReplicationPolicy  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}  | 
       
         swr:instance:updateReplicationPolicy  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}  | 
       
         swr:instance:deleteReplicationPolicy  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/replication/executions  | 
       
         swr:instance:executeReplicationPolicy  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/replication/executions/{execution_id}  | 
       
         swr:instance:stopReplicationPolicyExecution  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/replication/executions  | 
       
         swr:instance:listReplicationPolicyExecutions  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/replication/executions/{execution_id}/tasks  | 
       
         swr:instance:listReplicationPolicyExecTasks  | 
       
         -  | 
      
| 
         swr:instance:listReplicationPolicyExecSubTasks  | 
       
         -  | 
      |
| 
         POST /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies  | 
       
         swr:repository:createSignPolicy  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/signature/policies  | 
       
         swr:repository:listSignPolicies  | 
       
         -  | 
      
| 
         swr:repository:getSignPolicy  | 
       
         -  | 
      |
| 
         swr:repository:updateSignPolicy  | 
       
         -  | 
      |
| 
         swr:repository:deleteSignPolicy  | 
       
         -  | 
      |
| 
         swr:repository:executeSignPolicy  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecutions  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecTasks  | 
       
         -  | 
      |
| 
         swr:repository:listSignPolicyExecSubTasks  | 
       
         -  | 
      |
| 
         PUT /v2/{project_id}/instances/{instance_id}/endpoint-policy  | 
       
         swr:instance:updateEndpointPolicy  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/endpoint-policy  | 
       
         swr:instance:updateEndpointPolicyStatus  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/endpoint-policy  | 
       
         swr:instance:getEndpointPolicy  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/internal-endpoints  | 
       
         swr:instance:createInternalEndpoint  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/internal-endpoints/{internal_endpoints_id}  | 
       
         swr:instance:getInternalEndpoint  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/instances/{instance_id}/internal-endpoints/{internal_endpoints_id}  | 
       
         swr:instance:deleteInternalEndpoint  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/internal-endpoints  | 
       
         swr:instance:listInternalEndpoints  | 
       
         -  | 
      
| 
         -  | 
       
         swr:repository:uploadArtifact  | 
       
         -  | 
      
| 
         -  | 
       
         swr:repository:downloadArtifact  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/temp-credential  | 
       
         swr:instance:createTempCredential  | 
       
         -  | 
      
| 
         POST /v2/{project_id}/instances/{instance_id}/long-term-credential  | 
       
         swr:instance:createLTCredential  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/long-term-credentials/{credential_id}  | 
       
         swr:instance:updateLTCredential  | 
       
         -  | 
      
| 
         GET /v2/{project_id}/instances/{instance_id}/long-term-credentials  | 
       
         swr:instance:listLTCredentials  | 
       
         -  | 
      
| 
         DELETE /v2/{project_id}/instances/{instance_id}/long-term-credentials/{credential_id}  | 
       
         swr:instance:deleteLTCredential  | 
       
         -  | 
      
| 
         swr:instance:addDomainName  | 
       
         scm:cert:export  | 
      |
| 
         DELETE /v2/{project_id}/instances/{instance_id}/domainname/{domainname_id}  | 
       
         swr:instance:deleteDomainName  | 
       
         -  | 
      
| 
         PUT /v2/{project_id}/instances/{instance_id}/domainname/{domainname_id}  | 
       
         swr:instance:updateDomainName  | 
       
         -  | 
      
| 
         swr:instance:listDomainNames  | 
       
         -  | 
      |
| 
         swr:instance:listAllArtifacts  | 
       
         -  | 
      
资源类型(Resource)
资源类型(Resource)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的URN,身份策略仅作用于此资源;如未指定,Resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。
SWR定义了以下可以在自定义身份策略的Resource元素中使用的资源类型。
条件(Condition)
条件键概述
条件(Condition)是身份策略生效的特定条件,包括条件键和运算符。
- 条件键表示身份策略语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。 
     
- 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。
 - 服务级条件键(前缀通常为服务缩写,如swr:)仅适用于对应服务的操作,详情请参见表4。
 - 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
 
 - 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。
 
SWR支持的服务级条件键
SWR定义了以下可以在自定义身份策略的Condition元素中使用的条件键,您可以使用这些条件键进一步细化身份策略语句应用的条件。
| 
         服务级条件键  | 
       
         类型  | 
       
         单值/多值  | 
       
         说明  | 
      
|---|---|---|---|
| 
         swr:VpcId  | 
       
         string  | 
       
         单值  | 
       
         按照用户VPC ID进行权限控制。  | 
      
| 
         swr:SubnetId  | 
       
         string  | 
       
         单值  | 
       
         按照用户Subnet ID进行权限控制。  | 
      
| 
         swr:EnablePublicNameSpace  | 
       
         boolean  | 
       
         单值  | 
       
         限制企业仓库是否允许创公开组织。  | 
      
| 
         swr:EnableObsEncrypt  | 
       
         boolean  | 
       
         单值  | 
       
         限制企业版实例是否必须使用加密桶。  | 
      
| 
         swr:TargetRegion  | 
       
         string  | 
       
         单值  | 
       
         根据目标区域进行权限控制。  | 
      
| 
         swr:SourceRegion  | 
       
         string  | 
       
         单值  | 
       
         根据源区域进行权限控制。  | 
      
| 
         swr:TargetUrls  | 
       
         string  | 
       
         多值  | 
       
         根据目标URL地址进行权限控制。  | 
      
| 
         swr:SourceUrls  | 
       
         string  | 
       
         多值  | 
       
         根据源URL地址进行权限控制。  | 
      
| 
         swr:RepositoryIsPublic  | 
       
         boolean  | 
       
         单值  | 
       
         根据镜像是否为公开镜像进行权限控制。  |