使用URN标识华为云资源
URN定义
URN(Uniform Resource Name),统一资源名称,用于唯一标识云服务资源。当您需要在华为云明确指定某一项资源时,例如IAM身份策略或者API调用中,我们要求使用资源URN。您应该谨慎使用和共享资源URN,但不应将其视为保密信息。
URN格式
<service-name>:<region>:<account-id>:<type-name>:<resource-path>
- service-name:云服务简称,例如:ecs。
- region:资源所在的区域,例如:cn-north-1。如果是全局服务的资源,region可以为星号(*)或者为空。
- account-id:租户的账号ID。如果是系统公共资源,则用“system”表示,例如系统身份策略。
- type-name:资源类型,例如ecs实例:instance。
- resource-path:资源路径,具体含义云服务定义,可能是资源名称、ID、路径等。资源路径中可能会包含英文冒号“:”。
URN示例
IAM用户
iam::{account_id}:user:{user_name}
用户组
iam::{account_id}:group:{group_name}
委托或信任委托
iam::{account_id}:agency:{agency_name}
服务关联委托
iam::{account_id}:agency:service-linked-agency/{service_principal}/{agency_name}
自定义身份策略
iam::{account_id}:policy:{policy_name}
系统身份策略
iam::system:policy:CCEFullPolicy
委托或信任委托会话
sts::{account_id}::assumed-agency:{agency_name}/{agency_session_name}

通过POST /v5/agencies/assume接口获取的委托或信任委托会话的URN中的agency_session_name为该接口请求体中的agency_session_name参数值。
通过POST /v3.0/OS-CREDENTIAL/securitytokens接口获取的委托会话的URN中的agency_session_name固定为null。
通过控制台切换委托或信任委托后的会话URN中的agency_session_name固定为null。
查找资源URN格式
URN的具体格式取决于云服务和资源类型。某些资源URN可以包含路径、变量或通配符。如需查找特定华为云资源的URN 格式,请参见身份策略授权参考,然后打开指定云服务的章节,并导航至“资源类型”小节。
在身份策略中使用资源路径通配符
您可以在身份策略的Resource元素中对URN使用通配符星号(*)来进行匹配。例如:
{ "Version": "5.0", "Statement": [{ "Effect": "Allow", "Action": [ "iam:agencies:listV5" ], "Resource": [ "iam:*:8c1eef3a241945f69c3d3a6b0252e783:agency:*" ] }] }
{ "Version": "5.0", "Statement": [{ "Effect": "Allow", "Action": [ "sts:agencies:assume" ], "Resource": [ "iam:*:*:agency:*" ] }] }