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

nat网关 nat-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。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

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

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

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

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

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

表1 nat支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

nat:privatenatgateways:list

授予权限以查询私网nat网关列表。

list

privategateway *

g:enterpriseprojectid

-

nat:privatenatgateways:create

授予权限以创建私网nat网关。

write

privategateway *

-

-

subnet *

-

-

nat:privatenatgateways:delete

授予权限以删除指定的私网nat网关。

write

privategateway *

-

nat:privatenatgateways:get

授予权限以查询指定的私网nat网关。

read

privategateway *

-

nat:privatenatgateways:update

授予权限以更新指定的私网nat网关。

write

privategateway *

-

nat:privatenatdnatrules:list

授予权限以查询私网nat网关dnat规则列表。

list

privatednatrule *

g:enterpriseprojectid

-

nat:privatenatdnatrules:create

授予权限以创建私网nat网关dnat规则。

write

privategateway *

g:resourcetag/

-

privatednatrule *

-

privatetransitip *

g:resourcetag/

port

-

-

g:enterpriseprojectid

nat:privatenatdnatrules:delete

授予权限以删除指定的私网nat网关dnat规则。

write

privategateway *

-

privatednatrule *

g:enterpriseprojectid

nat:privatenatdnatrules:get

授予权限以查询指定的私网nat网关dnat规则。

read

privategateway *

-

privatednatrule *

g:enterpriseprojectid

nat:privatenatdnatrules:update

授予权限以更新指定的私网nat网关dnat规则。

write

privategateway *

g:resourcetag/

-

privatednatrule *

-

privatetransitip

g:resourcetag/

port

-

-

g:enterpriseprojectid

nat:privatenatsnatrules:list

授予权限以查询私网nat网关snat规则列表。

list

privatesnatrule *

g:enterpriseprojectid

-

nat:privatenatsnatrules:create

授予权限以创建私网nat网关snat规则。

write

privategateway *

g:resourcetag/

-

privatesnatrule *

-

privatetransitip *

g:resourcetag/

subnet

-

-

g:enterpriseprojectid

nat:privatenatsnatrules:delete

授予权限以删除指定的私网nat网关snat规则。

write

privategateway *

-

privatesnatrule *

g:enterpriseprojectid

nat:privatenatsnatrules:get

授予权限以查询指定的私网nat网关snat规则。

read

privategateway *

-

privatesnatrule *

g:enterpriseprojectid

nat:privatenatsnatrules:update

授予权限以更新指定的私网nat网关snat规则。

write

privategateway *

g:resourcetag/

-

privatesnatrule *

-

privatetransitip

g:resourcetag/

-

g:enterpriseprojectid

nat:privatenattransitips:list

授予权限以查询私网nat中转ip地址列表。

list

privatetransitip *

g:enterpriseprojectid

  • nat:transitips:list

nat:privatenattransitips:create

授予权限以创建私网nat中转ip地址。

write

privatetransitip *

-

  • nat:transitips:create

subnet

g:resourcetag/

-

nat:privatenattransitips:delete

授予权限以删除指定的私网nat中转ip地址。

write

privatetransitip *

  • nat:transitips:delete

nat:privatenattransitips:get

授予权限以查询指定的私网nat中转ip地址。

read

privatetransitip *

  • nat:transitips:get

nat:transitsubnets:list

授予权限以查询中转子网列表。

list

transitsubnet *

-

-

nat:transitsubnets:create

授予权限以创建中转子网。

write

transitsubnet *

-

-

subnet *

-

-

nat:transitsubnets:delete

授予权限以删除指定的中转子网。

write

transitsubnet *

g:resourcetag/

-

nat:transitsubnets:get

授予权限以查询指定的中转子网。

read

transitsubnet *

g:resourcetag/

-

nat:transitsubnets:update

授予权限以更新指定的中转子网。

write

transitsubnet *

g:resourcetag/

-

nat:privatenatgateways:createtags

授予权限以创建私网nat网关标签。

tagging

privategateway *

  • nat:privatenatgatewaytags:create

-

