IBM Cloud Docs
クラウド・リソース名

クラウド・リソース名

クラウド・リソース名 (CRN) は、IBM Cloud® リソースを一意的に識別するためのものです。 CRN は、グローバルに固有であることが保証されるように、曖昧さがないようにリソースを指定するために使用されます。

CRN は、リソース、そのロケーション、それが属しているサービスを階層的に識別する「セグメント」を連結したもので形成されます。 セグメント区切り文字はコロン (:) に設定されます。すべての CRN は、セグメント ID 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 専用環境の場合のみ
  • local: 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 グローバル・カタログ・サービスに登録されているサービスの 1 つに対応している必要があります。 これは、IBM Cloud グローバル・カタログ・サービス API GET https://globalcatalog.cloud.ibm.com/api/v1/{id}によって返される、対応するリソース・インスタンスのnameプロパティーか、コマンド・ライン・インターフェース (CLI) によって表示されるservice-name値 (service 列内の ibmcloud service offerings) です。

ロケーション

リソースが存在している、クラウドのジオグラフィー/リージョン/ゾーン/データ・センター。

locationセグメントは、ibmcloud catalog locationsCLI コマンドによってリストされたロケーション名の 1 つでなければなりません。

リージョンを必要としないリソースもあります (そういったリソースはグローバルであると判断できます)。 この場合、region セグメントは global に設定されます。

scope

scope セグメントは、リソースを包含しているもの、またはリソースの所有者を識別します。 所有者を必要としないリソースもあります (そういったリソースはglobalであると判断できます)。 この場合、scope セグメントは空 (空ストリング) に設定されます。

scope セグメントの値は、{scopePrefix}/{id} という形式でなければなりません。 scopePrefix は、所有者または包含しているものを識別するために使用されるフォーマットを表します。 id は、scopePrefix に固有のフォーマットで、所有者または包含しているものの ID を表します。

Table 1. 有効範囲の使用
有効範囲タイプ スコープ・プレフィックス 使用量
アカウント a/{account id} リソースが作成されたアカウント。 a/292558
組織 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 インスタンス ID (「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-type セグメントおよび resource セグメントの値は、サービスによって異なります。 各サービスは、サービス・メタデータの一部として、サポートされる resource types セグメントと、resource セグメントのフォーマットを文書化する必要があります。

例えば、Object Storage サービス内のカスタマー領収書コンテナー中のイメージの resource-type セグメントが objectresource 値が CustomerReceipts/clientdinner.png であるといった例が考えられます。

resource-typeセグメントは、英数字、小文字でなければならず、スペースや「-」以外の特殊文字であってはなりません。サービスは、resource-typeセグメントがオプションであることを決定できますが、その場合はブランクのままになります。

CRN の例

次の表に、CRN の例を示します。

表 2. 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:bluemix:public:resource-catalog::a/9d67f37fdf745e1b3cbef0ee4e6f2eda::composite:is.vpn