企业仓库策略
操作场景
如果系统预置的企业仓库权限不满足您的授权要求,可以创建策略。策略中可以添加的授权项(Action)请参考表1。
目前华为云支持以下两种方式创建策略:
- 可视化视图创建策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
- JSON视图创建策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建策略。本章为您介绍常用的企业仓库策略样例。
企业仓库策略样例
- 示例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" ] } ] }
企业仓库操作与系统策略关系
操作 | 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:startManualScanning | 授予手动启动制品扫描的权限。 | √ | √ | × |