nat:privatenatgateways:deletetags

授予权限以删除指定的私网nat网关标签。

tagging

privategateway *

  • nat:privatenatgatewaytags:delete

-

nat:privatenatgateways:listtags

授予权限以查询私网nat网关标签。

list

privategateway

  • nat:privatenatgatewaytags:list

nat:privatenattransitips:createtags

授予权限以创建私网nat中转ip标签。

tagging

privatetransitip *

  • nat:transitiptags:create

-

nat:privatenattransitips:deletetags

授予权限以删除指定的私网nat中转ip标签。

tagging

privatetransitip *

  • nat:transitiptags:delete

-

nat:privatenattransitips:listtags

授予权限以查询私网nat中转ip标签。

list

privatetransitip

  • nat:transitiptags:list

nat:transitsubnets:createtags

授予权限以创建中转子网标签。

tagging

transitsubnet *

g:resourcetag/

  • nat:transitsubnettags:create

-

nat:transitsubnets:deletetags

授予权限以删除指定的中转子网标签。

tagging

transitsubnet *

g:resourcetag/

  • nat:transitsubnettags:delete

-

nat:transitsubnets:listtags

授予权限以查询中转子网标签。

list

transitsubnet

g:resourcetag/

  • nat:transitsubnettags:list

nat:natgateways:list

授予权限以查询公网nat网关列表。

list

gateway *

g:enterpriseprojectid

-

nat:natgateways:create

授予权限以创建公网nat网关。

write

gateway *

-

-

vpc *

-

subnet *

-

-

nat:natgateways:delete

授予权限以删除指定的公网nat网关。

write

gateway *

-

nat:natgateways:get

授予权限以查询指定的公网nat网关。

read

gateway *

-

nat:natgateways:update

授予权限以更新指定的公网nat网关。

write

gateway *

-

nat:dnatrules:list

授予权限以查询公网nat网关dnat规则列表。

list

dnatrule *

g:enterpriseprojectid

-

nat:dnatrules:create

授予权限以创建公网nat网关dnat规则。

write

gateway *

g:resourcetag/

-

dnatrule *

-

publicip

-

globaleip

-

port

-

-

g:enterpriseprojectid

nat:dnatrules:get

授予权限以查询指定的公网nat网关dnat规则。

read

gateway *

-

dnatrule *

g:enterpriseprojectid

nat:dnatrules:update

授予权限以更新指定的公网nat网关dnat规则。

write

gateway *

g:resourcetag/

-

dnatrule *

-

publicip

-

globaleip

-

port

-

-

g:enterpriseprojectid

nat:dnatrules:delete

授予权限以删除指定的公网nat网关dnat规则。

write

gateway *

-

dnatrule *

g:enterpriseprojectid

nat:snatrules:list

授予权限以查询公网nat网关snat规则列表。

list

snatrule *

g:enterpriseprojectid

-

nat:snatrules:create

授予权限以创建公网nat网关snat规则。

write

gateway *

g:resourcetag/

-

snatrule *

-

publicip

-

globaleip

-

subnet

-

-

g:enterpriseprojectid

nat:snatrules:get

授予权限以查询指定的公网nat网关snat规则。

read

gateway *

-

snatrule *

g:enterpriseprojectid

nat:snatrules:update

授予权限以更新指定的公网nat网关snat规则。

write

gateway *

g:resourcetag/

-

snatrule *

-

publicip

-

globaleip

-

-

g:enterpriseprojectid

nat:snatrules:delete

授予权限以删除指定的公网nat网关snat规则。

write

gateway *

-

snatrule *

g:enterpriseprojectid

nat:natgateways:createtags

授予权限以创建公网nat网关标签。

tagging

gateway *

  • nat:natgatewaytags:create

-

nat:natgateways:deletetags

授予权限以删除指定的公网nat网关标签。

tagging

gateway *

  • nat:natgatewaytags:delete

-

nat:natgateways:listtags

授予权限以查询公网nat网关标签。

list

gateway

  • nat:natgatewaytags:get

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

表2 api与授权项的关系

api

对应的授权项

