IBM Cloud Docs
Nombres de recursos de nube

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 impone la exclusividad global de los nombres de servicio. 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.

Para los servicios que están registrados en el catálogo de IBM Cloud, el segmento service-name debe corresponder a uno de los servicios que están registrados en el servicio de catálogo global de IBM Cloud. Es la propiedad name que devuelve la API de servicio de catálogo global de IBM Cloud GET https://globalcatalog.cloud.ibm.com/api/v1/{id} para la instancia de recurso correspondiente o el valor service-name que muestra la interfaz de línea de mandatos (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
Organization 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 siguiente mandato de CLI:

ibmcloud resource service-instance

resource-type, resource

Los valores de los segmentos resource-type y resource varían en función del servicio. Es necesario un servicio para documentar su segmento resource types soportado y el formato del segmento resource como parte de sus metadatos.

Como ejemplo, una imagen en el contenedor de recepción del cliente en un servicio Object Storage puede tener un segmento resource-type de object y un valor resource de CustomerReceipts/clientdinner.png.

El segmento resource-type debe ser alfanumérico, en minúsculas y sin espacios o caracteres especiales que no sean '-'. Un servicio puede decidir que el segmento resource-type es opcional, en cuyo caso permanece en blanco.

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