Nombres de recursos de nube

Un nombre de recurso de nube (CRN - Cloud Resource Name) identifica de forma exclusiva recursos de IBM Cloud®. Un CRN se utiliza para especificar un recurso de forma inequívoca y con garantía de que es globalmente exclusivo.

Un CRN se forma a partir de una concatenación de "segmentos" que identifican jerárquicamente el recurso, su ubicación y el servicio al que pertenece. El delimitador de segmento se establece en dos puntos (:). Todas las CRN empiezan con el identificador de segmento crn.

Formato de CRN

El formato canónico base de un CRN es:

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

versión

El segmento version identifica la versión del formato de CRN. Actualmente, el único valor de segmento de versión válido es v1.

cname

El segmento cname identifica la instancia de nube y es un identificador alfanumérico que identifica de forma exclusiva la instancia de nube que contiene el recurso. Un cname identifica de forma eficaz un plano de control independiente que posee el recurso identificado. El valor del segmento cname debe ser bluemix para los usuarios de IBM Cloud.

ctype

El segmento ctype identifica el tipo de instancia de nube representado por el segmento cname especificado.

Valores válidos:

  • public: Todos los servicios disponibles del catálogo público
  • dedicated: Solo para los entornos dedicados de IBM Cloud actuales
  • local: Todos los servicios desplegados localmente en su propio entorno

nombre-servicio

IBM Cloud garantiza la unicidad global de los nombres de los servicios. El segmento service-name identifica una prestación (servicio, componente o producto) que ofrece la nube. La funcionalidad puede ser un servicio proporcionado por el usuario, como con los servicios listados en el catálogo de IBM Cloud o un componente de arquitectura interno crítico para la funcionalidad de IBM Cloud.

El segmento service-name indica el servicio al que pertenece el recurso. El segmento service-name debe ser alfanumérico, en minúsculas y no tener espacios ni caracteres especiales que no sean -. Si está identificando un nombre de servicio para un servicio hijo, debe tener un periodo . que separe el nombre del servicio padre del hijo. Por ejemplo, si tiene un servicio llamado iam-service y un hijo del mismo se llama micro, iam-service es el servicio padre y iam-service.micro se considera el servicio hijo.

En el caso de los servicios registrados en el catálogo IBM Cloud, el segmento service-name debe corresponder a uno de los servicios registrados en el servicio de catálogo global IBM Cloud. Se trata de la propiedad « name » que devuelve la API del servicio de catálogo global IBM Cloud GET https://globalcatalog.cloud.ibm.com/api/v1/{id} para la instancia de recurso correspondiente, o del valor « service-name » que muestra la interfaz comando (CLI): ibmcloud service offerings en la columna « service ».

ubicación

La geografía, región, zona o centro de datos de nube donde reside el recurso.

El segmento location debe ser uno de los nombres de ubicación listados por el mandato de CLI de ibmcloud catalog locations.

Algunos recursos no requieren una región, ya que pueden considerarse global. En este caso, el segmento region se establece en global.

alcance

El segmento scope identifica la contención o propietario del recurso. Algunos recursos no requieren un propietario (pueden considerarse global). En este caso, el segmento scope está vacío (una serie en blanco).

El valor del segmento scope debe tener el formato {scopePrefix}/{id}. El valor scopePrefix representa el formato utilizado para identificar al propietario o la contención. El id representa la identidad del propietario o la contención en un formato que es específico del scopePrefix.

Ámbito de aplicación
Tipo de ámbito Prefijo de ámbito Uso Ejemplo
Cuenta a/{account id} La cuenta en la que se ha creado el recurso. a/292558
Organización o/{org guid} La organización de IBM Cloud a la que se ha asignado el recurso. o/4716e2d1-35b7-431f-891a-b552bf0b3c66
Espacio s/{space guid} El espacio de IBM Cloud al que se ha asignado el recurso. s/48b3cdcd-e804-4398-9032-73065863ad7c

instancia de servicio

El segmento service-instance identifica la instancia de servicio de forma exclusiva. El formato del segmento service-instance varía en función del servicio. Cada servicio debe documentar el formato de su segmento service_instance como parte de sus metadatos de servicio. Algunos servicios no tienen instancias puesto que la instancia es global y, en ese caso, el campo service-instance está en blanco.

El service-instance debe ser alfanumérico, en minúsculas, sin espacios ni caracteres especiales que no sean '-' y '/'.

Por ejemplo, una herramienta DevOps utilizada para realizar el seguimiento y planificar elementos de trabajo puede tener un ID de instancia GUID simple ("1234-5678-9012-3456"). Pero el componente de política de un servicio de grupo de autoscale puede utilizar un convenio de denominación jerárquica y tener el segmento service-id:

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

También puede obtener un CRN de un recurso de IBM Cloud utilizando el mandato de CLI siguiente:

ibmcloud resource service-instance

resource-type, resource

Los valores de los segmentos resource-type y resource varían en función del servicio. Cada servicio DEBE documentar los tipos de recursos que admite y el formato de dichos recursos como parte de los metadatos del servicio. Ten en cuenta que, si el CRN hace referencia a la instancia de servicio, los segmentos « resource-type » y « resource » deben estar vacíos. Si hace referencia al tipo de recurso de forma global, los segmentos « resource » deben estar vacíos.

Por ejemplo, una imagen del contenedor de recibos de clientes de un servicio de Object Storage puede tener un « resource-type » de «object» y un valor de « resource » de « 'CustomerReceipts/clientdinner.png». resource-type DEBE ser alfanumérico, en minúsculas, sin espacios ni caracteres especiales, salvo el signo «-»

Un servicio puede determinar que el resource-type sea opcional, en cuyo caso puede omitirse.

resource DEBE ser un GUID o una cadena codificada según la sintaxis URI, tal y como se describe en el RFC 3986 «Identificador Uniforme de Recursos(URI): Sintaxis genérica», sección 2. En concreto, el carácter «/» puede utilizarse para representar una ruta jerárquica.

Ejemplos de CRN

La siguiente tabla contiene una lista de ejemplos de CRN.

Ejemplos de CRN
Ejemplo Valor
Nodo trabajador de Kubernetes crn:v1:bluemix:public:containers-kubernetes:us-south:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:8042b2a8af6a4a5cbf6dbe09e07311d2:worker:kube-hou02-pa8042b2a8af6a4a5cbf6dbe09e07311d2-w1
Grupo de recursos crn:v1:bluemix:public:resource-controller:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd::resource-group:59bcbfa6ea2f006b4ed7094c1a08dcdd
Instancia de servicio crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4::
Grupo crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:mybucket
Servicio hijo crn:v1:bluemix:public:resource-catalog:global:a/9d67f37fdf745e1b3cbef0ee4e6f2eda::composite:is-vpn

Para ver los pasos de ejemplo para recuperar el valor CRN, consulte Recuperación del ID de su instancia y del nombre del recurso en la nube(CRN).