依赖的授权项

get /v3/{project_id}/private-nat/gateways

nat:privatenatgateways:list

-

post /v3/{project_id}/private-nat/gateways

nat:privatenatgateways:create

-

delete /v3/{project_id}/private-nat/gateways/{gateway_id}

nat:privatenatgateways:delete

-

get /v3/{project_id}/private-nat/gateways/{gateway_id}

nat:privatenatgateways:get

-

put /v3/{project_id}/private-nat/gateways/{gateway_id}

nat:privatenatgateways:update

-

get /v3/{project_id}/private-nat/dnat-rules

nat:privatenatdnatrules:list

-

post /v3/{project_id}/private-nat/dnat-rules

nat:privatenatdnatrules:create

-

delete /v3/{project_id}/private-nat/dnat-rules/{dnat_rule_id}

nat:privatenatdnatrules:delete

-

get /v3/{project_id}/private-nat/dnat-rules/{dnat_rule_id}

nat:privatenatdnatrules:get

-

put /v3/{project_id}/private-nat/dnat-rules/{dnat_rule_id}

nat:privatenatdnatrules:update

-

get /v3/{project_id}/private-nat/snat-rules

nat:privatenatsnatrules:list

-

post /v3/{project_id}/private-nat/snat-rules

nat:privatenatsnatrules:create

-

delete /v3/{project_id}/private-nat/snat-rules/{snat_rule_id}

nat:privatenatsnatrules:delete

-

get /v3/{project_id}/private-nat/snat-rules/{snat_rule_id}

nat:privatenatsnatrules:get

-

put /v3/{project_id}/private-nat/snat-rules/{snat_rule_id}

nat:privatenatsnatrules:update

-

get /v3/{project_id}/private-nat/transit-ips

nat:privatenattransitips:list

-

post /v3/{project_id}/private-nat/transit-ips

nat:privatenattransitips:create

-

delete /v3/{project_id}/private-nat/transit-ips/{transit_ip_id}

nat:privatenattransitips:delete

-

get /v3/{project_id}/private-nat/transit-ips/{transit_ip_id}

nat:privatenattransitips:get

-

post /v3/{project_id}/private-nat-gateways/resource_instances/action

nat:privatenatgateways:listtags

-

post /v3/{project_id}/private-nat-gateways/{resource_id}/tags/action

nat:privatenatgateways:createtags

nat:privatenatgateways:deletetags

post /v3/{project_id}/private-nat-gateways/{resource_id}/tags

nat:privatenatgateways:createtags

-

get /v3/{project_id}/private-nat-gateways/{resource_id}/tags

nat:privatenatgateways:listtags

-

delete /v3/{project_id}/private-nat-gateways/{resource_id}/tags/{key}

nat:privatenatgateways:deletetags

-

get /v3/{project_id}/private-nat-gateways/tags

nat:privatenatgateways:listtags

-

post /v3/{project_id}/transit-ips/resource_instances/action

nat:privatenattransitips:listtags

-

post /v3/{project_id}/transit-ips/{resource_id}/tags/action

nat:privatenattransitips:createtags

nat:privatenattransitips:deletetags

post /v3/{project_id}/transit-ips/{resource_id}/tags

nat:privatenattransitips:createtags

-

get /v3/{project_id}/transit-ips/{resource_id}/tags

nat:privatenattransitips:listtags

-

delete /v3/{project_id}/transit-ips/{resource_id}/tags/{key}

nat:privatenattransitips:deletetags

-

get /v3/{project_id}/transit-ips/tags

nat:privatenattransitips:listtags

-

-

nat:transitsubnets:list

-

post /v3/{project_id}/private-nat/transit-subnets

nat:transitsubnets:create

-

delete /v3/{project_id}/private-nat/transit-subnets/{transit_subnet_id}

nat:transitsubnets:delete

-

get /v3/{project_id}/private-nat/transit-subnets/{transit_subnet_id}

nat:transitsubnets:get

-

put /v3/{project_id}/private-nat/transit-subnets/{transit_subnet_id}

nat:transitsubnets:update

