更新时间:2025-10-20 GMT+08:00
分享

权限管理

如果您需要对华为云上购买的容器镜像服务(SWR)资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。

通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有容器镜像服务(SWR)的使用权限,但是不希望他们拥有删除SWR等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用SWR,但是不允许删除SWR的权限,控制他们对SWR资源的使用范围。

如果华为云账号已经能满足您的使用要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用SWR服务的其他功能。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。

目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。

两者有如下的区别和关系:

表1 两类授权的区别

名称

核心关系

涉及的权限

授权方式

适用场景

角色与策略授权

用户-权限-授权范围

  • 系统角色
  • 系统策略
  • 自定义策略

为主体授予角色或策略

核心关系为“用户-权限-授权范围”,每个用户根据所需权限和所需授权范围进行授权,无法直接给用户授权,需要维护更多的用户组,且支持的条件键较少,难以满足细粒度精确权限控制需求,更适用于对细粒度权限管控要求较低的中小企业用户。

身份策略授权

用户-策略

  • 系统策略
  • 自定义身份策略
  • 为主体授予身份策略
  • 身份策略附加至主体

核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制,新增资源时,对比角色与策略授权,基于身份策略的授权模型可以更快速地直接给用户授权,灵活性更强,更方便,但相对应的,整体权限管控模型构建更加复杂,对相关人员专业能力要求更高,因此更适用于中大型企业。

例如:如果需要对IAM用户授予可以使用华北-北京四区域的SWR和华南-广州区域的SWR的权限,基于角色与策略授权的场景中,管理员需要创建两个自定义策略,并且为IAM用户同时授予这两个自定义策略才可以实现权限控制。在基于身份策略授权的场景中,管理员仅需要创建一个自定义身份策略,在身份策略中通过条件键“g:RequestedRegion”的配置即可达到身份策略对于授权区域的控制。将身份策略附加主体或为主体授予该身份策略即可获得相应权限,权限配置方式更细粒度更灵活。

两种授权场景下的策略/身份策略、授权项等并不互通,推荐使用身份策略进行授权。角色与策略权限管理身份策略权限管理分别介绍两种模型的系统权限。

关于IAM的详细介绍,请参见IAM产品介绍

角色与策略权限管理

SWR服务支持角色与策略授权。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

SWR部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问SWR时,需要先切换至授权区域。

表1所示,包括了SWR的所有系统权限。角色与策略授权场景的系统策略与身份策略授权场景的并不互通。

SWR基础版和企业版的权限是独立的两部分,如需使用基础版功能,请授予表2中基础版对应的系统角色;如需使用企业版功能,请授予表3中企业版对应的系统策略。

SWR基础版权限

表2 SWR基础版系统权限

系统角色/策略名称

描述

类型

SWR Admin

容器镜像服务的管理员权限,拥有该服务下的所有权限。

系统角色

Tenant Administrator

除IAM服务外,其他所有服务的管理员权限,拥有容器镜像服务下的所有权限。

系统角色

ServiceStage Developer

应用管理与运维平台(ServiceStage)开发者,拥有容器镜像服务下载镜像等权限。

系统角色

在容器镜像服务中进行授权管理,可以添加对某个镜像或组织中所有镜像的读取、编辑或管理权限。

SWR企业版权限

表3 SWR企业版权限

系统角色/策略名称

描述

类型

SWR FullAccess

容器镜像服务企业版所有权限

系统策略

SWR OperateAccess

容器镜像服务企业版操作权限,可以查询企业版实例,操作制品仓库、组织,创建临时凭证,上传、下载制品等。

系统策略

SWR ReadOnlyAccess

容器镜像服务企业版只读权限,可以查询制品仓库、Chart,创建临时凭证,下载制品等。

系统策略

SWR FullAccess策略详情

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "swr:*:*"
            ],
            "Effect": "Allow"
        }
    ]
}

SWR OperateAccess策略详情

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "swr:repository:*",
                "swr:chart:*",
                "swr:instance:get*",
                "swr:instance:list*",
                "swr:instance:execute*",
                "swr:instance:createTempCredential"
            ],
            "Effect": "Allow"
        }
    ]
}

SWR ReadOnlyAccess策略详情

{
    "Version": "1.1",
    "Statement": [
        {
            "Action": [
                "swr:*:get*",
                "swr:*:list*",
                "swr:*:download*",
                "swr:instance:createTempCredential"
            ],
            "Effect": "Allow"
        }
    ]
}

表4列出了企业仓库常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。

表4 企业仓库操作与系统策略关系

操作

Action名称

SWR FullAccess

SWR OperateAccess

SWR ReadOnlyAccess

授予查询制品列表的权限

swr:repository:listArtifacts

授予查询制品详情的权限

swr:repository:getArtifact

授予删除制品的权限

swr:repository:deleteArtifact

×

授予查询制品附件列表的权限

swr:repository:listAccessories

授予查询制品附加信息的权限

swr:repository:getArtifactAddition

授予查询企业版实例策略的权限

swr:instance:getPolicy

授予更新企业版实例策略的权限

swr:instance:updatePolicy

×

×

授予查询企业版实例配置的权限

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:repository:createScanPolicy

×

授予查询扫描策略列表的权限

swr:repository:listScanPolicies

授予查询扫描策略详情的权限

swr:repository:getScanPolicy

授予修改扫描策略的权限

swr:repository:updateScanPolicy

×

授予删除扫描策略的权限

swr:repository:deleteScanPolicy

×

授予执行扫描策略的权限

swr:repository:executeScanPolicy

×

授予查询扫描执行记录列表的权限

swr:repository:listScanPolicyExecutions

授予查询扫描任务列表的权限

swr:repository:listScanPolicyExecTasks

授予创建阻断策略的权限

swr:repository:createBlockPolicy

×

授予查询阻断策略列表的权限

swr:repository:listBlockPolicies

授予查询阻断策略详情的权限

swr:repository:getBlockPolicy

授予修改阻断策略配置的权限

swr:repository:updateBlockPolicy

×

授予查询阻断记录列表的权限

swr:repository:listBlockPolicyRecords

授予更新公网访问白名单配置的权限

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服务支持身份策略授权。如下表所示,包括了SWR身份策略中的所有系统身份策略。身份策略授权场景的系统身份策略与角色与策略授权场景的并不互通。

表5 SWR系统身份策略

系统身份策略名称

描述

策略类别

SWRFullAccess

容器镜像服务企业版所有权限

系统身份策略

SWROperateAccess

容器镜像服务企业版操作权限,可以查询企业版实例,操作制品仓库、组织,创建临时凭证,上传、下载制品等。

系统身份策略

SWRReadOnlyAccess

容器镜像服务企业版只读权限,可以查询制品仓库、Chart,创建临时凭证,下载制品等。

系统身份策略

SWRAdmin

容器镜像服务的管理员权限,拥有该服务下的所有权限。

系统身份策略

相关链接

相关文档