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úblicodedicated
: Solo para los entornos dedicados de IBM Cloud actualeslocal
: 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
.
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.
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 |