-

post /v3/{project_id}/transit-subnets/resource_instances/action

nat:transitsubnets:listtags

-

post /v3/{project_id}/transit-subnets/{resource_id}/tags/action

nat:transitsubnets:createtags

nat:transitsubnets:deletetags

post /v3/{project_id}/transit-subnets/{resource_id}/tags

nat:transitsubnets:createtags

-

get /v3/{project_id}/transit-subnets/{resource_id}/tags

nat:transitsubnets:listtags

-

delete /v3/{project_id}/transit-subnets/{resource_id}/tags/{key}

nat:transitsubnets:deletetags

-

get /v3/{project_id}/transit-subnets/tags

nat:transitsubnets:listtags

-

get /v2/{project_id}/nat_gateways

nat:natgateways:list

-

post /v2/{project_id}/nat_gateways

nat:natgateways:create

-

delete /v2/{project_id}/nat_gateways/{nat_gateway_id}

nat:natgateways:delete

-

get /v2/{project_id}/nat_gateways/{nat_gateway_id}

nat:natgateways:get

-

put /v2/{project_id}/nat_gateways/{nat_gateway_id}

nat:natgateways:update

-

get /v2/{project_id}/dnat_rules

nat:dnatrules:list

-

post /v2/{project_id}/dnat_rules

nat:dnatrules:create

eip:publicips:associateinstance

get /v2/{project_id}/dnat_rules/{dnat_rule_id}

nat:dnatrules:get

-

put /v2/{project_id}/dnat_rules/{dnat_rule_id}

nat:dnatrules:update

  • eip:publicips:associateinstance
  • eip:publicips:disassociateinstance

post /v2/{project_id}/dnat_rules/batch

nat:dnatrules:create

eip:publicips:associateinstance

delete /v2/{project_id}/nat_gateways/{nat_gateway_id}/dnat_rules/{dnat_rule_id}

nat:dnatrules:delete

eip:publicips:disassociateinstance

get /v2/{project_id}/snat_rules

nat:snatrules:list

-

post /v2/{project_id}/snat_rules

nat:snatrules:create

eip:publicips:associateinstance

get /v2/{project_id}/snat_rules/{snat_rule_id}

nat:snatrules:get

-

put /v2/{project_id}/snat_rules/{snat_rule_id}

nat:snatrules:update

  • eip:publicips:associateinstance
  • eip:publicips:disassociateinstance

delete /v2/{project_id}/nat_gateways/{nat_gateway_id}/snat_rules/{snat_rule_id}

nat:snatrules:delete

eip:publicips:disassociateinstance

post /v3/{project_id}/nat_gateways/resource_instances/action

nat:natgateways:listtags

-

post /v3/{project_id}/nat_gateways/{nat_gateway_id}/tags/action

nat:natgateways:createtags

nat:natgateways:deletetags

post /v3/{project_id}/nat_gateways/{nat_gateway_id}/tags

nat:natgateways:createtags

-

get /v3/{project_id}/nat_gateways/{nat_gateway_id}/tags

nat:natgateways:listtags

-

delete /v3/{project_id}/nat_gateways/{nat_gateway_id}/tags/{key}

nat:natgateways:deletetags

-

get /v3/{project_id}/nat_gateways/tags

nat:natgateways:listtags

-

资源类型(resource)

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

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

表3 nat支持的资源类型

资源类型

urn

snatrule

nat:::snatrule:

privatesnatrule

nat:::privatesnatrule:

port

vpc:::port:

privategateway

nat:::privategateway:

vpc

vpc:::vpc:

publicip

vpc:::publicip:

gateway

nat:::gateway:

privatetransitip

nat:::privatetransitip:

dnatrule

nat:::dnatrule:

globaleip

eip:::globaleip:

privatednatrule

nat:::privatednatrule:

subnet

vpc:::subnet:

transitsubnet

nat:::transitsubnet:

条件(condition)

nat服务不支持在身份策略中的条件键中配置服务级的条件键。nat可以使用适用于所有服务的全局条件键,请参考全局条件键

相关文档

网站地图