全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

基于IAM权限访问控制

最近更新时间:2022-06-15 17:47:19

容器镜像服务KCR结合IAM管理访问权限能力,为您提供KCR授权管理功能。在该模式下,您可对KCR资源进行细颗粒度的权限访问控制,允许给单个用户或一组用户分配不同的资源及操作权限。
当用户访问容器镜像服务API时,容器镜像服务KCR会向IAM进行权限校验,以确保访问者拥有相应的权限。通过比对容器镜像服务API是否可以进行资源鉴权,KCR访问权限控制分为两种情形:非资源鉴权资源鉴权

非资源鉴权

非资源鉴权指的是能够指定允许用户是否可以对容器镜像服务API进行相关操作的能力。每个API的鉴权规则如下表所示:

API名称 鉴权Action 鉴权Resource
kcrs:CreateInstance创建实例 kcrs:CreateInstance *
kcrs:DescribeInstance查询实例信息 kcrs:DescribeInstance *
kcrs:DescribeInstanceUsage查询实例配额 kcrs:DescribeInstanceUsage *
kcrs:DescribeNamespace查询命名空间 kcrs:DescribeNamespace *
kcrs:DescribeNamespaceExist查询命名空间是否存在 kcrs:DescribeNamespaceExist *
kcrs:DescribeRepository查询镜像仓库信息 kcrs:DescribeRepository *
kcrs:StartImageScan镜像安全扫描 kcrs:StartImageScan *
kcrs:DescribeImageScan获取镜像安全扫描结果 kcrs:DescribeImageScan *

资源鉴权

资源级权限指的是能够指定允许用户对哪些资源具有执行操作的能力。容器镜像服务支持基于IAM 的资源级访问控制,控制颗粒度可至仓库级,即用户可通过配置IAM 策略实现授权子用户仅能够操作指定资源。

资源类型

通过IAM进行授权,指定允许用户对哪些资源具有执行操作的能力。

资源类型 授权策略中的资源描述
实例 krn:ksc:kcrs:region:account-id:instance/*
krn:ksc:kcrs:region:account-id:instance/instanceid
命名空间 krn:ksc:kcrs:region:account-id:namespace/instanceid/*
krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
镜像仓库 krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/*
krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository

注:斜体需要被替换为实际值。

参数说明:

参数说明 说明
region 地域信息,例如cn-beijing-6代表北京地域,所有地域可用*代替
account-id 账号ID,可用*代替
instanceid 容器镜像服务实例ID,所有实例可用*代替
namespacename 容器镜像服务命名空间名称,所有命名空间可用*代替
repositoryname 容器镜像服务镜像仓库名称,所有镜像仓库可用*代替

资源规则

每个API的鉴权规则如下表所示:
实例级别相关接口

API名称 鉴权Action 鉴权Resource
DeleteInstance删除实例 kcrs:DeleteInstance krn:ksc:kcrs:region:account-id:instance/instanceid
CreateInstanceToken创建实例访问凭证 kcrs:CreateInstanceToken krn:ksc:kcrs:region:account-id:instance/instanceid
ModifyInstanceTokenStatus修改访问凭证启用状态 kcrs:ModifyInstanceTokenStatus krn:ksc:kcrs:region:account-id:instance/instanceid
ModifyInstanceTokenInformation修改访问凭证信息 kcrs:ModifyInstanceTokenInformation krn:ksc:kcrs:region:account-id:instance/instanceid
DescribeInstanceToken查询访问凭证列表 kcrs:DescribeInstanceToken krn:ksc:kcrs:region:account-id:instance/instanceid
DeleteInstanceToken删除访问凭证 kcrs:DeleteInstanceToken krn:ksc:kcrs:region:account-id:instance/instanceid
CreateInternalEndpoint创建实例内网访问VPC链接 kcrs:CreateInternalEndpoint krn:ksc:kcrs:region:account-id:instance/instanceid
DescribeInternalEndpoint查询实例内网访问VPC链接 kcrs:DescribeInternalEndpoint krn:ksc:kcrs:region:account-id:instance/instanceid
DeleteInternalEndpoint删除实例内网访问VPC链接 kcrs:DeleteInternalEndpoint krn:ksc:kcrs:region:account-id:instance/instanceid
CreateInternalEndpointDns创建实例私有域名解析 kcrs:CreateInternalEndpointDns krn:ksc:kcrs:region:account-id:instance/instanceid
DescribeInternalEndpointDns查询实例私有域名解析 kcrs:DescribeInternalEndpointDns krn:ksc:kcrs:region:account-id:instance/instanceid
DeleteInternalEndpointDns删除实例私有域名解析 kcrs:DeleteInternalEndpointDns krn:ksc:kcrs:region:account-id:instance/instanceid

注:若您需要指定用户授予内网访问控制相关权限时,因会查询您VPC列表,故需要您同时为该用户配置vpc:Describe*鉴权ACtion。

命名空间级别相关接口

API名称 鉴权Action 鉴权Resource
CreateNamespace创建命名空间 kcrs:CreateNamespace krn:ksc:kcrs:region:account-id:namespace/instanceid/*
ModifyNamespaceType修改命名空间属性 kcrs:ModifyNamespaceType krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
DeleteNamespace删除命名空间 kcrs:DeleteNamespace krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
CreateWebhookTrigger创建触发器 kcrs:CreateWebhookTrigger krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
DescribeWebhookTrigger查询触发器 kcrs:DescribeWebhookTrigger krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
ModifyWebhookTrigger修改触发器 kcrs:ModifyWebhookTrigger krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
DescribeWebhookTriggerLog查询触发器日志 kcrs:DescribeWebhookTriggerLog krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace
DeleteWebhookTrigger删除触发器 kcrs:DeleteWebhookTrigger krn:ksc:kcrs:region:account-id:namespace/instanceid/namespace

镜像仓库级别相关接口

API名称 鉴权Action 鉴权Resource
DeleteRepository删除镜像仓库 kcrs:DeleteRepository krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
ModifyRepoDesc修改镜像仓库描述信息 kcrs:ModifyRepoDesc krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
DescribeImages查询镜像列表 kcrs:DescribeImages krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
DeleteImages删除镜像 kcrs:DeleteImages krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
DeleteRepoTag删除镜像Tag kcrs:DeleteRepoTag krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
PullRepository拉镜像 kcrs:PullRepository krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository
PushRepository推镜像 kcrs:PushRepository krn:ksc:kcrs:region:account-id:repository/instanceid/namespace/repository

注:因Docker中Push镜像和Pull镜像操作耦合,故您授予PushRepository权限时需同步授予PullRepository权限。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