Cloud-Ressourcennamen

Mit einem Cloudressourcennamen (CRN – Cloud Resource Name) werden IBM Cloud®-Ressourcen eindeutig angegeben. Eine CRN wird verwendet, um eine Ressource auf eine eindeutige Weise zu spezifizieren, die garantiert global eindeutig ist.

Ein CRN wird aus einer Verkettung von "Segmenten" gebildet, die die Ressource, ihren Standort und den Service, zu dem sie gehört, hierarchisch identifizieren. Der Segmentbegrenzer wird auf einen Doppelpunkt (:) gesetzt. Alle CRNs beginnen mit der Segmentkennung crn.

CRN-Format

Das kanonische Basisformat einer CRN lautet:

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

Version

Das Segment version gibt die Version des CRN-Formats an. Derzeit ist der einzige gültige Wert für das Versionssegment v1.

cname

Das Segment cname identifiziert die Cloudinstanz und ist eine alphanumerische ID, die die Cloudinstanz, die die Ressource enthält, eindeutig identifiziert. Ein cname identifiziert effektiv eine unabhängige Steuerebene, die Eigentümer der identifizierten Ressource ist. Der Wert für das Segment „ cname “ muss für Benutzer von „ IBM Cloud “ „ bluemix “ lauten.

ctype

Das ctype-Segment identifiziert den Typ der Cloudinstanz, die durch das angegebene cname-Segment repräsentiert wird.

Die gültigen Werte sind im Folgenden aufgelistet:

  • public: Alle Dienste, die über den öffentlichen Katalog verfügbar sind
  • dedicated: Nur für aktuelle IBM Cloud dedizierte Umgebungen
  • local: Alle Services, die lokal in Ihrer eigenen Umgebung bereitgestellt werden

Servicename

IBM Cloud stellt die globale Eindeutigkeit von Dienstnamen sicher. Das Segment service-name gibt eine Funktionalität (Service, Komponente oder Produkt) an, die von der Cloud angeboten wird. Die Fähigkeit kann ein vom Benutzer bereitgestellter Dienst sein, wie bei den im IBM Cloud-Katalog aufgeführten Diensten, oder eine interne Architekturkomponente, die für die IBM Cloud-Funktionalität entscheidend ist.

Das Segment service-name gibt den Service an, zu dem die Ressource gehört. Das Segment service-name muss alphanumerisch und kleingeschrieben sein und darf keine Leerzeichen oder Sonderzeichen außer - enthalten. Wenn Sie einen Servicenamen für einen untergeordneten Service angeben, muss ein Punkt . den Namen des übergeordneten Service vom Namen des untergeordneten Service trennen. Wenn Sie beispielsweise einen Service mit dem Namen iam-service und einen untergeordneten Service mit dem Namen microhaben, ist iam-service der übergeordnete Service und iam-service.micro wird als untergeordneter Service betrachtet.

