クラウド・リソース名
クラウド・リソース名 (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 locations
CLI コマンドによってリストされたロケーション名の 1 つでなければなりません。
リージョンを必要としないリソースもあります (そういったリソースはグローバルであると判断できます)。 この場合、region
セグメントは global
に設定されます。
スコープ
scope
セグメントは、リソースを包含しているもの、またはリソースの所有者を識別します。 所有者を必要としないリソースもあります (そういったリソースはglobal
であると判断できます)。 この場合、scope
セグメントは空 (空ストリング) に設定されます。
scope
セグメントの値は、{scopePrefix}
/{id}
という形式でなければなりません。 scopePrefix
は、所有者または包含しているものを識別するために使用されるフォーマットを表します。 id
は、scopePrefix
に固有のフォーマットで、所有者または包含しているものの ID を表します。
有効範囲タイプ | スコープ・プレフィックス | 使用法 | 例 |
---|---|---|---|
アカウント | 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
セグメントが object
、resource
値が CustomerReceipts/clientdinner.png
であるといった例が考えられます。
resource-type
セグメントは、英数字、小文字でなければならず、スペースや「-」以外の特殊文字であってはなりません。サービスは、resource-type
セグメントがオプションであることを決定できますが、その場合はブランクのままになります。
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 |