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 sinddedicated: Nur für aktuelle IBM Cloud dedizierte Umgebungenlocal: 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.
| 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.
| 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).