更新时间:2025-12-30 gmt 08:00

企业版-j9九游会登录

云服务在iam预置了常用的权限,称为系统身份策略。如果iam系统身份策略无法满足授权要求,管理员可以根据各j9九游会登录的服务支持的授权项,创建iam自定义身份策略来进行精细的访问控制,iam自定义身份策略是对系统身份策略的扩展和补充。

除iam服务外,organizations服务中的服务控制策略(service control policy,以下简称scp)也可以使用这些授权项元素设置访问控制策略。

scp不直接进行授权,只划定权限边界。将scp绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。iam身份策略授予权限的有效性受scp限制,只有在scp允许范围内的权限才能生效。

iam服务与organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:iam服务与organizations服务权限访问控制的区别

本章节介绍iam服务身份策略授权场景中自定义身份策略和组织服务中scp使用的元素,这些元素包含了操作(action)、资源(resource)和条件(condition)。

操作(action)

操作(action)即为身份策略中支持的授权项。

  • “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的urn。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于swr定义的资源类型的详细信息请参见资源类型(resource)

  • “条件键”列包括了可以在身份策略语句的condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于swr定义的条件键的详细信息请参见条件(condition)

  • “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的api访问。详细信息请参见身份策略兼容性说明

您可以在身份策略语句的action元素中指定以下swr的相关操作。

表1 swr支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

swr:repository:createimmutablerule

授予创建企业仓库镜像不可变规则的权限。

write

repository *

-

swr:repository:deleteimmutablerule

授予删除企业仓库镜像不可变规则的权限。

write

repository *

-

swr:repository:listimmutablerules

授予企业仓库获取镜像不可变规则列表的权限。

list

repository *

-

swr:repository:updateimmutablerule

授予企业仓库修改镜像不可变规则的权限。

write

repository *

-

swr:repository:listartifacts

授予查询制品列表的权限。

list

repository *

-

swr:repository:getartifact

授予查询制品详情的权限。

read

repository *

-

swr:repository:deleteartifact

授予删除制品的权限。

write

repository *

-

swr:repository:listaccessories

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

list

repository *

-

swr:repository:getartifactaddition

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

read

repository *

-

swr:instance:getconfigurations

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

read

instance *

-

swr:instance:updateconfigurations

授予更新企业版实例配置的权限。

write

instance *

-

swr:instance:listresourceinstances

授予授予查询资源实例列表的权限。

list

instance *

-

-

-

-

swr:instance:getresourceinstancescount

授予授予查询资源实例数量的权限。

read

instance *

-

-

-

-

swr:instance:createresourcetags

授予批量创建资源标签的权限。

tagging

instance *

-

-

-

swr:instance:deleteresourcetags

授予批量删除资源标签的权限。

tagging

instance *

-

-

-

swr:instance:getprojecttags

授予查询项目标签的权限。

read

-

-

-

swr:instance:getresourcetags

授予查询资源标签的权限。

read

instance *

-

swr:instance:create

授予创建企业版实例的权限。

write

instance *

-

-

-

-

swr:instance:list

授予查询企业版实例列表信息的权限。

list

instance *

-

-

swr:instance:get

授予查询企业版实例信息的权限。

read

instance *

-

swr:instance:delete

授予删除企业版实例的权限。

write

instance *

-

swr:instance:getauditlogs

授予查询企业版实例审计日志的权限。

read

instance *

-

swr:instance:getstatistics

授予查询企业版实例统计信息的权限。

read

instance *

-

swr:instance:listjobs

授予查询任务列表的权限。

list

instance *

-

-

swr:instance:getjobs

授予查询任务详情的权限。

read

instance *

-

-

swr:instance:deletejob

授予删除任务的权限。

write

instance *

-

-

swr:repository:createnamespace

授予创建命名空间(组织)的权限。

write

repository *

-

-

swr:enablepublicnamespace

-

swr:repository:listnamespaces

授予查询命名空间(组织)列表的权限。

list

repository *

-

swr:repository:getnamespace

授予查询命名空间(组织)详情的权限。

read

repository *

-

swr:repository:updatenamespace

授予修改命名空间(组织)的权限。

write

repository *

-

-

swr:enablepublicnamespace

-

swr:repository:deletenamespace

授予删除命名空间(组织)的权限。

