更新时间:2024-05-09 GMT+08:00

基于角色与策略授权

如果您需要对您所拥有的容器镜像服务(SWR)进行角色与策略的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:

  • 根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用SWR资源。
  • 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
  • 将SWR资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服务可以根据权限进行代运维。

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

本章节为您介绍对用户授权的方法,操作流程如图1所示。

前提条件

给用户组授权之前,请您了解用户组可以添加的SWR权限,并结合实际需求进行选择,SWR支持的系统权限,请参见:角色与策略权限管理。若您需要对除SWR之外的其他服务授权,IAM支持服务的所有权限请参见授权参考

示例流程

图1 给用户授予SWR权限流程
  1. 创建用户组并授权

    在IAM控制台创建用户组,并授予容器镜像服务的管理员权限“SWR Administrator”

  2. 创建用户并加入用户组

    在IAM控制台创建用户,并将其加入1中创建的用户组。

  3. 用户登录并验证权限

    新创建的用户登录控制台,切换至授权区域,验证权限(如果能顺利完成如下操作,说明权限设置成功):

    1. “服务列表”中选择容器镜像服务,进入SWR主界面。
    2. 在左侧导航栏选择“组织管理”,单击右上角“创建组织”,输入组织名称,能够成功创建组织。
    3. 在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,选择上一步创建的组织,以及一个本地的镜像文件,能够成功上传镜像。

SWR资源

资源是服务中存在的对象。在SWR中,资源包括:组织、镜像,您可以在创建策略时,通过指定资源路径来选择特定资源。

表1 SWR的指定资源与对应路径

指定资源

资源路径

namespace

【格式】

swr:*:*:namespace:组织名称

【说明】

对于组织资源,IAM自动生成资源路径前缀SWR:*:*:namespace:

通过组织名称指定具体的资源路径,支持通配符*。例如:

swr:*:*:namespace:*表示任意组织。

repo

【格式】

swr:*:*:repo:镜像仓库名称

【说明】

对于镜像仓库资源,IAM自动生成资源路径前缀SWR:*:*:repo:

通过镜像仓库名称指定具体的资源路径,支持通配符*。例如:

SWR:*:*:repo:*表示任意镜像仓库。

例1:只允许用户查询镜像仓库概要信息,则可以通过如下方式配置。

{

"Version": "5.0"

"Statement": [

{

"Effect": "Allow",

"Action": [

"swr:repo:getRepo"

],

"Resource": [

"swr:*:*:repo:*"

]

}

]

}

例2:比如说要把cn-north-4下组织source下的镜像test,同步到cn-north-7的组织target下,那么用户需要有cn-north-4创建自动镜像同步任务的权限、要同步的镜像的下载权限,cn-north-4和cn-north-7的获取临时登录指令的权限,以及cn-north-7目前组织的镜像推送权限:

{

"Version": "5.0",

"Statement": [

{

"Effect": "Allow",

"Action": [

"swr:repo:createAutoSyncRepoJob",

"swr:repo:download"

],

"Resource": [

"swr:cn-north-4:*:repo:source/test"

]

},

{

"Effect": "Allow",

"Action": [

"swr:repo:upload"

],

"Resource": [

"swr:cn-north-7:*:repo:target"

]

},

{

"Effect": "Allow",

"Action": [

"swr::createLoginSecret"

]

}

]

}