Bei Diensten, die im Katalog „ IBM Cloud “ registriert sind, muss das Segment „ service-name “ mit einem der Dienste übereinstimmen, die beim globalen Katalogdienst „ IBM Cloud “ registriert sind. Es handelt sich um die Eigenschaft „ name “, die von der API des globalen Katalogdienstes „ IBM Cloud “ ( GET https://globalcatalog.cloud.ibm.com/api/v1/{id} ) für die entsprechende Ressourceninstanz zurückgegeben wird, oder um den Wert „ service-name “, der von der Befehlszeilenschnittstelle (CLI) ( ibmcloud service offerings ) in der Spalte „ service “ angezeigt wird.

Standort

Die Cloud-Geografie/Region/Zone/Rechenzentrum, in der sich die Ressource befindet.

Das Segment location muss einer der Standortnamen sein, die vom CLI-Befehl ibmcloud catalog locations aufgelistet werden.

Für einige Ressourcen ist keine Region erforderlich, da sie als global angesehen werden können. In diesem Fall wird das Segment region auf global gesetzt.

Bereich

Das Segment scope identifiziert den Einschluss oder den Eigentümer der Ressource. Einige Ressourcen benötigen keinen Eigner (sie können als global betrachtet werden). In diesem Fall ist das Segment scope leer (eine leere Zeichenfolge).

Der Wert des Segments scope muss als {scopePrefix}/{id} formatiert sein. Der scopePrefix stellt das Format dar, das zur Identifizierung des Eigners oder des Einschlusses verwendet wird. Die id stellt die Identität des Eigentümers oder des Einschlusses in einem Format dar, das spezifisch für den scopePrefix ist.

Umfang der Verwendung
Gültigkeitsbereichstyp Gültigkeitsbereichspräfix Verwendung Beispiel
Konto a/{account id} Das Konto, in dem die Ressource erstellt wurde. a/292558
Organisation o/{org guid} Die IBM Cloud-Organisation, der die Ressource zugewiesen wurde. o/4716e2d1-35b7-431f-891a-b552bf0b3c66
Bereich s/{space guid} Der IBM Cloud-Speicherbereich, dem die Ressource zugewiesen wurde. s/48b3cdcd-e804-4398-9032-73065863ad7c

Serviceinstanz

Das Segment service-instance identifiziert die Serviceinstanz eindeutig. Das Format des service-instance-Segments variiert je nach Service. Jeder Service muss das Format seines service_instance-Segments als Teil der Metadaten seines Services dokumentieren. Einige Services haben keine Instanzen, weil die Instanz global ist, und in diesem Fall ist das Feld service-instance leer.

Die service-instance muss alphanumerisch und in Kleinbuchstaben sein und darf keine Leerzeichen oder Sonderzeichen außer '-' und '/' enthalten.

Ein DevOps-Tool, das zur Verfolgung und Planung von Arbeitselementen verwendet wird, kann beispielsweise eine einfache GUID-Instanz-ID haben ("1234-5678-9012-3456"). Die Richtlinienkomponente eines Autoscale-Gruppenservices kann jedoch eine hierarchische Benennungskonvention verwenden und das folgende service-id-Segment haben:

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

Sie können eine CRN auch mit dem folgenden CLI-Befehl von einer IBM Cloud-Ressource abrufen:

ibmcloud resource service-instance

resource-type, resource

Die Werte der Segmente resource-type und resource variieren je nach Service. Jeder Dienst MUSS die von ihm unterstützten Ressourcentypen und das Format der Ressource als Teil seiner Dienstmetadaten dokumentieren. Beachten Sie: Wenn sich die CRN auf die Service-Instanz bezieht, müssen die Segmente „ resource-type “ und „ resource “ leer sein. Wenn sich die Referenz global auf den Ressourcentyp bezieht, müssen die Segmente „ resource “ leer sein.

Beispielsweise kann ein Bild im Container „customer receipts“ eines „ Object Storage “-Dienstes den Wert „object“ für „ resource-type “ und den Wert „ 'CustomerReceipts/clientdinner.png“ für „ resource “ haben. resource-type MUSS aus alphanumerischen Zeichen bestehen, in Kleinbuchstaben, ohne Leerzeichen und ohne Sonderzeichen außer „-“

Ein Dienst kann festlegen, dass die „ resource-type “ optional ist; in diesem Fall kann sie weggelassen werden.

resource Es MUSS sich um einen GUID oder eine Zeichenkette handeln, die gemäß der URI-Syntax kodiert ist, wie in RFC 3986 „Uniform Resource Identifier(URI): Generic Syntax“, Abschnitt 2, beschrieben. Insbesondere kann das Zeichen „/“ verwendet werden, um einen hierarchischen Pfad darzustellen.

CRN-Beispiele

Die folgende Tabelle enthält eine Liste von CRN-Beispielen.

CRN-Beispiele
Beispiel Wert
Kubernetes-Worker crn:v1:bluemix:public:containers-kubernetes:us-south:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:8042b2a8af6a4a5cbf6dbe09e07311d2:worker:kube-hou02-pa8042b2a8af6a4a5cbf6dbe09e07311d2-w1
Ressourcengruppe crn:v1:bluemix:public:resource-controller:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd::resource-group:59bcbfa6ea2f006b4ed7094c1a08dcdd
Serviceinstanz crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4::
Bucket crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:mybucket
Untergeordneter Service crn:v1:bluemix:public:resource-catalog:global:a/9d67f37fdf745e1b3cbef0ee4e6f2eda::composite:is-vpn

Beispielhafte Schritte zum Abrufen des CRN-Werts finden Sie unter Abrufen der Instanz-ID und des Cloud-Ressourcennamens(CRN).