write

repository *

-

swr:repository:listrepositories

授予获取制品仓库列表的权限。

list

repository *

-

swr:repository:getrepository

授予获取制品仓库详情的权限。

read

repository *

-

swr:repository:updaterepository

授予修改制品仓库配置的权限。

write

repository *

-

swr:repository:deleterepository

授予删除制品仓库的权限。

write

repository *

-

swr:repository:listtags

授予查询制品版本列表的权限。

list

repository *

-

swr:repository:gettag

授予查询制品版本详情的权限。

read

repository *

-

swr:repository:deletetag

授予删除制品版本的权限。

write

repository *

-

swr:repository:gettagaddition

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

read

repository *

-

swr:repository:createretentionpolicy

授予创建版本清理策略的权限。

write

repository *

-

swr:repository:listretentionpolicies

授予查询版本清理策略列表的权限。

list

repository *

-

swr:repository:getretentionpolicy

授予查询版本清理策略详情的权限。

read

repository *

-

swr:repository:updateretentionpolicy

授予修改版本清理策略配置的权限。

write

repository *

-

swr:repository:deleteretentionpolicy

授予删除版本清理策略的权限。

write

repository *

-

swr:repository:executeretentionpolicy

授予应用版本清理策略的权限。

write

repository *

-

swr:repository:listretentionpolicyexecutions

授予获取版本清理执行记录列表的权限。

list

repository *

-

swr:repository:listretentionpolicyexectasks

授予获取版本清理任务列表的权限。

list

repository *

-

swr:repository:listretentionpolicyexecsubtasks

授予获取版本清理子任务列表的权限。

list

repository *

-

swr:repository:createwebhook

授予创建触发器的权限。

write

repository *

-

swr:repository:listwebhooks

授予查询触发器列表的权限。

list

repository *

-

swr:repository:getwebhook

授予查询触发器详情的权限。

read

repository *

-

swr:repository:updatewebhook

授予修改触发器配置的权限。

write

repository *

-

swr:repository:deletewebhook

授予删除触发器的权限。

write

repository *

-

swr:repository:listwebhookjobs

授予获取触发器执行记录列表的权限。

list

repository *

-

swr:instance:createregistry

授予创建目标仓库的权限。

write

instance *

-

swr:instance:listregistries

授予获取目标仓库列表的权限。

list

instance *

-

swr:instance:getregistry

授予获取目标仓库详情的权限。

read

instance *

-

swr:instance:updateregistry

授予修改目标仓库配置的权限。

write

instance *

-

swr:instance:deleteregistry

授予删除目标仓库的权限。

write

instance *

-

swr:instance:createreplicationpolicy

授予创建复制策略的权限。

write

instance *

-

swr:instance:listreplicationpolicies

授予查询复制策略列表的权限。

list

instance *

-

swr:instance:getreplicationpolicy

授予查询复制策略详情的权限。

read

instance *

-

swr:instance:updatereplicationpolicy

授予修改复制策略的权限。

write

instance *

-

swr:instance:deletereplicationpolicy

授予删除复制策略的权限。

write

instance *

-

swr:instance:executereplicationpolicy

授予应用复制策略的权限。

write

instance *

-

swr:instance:stopreplicationpolicyexecution

授予停止复制任务的权限。

write

instance *

-

swr:instance:listreplicationpolicyexecutions

授予查询复制记录列表的权限。

list

instance *

-

swr:instance:listreplicationpolicyexectasks

授予查询复制任务列表的权限。

list

instance *

-

swr:instance:listreplicationpolicyexecsubtasks

授予查询复制子任务列表的权限。

list

instance *

-

swr:repository:createsignpolicy

授予创建签名策略的权限。

write

repository *

-

swr:repository:listsignpolicies

授予查询签名策略列表的权限。

list

repository *

-

swr:repository:getsignpolicy

授予查询签名策略详情的权限。

read

repository *

-

swr:repository:updatesignpolicy

授予修改签名策略的权限。

write

repository *

-

swr:repository:deletesignpolicy

授予删除签名策略的权限。

write

repository *

-

swr:repository:executesignpolicy

授予执行签名策略的权限。

write

repository *

-

swr:repository:listsignpolicyexecutions

授予查询签名执行记录列表的权限。

list

repository *

-

