企业仓库策略
操作场景
如果系统预置的企业仓库权限不满足您的授权要求,可以创建策略。策略中可以添加的授权项(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 |
授予手动启动制品扫描的权限。 |
√ |
√ |
× |