
# 企业注册表策略
#### 操作场景
如果系统预置的企业注册表权限不满足您的授权要求，可以创建策略。策略中可以添加的授权项（Action）请参考[表1]。
目前华为云支持以下两种方式创建策略：
- 可视化视图创建策略：无需了解策略语法，按可视化视图导航栏选择云服务、操作、资源、条件等策略内容，可自动生成策略。
- JSON视图创建策略：可以在选择策略模板后，根据具体需求编辑策略内容；也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见：[创建策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。本章为您介绍常用的企业注册表策略样例。
#### 企业注册表策略样例
- 示例1：用户可以创建、更新、查看、删除命名空间。
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "swr:repository:getNamespace",
                  "swr:repository:listNamespaces",
                  "swr:repository:createNamespace",
                  "swr:repository:updateNamespace",
                  "swr:repository:deleteNamespace"
              ]
          }
      ]
  }
  ```
  
- 示例2： 拒绝策略需要同时配合其他策略使用，否则没有实际作用。用户被授予的策略中，一个授权项的作用如果同时存在Allow和Deny，则遵循**Deny优先原则**。
  如果您给用户授予SWR FullAccess的系统策略，但不希望用户拥有SWR FullAccess中定义的删除注册表权限，您可以创建一条拒绝删除注册表的策略，然后同时将SWR FullAccess和拒绝策略授予用户，根据Deny优先原则，则用户可以对企业注册表执行除了删除注册表外的所有操作。拒绝策略示例如下：
  ```
  {
      "Version": "1.1",
      "Statement": [
          {
              "Effect": "Deny",
              "Action": [
                  "swr:instance:delete"
              ]
          }
      ]
  }
  ```
  
 
#### 企业注册表操作与系统策略关系
 表1企业注册表操作与系统策略关系 
| 操作                                             | Action名称              | SWR FullAccess | SWR OperateAccess | SWR ReadOnlyAccess |
|:---|:---|:---|:---|:---|
| swr:repository:createImmutableRule             | 授予创建企业镜像不可变规则的权限。     | √              | √                 | ×                  |
| swr:repository:deleteImmutableRule             | 授予删除企业镜像不可变规则的权限。     | √              | √                 | ×                  |
| swr:repository:listImmutableRules              | 授予企业获取镜像不可变规则列表的权限。   | √              | √                 | √                  |
| swr:repository:updateImmutableRule             | 授予企业修改镜像不可变规则的权限。     | √              | √                 | ×                  |
| swr:repository:listArtifacts                   | 授予查询制品列表的权限。          | √              | √                 | √                  |
| swr:repository:getArtifact                     | 授予查询制品详情的权限。          | √              | √                 | √                  |
| swr:repository:deleteArtifact                  | 授予删除制品的权限。            | √              | √                 | ×                  |
| swr:repository:listAccessories                 | 授予查询制品附件列表的权限。        | √              | √                 | √                  |
| swr:repository:getArtifactAddition             | 授予查询制品附加信息的权限。        | √              | √                 | √                  |
| swr:instance:getConfigurations                 | 授予查询企业版实例配置的权限。       | √              | √                 | √                  |
| swr:instance:updateConfigurations              | 授予更新企业版实例配置的权限。       | √              | ×                 | ×                  |
| swr:instance:listResourceInstances             | 授予查询资源实例列表的权限。        | √              | √                 | √                  |
| swr:instance:getResourceInstancesCount         | 授予查询资源实例数量的权限。        | √              | √                 | √                  |
| swr:instance:createResourceTags                | 授予批量创建资源标签的权限。        | √              | ×                 | ×                  |
| 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                  | 授予查询命名空间(组织)列表的权限。    | √              | √                 | √                  |
| swr:repository:getNamespace                    | 授予查询命名空间(组织)详情的权限。    | √              | √                 | √                  |
| swr:repository:updateNamespace                 | 授予修改命名空间(组织)的权限。      | √              | √                 | ×                  |
| swr:repository:deleteNamespace                 | 授予删除命名空间(组织)的权限。      | √              | √                 | ×                  |
| swr:repository:listRepositories                | 授予获取制品仓库列表的权限。        | √              | √                 | √                  |
| swr:repository:getRepository                   | 授予获取制品仓库详情的权限。        | √              | √                 | √                  |
| swr:repository:updateRepository                | 授予修改制品仓库配置的权限。        | √              | √                 | ×                  |
| swr:repository:deleteRepository                | 授予删除制品仓库的权限。          | √              | √                 | ×                  |
| swr:repository:listTags                        | 授予查询制品版本列表的权限。        | √              | √                 | √                  |
| swr:repository:getTag                          | 授予查询制品版本详情的权限。        | √              | √                 | √                  |
| swr:repository:deleteTag                       | 授予删除制品版本的权限。          | √              | √                 | ×                  |
| swr:repository:getTagAddition                  | 授予查询制品版本附加信息的权限。      | √              | √                 | √                  |
| swr:repository:createRetentionPolicy           | 授予创建版本清理策略的权限。        | √              | √                 | ×                  |
| swr:repository:listRetentionPolicies           | 授予查询版本清理策略列表的权限。      | √              | √                 | √                  |
| swr:repository:getRetentionPolicy              | 授予查询版本清理策略详情的权限。      | √              | √                 | √                  |
| swr:repository:updateRetentionPolicy           | 授予修改版本清理策略配置的权限。      | √              | √                 | ×                  |
| swr:repository:deleteRetentionPolicy           | 授予删除版本清理策略的权限。        | √              | √                 | ×                  |
| swr:repository:executeRetentionPolicy          | 授予应用版本清理策略的权限。        | √              | √                 | ×                  |
| swr:repository:listRetentionPolicyExecutions   | 授予获取版本清理执行记录列表的权限。    | √              | √                 | √                  |
| swr:repository:listRetentionPolicyExecTasks    | 授予获取版本清理任务列表的权限。      | √              | √                 | √                  |
| swr:repository:listRetentionPolicyExecSubTasks | 授予获取版本清理子任务列表的权限。     | √              | √                 | √                  |
| swr:repository:createWebhook                   | 授予创建触发器的权限。           | √              | √                 | ×                  |
| swr:repository:listWebhooks                    | 授予查询触发器列表的权限。         | √              | √                 | √                  |
| swr:repository:getWebhook                      | 授予查询触发器详情的权限。         | √              | √                 | √                  |
| swr:repository:updateWebhook                   | 授予修改触发器配置的权限。         | √              | √                 | ×                  |
| swr:repository:deleteWebhook                   | 授予删除触发器的权限。           | √              | √                 | ×                  |
| swr:repository:listWebhookJobs                 | 授予获取触发器执行记录列表的权限。     | √              | √                 | √                  |
| swr:instance:createRegistry                    | 授予创建目标仓库的权限。          | √              | ×                 | ×                  |
| swr:instance:listRegistries                    | 授予获取目标仓库列表的权限。        | √              | √                 | √                  |
| swr:instance:getRegistry                       | 授予获取目标仓库详情的权限。        | √              | √                 | √                  |
| swr:instance:updateRegistry                    | 授予修改目标仓库配置的权限。        | √              | ×                 | ×                  |
| swr:instance:deleteRegistry                    | 授予删除目标仓库的权限。          | √              | ×                 | ×                  |
| swr:instance:createReplicationPolicy           | 授予创建复制策略的权限。          | √              | ×                 | ×                  |
| swr:instance:listReplicationPolicies           | 授予查询复制策略列表的权限。        | √              | √                 | √                  |
| swr:instance:getReplicationPolicy              | 授予查询复制策略详情的权限。        | √              | √                 | √                  |
| swr:instance:updateReplicationPolicy           | 授予修改复制策略的权限。          | √              | ×                 | ×                  |
| swr:instance:deleteReplicationPolicy           | 授予删除复制策略的权限。          | √              | ×                 | ×                  |
| swr:instance:executeReplicationPolicy          | 授予应用复制策略的权限。          | √              | √                 | ×                  |
| swr:instance:stopReplicationPolicyExecution    | 授予停止复制任务的权限。          | √              | ×                 | ×                  |
| swr:instance:listReplicationPolicyExecutions   | 授予查询复制记录列表的权限。        | √              | √                 | √                  |
| swr:instance:listReplicationPolicyExecTasks    | 授予查询复制任务列表的权限。        | √              | √                 | √                  |
| swr:instance:listReplicationPolicyExecSubTasks | 授予查询复制子任务列表的权限。       | √              | √                 | √                  |
| swr:repository:createSignPolicy                | 授予创建签名策略的权限。          | √              | ×                 | ×                  |
| swr:repository:listSignPolicies                | 授予查询签名策略列表的权限。        | √              | √                 | √                  |
| swr:repository:getSignPolicy                   | 授予查询签名策略详情的权限。        | √              | √                 | √                  |
| swr:repository:updateSignPolicy                | 授予修改签名策略的权限。          | √              | ×                 | ×                  |
| swr:repository:deleteSignPolicy                | 授予删除签名策略的权限。          | √              | ×                 | ×                  |
| swr:repository:executeSignPolicy               | 授予执行签名策略的权限。          | √              | √                 | ×                  |
| swr:repository:listSignPolicyExecutions        | 授予查询签名执行记录列表的权限。      | √              | √                 | √                  |
| swr:repository:listSignPolicyExecTasks         | 授予查询签名任务列表的权限。        | √              | √                 | √                  |
| swr:repository:listSignPolicyExecSubTasks      | 授予查询签名策略执行记录子任务列表的权限。 | √              | √                 | √                  |
| swr:instance:updateEndpointPolicy              | 授予更新公网访问白名单配置的权限。     | √              | ×                 | ×                  |
| swr:instance:updateEndpointPolicyStatus        | 授予更新公网访问白名单配置状态的权限。   | √              | ×                 | ×                  |
| swr:instance:getEndpointPolicy                 | 授予查询公网访问白名单配置的权限。     | √              | √                 | √                  |
| swr:instance:createInternalEndpoint            | 授予创建内网访问的权限。          | √              | ×                 | ×                  |
| swr:instance:getInternalEndpoint               | 授予获取内网访问的权限。          | √              | √                 | √                  |
| swr:instance:deleteInternalEndpoint            | 授予删除内网访问的权限。          | √              | ×                 | ×                  |
| swr:instance:listInternalEndpoints             | 授予查询内网访问列表的权限。        | √              | √                 | √                  |
| swr:repository:uploadArtifact                  | 授予上传制品的权限。            | √              | √                 | ×                  |
| swr:repository:downloadArtifact                | 授予下载制品的权限。            | √              | √                 | √                  |
| swr:instance:createTempCredential              | 授予创建临时访问凭证的权限。        | √              | √                 | √                  |
| swr:instance:createLTCredential                | 授予创建长期访问凭证的权限。        | √              | ×                 | ×                  |
| swr:instance:updateLTCredential                | 授予启用/停用长期访问凭证的权限。     | √              | ×                 | ×                  |
| swr:instance:listLTCredentials                 | 授予查询长期访问凭证列表的权限。      | √              | √                 | √                  |
| swr:instance:deleteLTCredential                | 授予删除长期访问凭证的权限。        | √              | ×                 | ×                  |
| swr:instance:addDomainName                     | 授予增加域名的权限。            | √              | ×                 | ×                  |
| swr:instance:deleteDomainName                  | 授予删除域名的权限。            | √              | ×                 | ×                  |
| swr:instance:updateDomainName                  | 授予更新域名的权限。            | √              | ×                 | ×                  |
| swr:instance:listDomainNames                   | 授予查询域名列表的权限。          | √              | √                 | √                  |
| swr:repository:listCatalog                     | 授予查询Catalog列表的权限。     | √              | √                 | √                  |
| swr:instance:listAllArtifacts                  | 授予查询仓库实例的所有制品版本列表的权限。 | √              | √                 | √                  |
| swr:repository:getArtifactManifest             | 授予查询制品Manifest信息的权限。  | √              | √                 | ×                  |
| swr:repository:startManualScanning             | 授予手动启动制品扫描的权限。        | √              | √                 | ×                  |
| swr:repository:getArtifactVulnerabilities      | 授予查询制品漏洞信息的权限。        | √              | √                 | √                  |
| swr:instance:listGcTasks                       | 授予查询制品清理任务列表的权限。      | √              | √                 | √                  |
| swr:instance:getGcTask                         | 授予查询制品清理任务详情的权限。      | √              | √                 | √                  |
| swr:instance:stopGcTask                        | 授予停止制品清理任务的权限。        | √              | √                 | ×                  |
| swr:instance:getGcSchedule                     | 授予查询制品清理计划的权限。        | √              | √                 | √                  |
| swr:instance:updateGcSchedule                  | 授予配置制品清理计划的权限。        | √              | √                 | ×                  |
| swr:instance:executeGcSchedule                 | 授予执行制品清理计划的权限。        | √              | √                 | ×                  |
| swr:instance:updateInternalEndpointPermissions | 授予添加或移除内网访问白名单的权限。    | √              | √                 | ×                  |
| swr:instance:listInternalEndpointPermissions   | 授予查询内网访问白名单列表的权限。     | √              | √                 | √                  |
| swr:instance:updateInternalEndpointConnections | 授予允许或拒绝内网访问访问连接的权限。   | √              | √                 | ×                  |
| swr:instance:listInternalEndpointConnections   | 授予查询内网访问连接列表的权限。      | √              | √                 | √                  |
   