swr:repository:listsignpolicyexectasks

授予查询签名任务列表的权限。

list

repository *

-

swr:repository:listsignpolicyexecsubtasks

授予查询签名策略执行记录子任务列表的权限。

list

repository *

-

swr:instance:updateendpointpolicy

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

write

instance *

-

swr:instance:updateendpointpolicystatus

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

write

instance *

-

swr:instance:getendpointpolicy

授予查询公网访问白名单配置的权限。

read

instance *

-

swr:instance:createinternalendpoint

授予创建内网访问的权限。

write

instance *

-

-

-

swr:instance:getinternalendpoint

授予获取内网访问的权限。

read

instance *

-

swr:instance:deleteinternalendpoint

授予删除内网访问的权限。

write

instance *

-

swr:instance:listinternalendpoints

授予查询内网访问列表的权限。

list

instance *

-

swr:repository:uploadartifact

授予上传制品的权限。

write

repository *

-

swr:repository:downloadartifact

授予下载制品的权限。

read

repository *

-

swr:instance:createtempcredential

授予创建临时访问凭证的权限。

write

instance *

-

swr:instance:createltcredential

授予创建长期访问凭证的权限。

write

instance *

-

swr:instance:updateltcredential

授予启用/停用长期访问凭证的权限。

write

instance *

-

swr:instance:listltcredentials

授予查询长期访问凭证列表的权限。

list

instance *

-

swr:instance:deleteltcredential

授予删除长期访问凭证的权限。

write

instance *

-

swr:instance:adddomainname

授予增加域名的权限。

write

instance *

-

swr:instance:deletedomainname

授予删除域名的权限。

write

instance *

-

swr:instance:updatedomainname

授予更新域名的权限。

write

instance *

-

swr:instance:listdomainnames

授予查询域名列表的权限。

list

instance *

-

swr:repository:listcatalog

授予查询catalog列表的权限。

list

repository *

-

swr:instance:listallartifacts

授予查询仓库实例的所有制品版本列表的权限。

list

instance *

-

swr:repository:startmanualscanning

授予手动启动制品扫描的权限。

write

repository *

-

swr的api通常对应着一个或多个授权项。表2展示了api与授权项的关系,以及该api需要依赖的授权项。

表2 api与授权项的关系

api

对应的授权项

依赖的授权项

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts

swr:repository:listartifacts

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}

swr:repository:getartifact

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}

swr:repository:deleteartifact

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}/accessories

swr:repository:listaccessories

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}

swr:repository:getartifactaddition

-

get /v2/{project_id}/instances/{instance_id}/configurations

swr:instance:getconfigurations

-

put /v2/{project_id}/instances/{instance_id}/configurations

swr:instance:updateconfigurations

-

post /v2/{project_id}/{resource_type}/resource-instances/filter

swr:instance:listresourceinstances

-

post /v2/{project_id}/{resource_type}/resource-instances/count

swr:instance:getresourceinstancescount

-

post /v2/{project_id}/{resource_type}/{resource_id}/tags/create

swr:instance:createresourcetags

-

delete /v2/{project_id}/{resource_type}/{resource_id}/tags/delete

swr:instance:deleteresourcetags

-

get /v2/{project_id}/instances/tags

swr:instance:getprojecttags

-

get /v2/{project_id}/{resource_type}/{resource_id}/tags

swr:instance:getresourcetags

-

post /v2/{project_id}/instances

swr:instance:create

-

get /v2/{project_id}/instances

swr:instance:list

-

get /v2/{project_id}/instances/{instance_id}

swr:instance:get

-

delete /v2/{project_id}/instances/{instance_id}

swr:instance:delete

-

get /v2/{project_id}/instances/{instance_id}/audit-logs

swr:instance:getauditlogs

-

get /v2/{project_id}/instances/{instance_id}/statistics

swr:instance:getstatistics

-

get /v2/{project_id}/jobs

swr:instance:listjobs

-

delete /v2/{project_id}/jobs/{job_id}

swr:instance:deletejob

-

post /v2/{project_id}/instances/{instance_id}/namespaces

swr:repository:createnamespace

-

get /v2/{project_id}/instances/{instance_id}/namespaces

swr:repository:listnamespaces

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}

swr:repository:getnamespace

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}

