IBM Cloud Docs
云资源名称

云资源名称

云资源名称(CRN)是 IBM Cloud® 资源的唯一标识。 CRN 用来以明确方式指定资源,保证全局唯一。

CRN 由分层标识资源、其位置和所属服务的“分段”并置构成。 段定界符设置为冒号 (:)。所有 CRN 都以段标识 crn 开头。

CRN 格式

CRN 的基本规范格式为:

crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource

版本

version 分段标识 CRN 格式的版本。 目前,唯一有效的 version 分段值为 v1

cname

cname 分段标识云实例,这是字母数字标识,用于唯一标识包含资源的云实例。 cname 有效地标识拥有所标识资源的独立控制平面。 对于 IBM Cloud 用户,cname 分段的值必须为 bluemix

ctype

ctype 分段用于标识由指定 cname 分段表示的云实例的类型。

有效值为:

  • public:公共目录中提供的所有服务
  • dedicated:仅适用于当前 IBM Cloud Dedicated 环境
  • local:在您自己的环境中本地部署的所有服务

服务名称

IBM Cloud 强制实施服务名称的全局唯一性。 service-name 部分标识了云提供的功能(服务、组件或产品)。 该功能可以是用户提供的服务,例如 IBM Cloud 目录中列出的服务,或对于 IBM Cloud 功能很关键的内部体系结构组件。

service-name 段指示资源所属的服务。 service-name 部分必须为字母数字、小写,且不能有空格或特殊字符,但 - 除外。 如果要标识子服务的服务名称,那么必须使用句点 . 将父服务名称与子服务名称分隔开。 例如,如果您有一个名为 iam-service 的服务,并且该服务的子代名为 micro,那么 iam-service 是父服务,而 iam-service.micro 被视为子服务。

对于已注册到 IBM Cloud 目录中的服务,service-name 部分必须与已注册到 IBM Cloud 全球目录服务中的服务之一相对应。 这是由 IBM Cloud 全局目录服务API GET https://globalcatalog.cloud.ibm.com/api/v1/{id} 返回的 name 属性,用于表示相应的资源实例,或者由命令行界面(CLI)显示的 service-name 值:ibmcloud service offeringsservice 列中。

位置

资源所在的云地理区域/区域/数据中心。

location 段必须是 ibmcloud catalog locations CLI 命令列出的其中一个位置名。

某些资源不需要区域,因为这些资源可以视为全球资源。 在这种情况下,region 分段设置为 global

作用域

scope 分段标识资源的包含范围或所有者。 某些资源不需要所有者(这些资源可以视为 global)。 在这种情况下,scope 分段为空(空字符串)。

scope 分段值的格式必须设置为 {scopePrefix}/{id}scopePrefix 表示用于标识所有者或包含范围的格式。 id 表示所有者或包含范围的身份,其格式特定于 scopePrefix

使用范围
作用域类型 作用域前缀 用途 示例
帐户 a/{account id} 已在其中创建资源的帐户。 a/292558
Organization o/{org guid} 分配有该资源的 IBM Cloud 组织。 o/4716e2d1-35b7-431f-891a-b552bf0b3c66
空间 s/{space guid} 分配有该资源的 IBM Cloud 空间。 s/48b3cdcd-e804-4398-9032-73065863ad7c

service-instance

service-instance 分段唯一标识服务实例。 service-instance 分段的格式因服务而异。 每个服务都必须将其 service_instance 分段的格式记录为其服务元数据的一部分。 某些服务没有实例,因为实例是全局的,在这种情况下,service-instance 字段将为空。

service-instance 必须为字母数字、小写,并且不得包含空格或除“-”和“/”之外的特殊字符。

例如,用于跟踪和规划工作项的 DevOps 工具可以具有简单的 GUID 实例标识 ("1234-5678-9012-3456")。 但是,自动缩放组服务的策略组件可以使用分层命名约定,并具有以下 service-id 段:

c7a27f55-d35e-4153-b044-8ca9155fc467/my-test-asg1/my-scaleout-policy

您还可以使用以下 CLI 命令从 IBM Cloud 资源中获取 CRN:

ibmcloud resource service-instance

resource-type 和 resource

resource-typeresource 分段的值因服务而异。 服务需要将其支持的 resource types 分段以及 resource 分段的格式记录为其服务元数据的一部分。

例如,Object Storage 服务中客户接收容器中的映像的 resource-type 分段可以为 objectresource 值可以为 CustomerReceipts/clientdinner.png

resource-type 段必须是字母数字,小写,并且没有空格或除 "-" 以外的特殊字符。服务可以决定 resource-type 段是可选的,在这种情况下它将保留为空白。

CRN 示例

下表提供了 CRN 示例的列表。

CRN 示例
示例
Kubernetes 工作程序 crn:v1:bluemix:public:containers-kubernetes:us-south:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:8042b2a8af6a4a5cbf6dbe09e07311d2:worker:kube-hou02-pa8042b2a8af6a4a5cbf6dbe09e07311d2-w1
资源组 crn:v1:bluemix:public:resource-controller:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:resource-group:59bcbfa6ea2f006b4ed7094c1a08dcdd
服务实例 crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4::
存储区 crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:mybucket
子服务 crn:v1:staging:public:resource-catalog::a/9d67f37fdf745e1b3cbef0ee4e6f2eda::composite:is.vpn