swr:repository:updatenamespace

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}

swr:repository:deletenamespace

-

get /v2/{project_id}/instances/{instance_id}/repositories

swr:repository:listrepositories

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}

swr:repository:getrepository

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}

swr:repository:updaterepository

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}

swr:repository:deleterepository

-

get /v2/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/tags

swr:repository:listtags

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}

swr:repository:gettagaddition

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies

swr:repository:createretentionpolicy

-

get /v2/{project_id}/instances/{instance_id}/retention/policies

swr:repository:listretentionpolicies

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}

swr:repository:getretentionpolicy

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}

swr:repository:updateretentionpolicy

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}

swr:repository:deleteretentionpolicy

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}/executions

swr:repository:executeretentionpolicy

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}/executions

swr:repository:listretentionpolicyexecutions

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}/executions/{execution_id}/tasks

swr:repository:listretentionpolicyexectasks

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/retention/policies/{policy_id}/executions/{execution_id}/tasks/{task_id}/subtasks

swr:repository:listretentionpolicyexecsubtasks

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies

swr:repository:createwebhook

-

get /v2/{project_id}/instances/{instance_id}/webhook/policies

swr:repository:listwebhooks

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies/{policy_id}

swr:repository:getwebhook

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies/{policy_id}

swr:repository:updatewebhook

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies/{policy_id}

swr:repository:deletewebhook

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/webhook/policies/{policy_id}/jobs

swr:repository:listwebhookjobs

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/immutabletagrules

swr:repository:createimmutablerule

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/immutabletagrules/{immutable_rule_id}

swr:repository:deleteimmutablerule

-

get /v2/{project_id}/instances/{instance_id}/immutabletagrules

swr:repository:listimmutablerules

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/immutabletagrules/{immutable_rule_id}

swr:repository:updateimmutablerule

-

post /v2/{project_id}/instances/{instance_id}/registries

swr:instance:createregistry

-

get /v2/{project_id}/instances/{instance_id}/registries

swr:instance:listregistries

-

get /v2/{project_id}/instances/{instance_id}/registries/{registry_id}

swr:instance:getregistry

-

put /v2/{project_id}/instances/{instance_id}/registries/{registry_id}

swr:instance:updateregistry

-

delete /v2/{project_id}/instances/{instance_id}/registries/{registry_id}

swr:instance:deleteregistry

-

post /v2/{project_id}/instances/{instance_id}/replication/policies

swr:instance:createreplicationpolicy

-

get /v2/{project_id}/instances/{instance_id}/replication/policies

swr:instance:listreplicationpolicies

-

get /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}

swr:instance:getreplicationpolicy

-

put /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}

swr:instance:updatereplicationpolicy

-

delete /v2/{project_id}/instances/{instance_id}/replication/policies/{policy_id}

swr:instance:deletereplicationpolicy

-

post /v2/{project_id}/instances/{instance_id}/replication/executions

swr:instance:executereplicationpolicy

-

put /v2/{project_id}/instances/{instance_id}/replication/executions/{execution_id}

swr:instance:stopreplicationpolicyexecution

-

get /v2/{project_id}/instances/{instance_id}/replication/executions

swr:instance:listreplicationpolicyexecutions

-

get /v2/{project_id}/instances/{instance_id}/replication/executions/{execution_id}/tasks

swr:instance:listreplicationpolicyexectasks

-

get /v2/{project_id}/instances/{instance_id}/replication/executions/{execution_id}/tasks/{task_id}/subtasks

swr:instance:listreplicationpolicyexecsubtasks

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies

swr:repository:createsignpolicy

-

get /v2/{project_id}/instances/{instance_id}/signature/policies

swr:repository:listsignpolicies

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}

swr:repository:getsignpolicy

-

put /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}

swr:repository:updatesignpolicy

-

delete /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}

swr:repository:deletesignpolicy

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}/executions

swr:repository:executesignpolicy

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}/executions

swr:repository:listsignpolicyexecutions

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}/executions/{execution_id}/tasks

swr:repository:listsignpolicyexectasks

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/signature/policies/{policy_id}/executions/{execution_id}/tasks/{task_id}/subtasks

swr:repository:listsignpolicyexecsubtasks

-

put /v2/{project_id}/instances/{instance_id}/endpoint-policy

swr:instance:updateendpointpolicy

-

post /v2/{project_id}/instances/{instance_id}/endpoint-policy

swr:instance:updateendpointpolicystatus

-

get /v2/{project_id}/instances/{instance_id}/endpoint-policy

swr:instance:getendpointpolicy

-

post /v2/{project_id}/instances/{instance_id}/internal-endpoints

swr:instance:createinternalendpoint

-

get /v2/{project_id}/instances/{instance_id}/internal-endpoints/{internal_endpoints_id}

swr:instance:getinternalendpoint

-

delete /v2/{project_id}/instances/{instance_id}/internal-endpoints/{internal_endpoints_id}

swr:instance:deleteinternalendpoint

-

get /v2/{project_id}/instances/{instance_id}/internal-endpoints

swr:instance:listinternalendpoints

-

post /v2/{project_id}/instances/{instance_id}/temp-credential

swr:instance:createtempcredential

-

post /v2/{project_id}/instances/{instance_id}/long-term-credential

swr:instance:createltcredential

-

put /v2/{project_id}/instances/{instance_id}/long-term-credentials/{credential_id}

swr:instance:updateltcredential

-

get /v2/{project_id}/instances/{instance_id}/long-term-credentials

swr:instance:listltcredentials

-

delete /v2/{project_id}/instances/{instance_id}/long-term-credentials/{credential_id}

swr:instance:deleteltcredential

-

post /v2/{project_id}/instances/{instance_id}/domainname

swr:instance:adddomainname

scm:cert:export

delete /v2/{project_id}/instances/{instance_id}/domainname/{domainname_id}

swr:instance:deletedomainname

-

put /v2/{project_id}/instances/{instance_id}/domainname/{domainname_id}

swr:instance:updatedomainname

-

get /v2/{project_id}/instances/{instance_id}/domainname

swr:instance:listdomainnames

-

get /v2/{project_id}/instances/{instance_id}/artifacts

swr:instance:listallartifacts

-

post /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}/scan

swr:repository:startmanualscanning

-

get /v2/{project_id}/instances/{instance_id}/namespaces/{namespace_name}/repositories/{repository_name}/artifacts/{reference}/vulnerabilities

swr:repository:listartifactvulnerabilities

-

资源类型(resource)

资源类型(resource)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的urn,身份策略仅作用于此资源;如未指定,resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。

swr定义了以下可以在自定义身份策略的resource元素中使用的资源类型。

表3 swr支持的资源类型

资源类型

urn

repository

swr:::repository:/

instance

swr:::instance:

条件(condition)

条件键概述

条件(condition)是身份策略生效的特定条件,包括条件键运算符

  • 条件键表示身份策略语句的condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
    • 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键
    • 服务级条件键(前缀通常为服务缩写,如swr:)仅适用于对应服务的操作,详情请参见表4
    • 单值/多值表示api调用时请求中与条件关联的值数。单值条件键在api调用时的请求中最多包含一个值,多值条件键在api调用时请求可以包含多个值。例如:g:sourcevpce是单值条件键,表示仅允许通过某个vpc终端节点发起请求访问某资源,一个请求最多包含一个vpc终端节点id值。g:tagkeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用api请求时传入标签可以传入多个值。
  • 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。支持的运算符请参见:运算符

swr支持的服务级条件键

swr定义了以下可以在自定义身份策略的condition元素中使用的条件键,您可以使用这些条件键进一步细化身份策略语句应用的条件。

表4 swr支持的服务级条件键

服务级条件键

类型

单值/多值

说明

swr:vpcid

string

单值

按照用户vpc id进行权限控制。

swr:subnetid

string

单值

按照用户subnet id进行权限控制。

swr:enablepublicnamespace

boolean

单值

限制企业仓库是否允许创公开组织。

swr:enableobsencrypt

boolean

单值

限制企业版实例是否必须使用加密桶。

swr:targetregion

string

单值

根据目标区域进行权限控制。

swr:sourceregion

string

单值

根据源区域进行权限控制。

swr:targeturls

string

多值

根据目标url地址进行权限控制。

swr:sourceurls

string

多值

根据源url地址进行权限控制。

swr:repositoryispublic

boolean

单值

根据镜像是否为公开镜像进行权限控制。

相关文档

网站地图