En esta guía se describe cómo crear y gestionar etiquetas en secretos de Secret Manager. Puedes usar etiquetas para agrupar secretos relacionados de Secret Manager y almacenar metadatos sobre esos recursos en función de sus etiquetas.
Acerca de las etiquetas
Una etiqueta es un par clave-valor que se puede adjuntar a un recurso deGoogle Cloud. Puedes usar etiquetas para permitir o denegar políticas de forma condicional en función de si un recurso tiene una etiqueta específica. Por ejemplo, puedes conceder roles de Gestión de Identidades y Accesos (IAM) de forma condicional en función de si un recurso tiene una etiqueta específica. Para obtener más información, consulta el artículo Descripción general de las etiquetas.
Las etiquetas se adjuntan a los recursos creando un recurso TagBinding que vincula el valor al recurso. Google Cloud
Permisos obligatorios
Para obtener los permisos que necesitas para gestionar etiquetas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Lector de etiquetas (
roles/resourcemanager.tagViewer) en los recursos a los que están asociadas las etiquetas -
Ver y gestionar etiquetas a nivel de organización:
Lector de organización (
roles/resourcemanager.organizationViewer) en la organización -
Crear, actualizar y eliminar definiciones de etiquetas:
Administrador de etiquetas (
roles/resourcemanager.tagAdmin) en el recurso para el que vas a crear, actualizar o eliminar etiquetas -
Asignar y quitar etiquetas de recursos:
Etiquetador de usuarios (
roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que asignes o quites el valor de la etiqueta
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para adjuntar etiquetas a los secretos de Secret Manager, necesitas el rol Administrador de Secret Manager (roles/secretmanager.admin).
Crear claves y valores de etiquetas
Para poder adjuntar una etiqueta, primero debes crearla y configurar su valor. Para obtener más información, consulta los artículos Crear una etiqueta y Añadir un valor de etiqueta.
Añadir etiquetas durante la creación de recursos
Puede añadir etiquetas al crear secretos. De esta forma, puedes proporcionar metadatos esenciales para tus recursos y disfrutar de una mejor organización, un seguimiento de costes más preciso y una aplicación de políticas automatizada.
Consola
- Ve a la página Secret Manager en la consola de Google Cloud .
- Selecciona la opción para crear un secreto.
- Haz clic en Gestionar etiquetas.
- Si tu organización no aparece en el panel Gestionar etiquetas, haz clic en Seleccionar ámbito de las etiquetas y selecciona tu organización o proyecto.
- Haz clic en Añadir etiqueta.
- Selecciona la clave y el valor de la etiqueta en la lista. Puedes filtrar la lista por palabras clave.
- Haz clic en Guardar. La sección Etiquetas se actualiza con la información de las etiquetas.
- Crea tu secreto. El nuevo secreto se crea con las etiquetas proporcionadas.
gcloud
Antes de usar cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:
- SECRET_ID: identificador único del secreto.
- TAG_KEY: el ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se ha adjuntado (por ejemplo,
tagKeys/567890123456). - TAG_VALUE: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta (por ejemplo,
tagValues/567890123456).
Para especificar varias etiquetas, sepáralas con comas (por ejemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2).
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
Windows (PowerShell)
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
Windows (cmd.exe)
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- SECRET_ID: identificador único del secreto
- TAGKEY_NAME: el ID permanente o el nombre con espacio de nombres de la clave de etiqueta adjunta (por ejemplo,
tagKeys/567890123456). - TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjunta. Por ejemplo,
tagValues/567890123456.
Método HTTP y URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
Cuerpo JSON de la solicitud:
{
"replication": {
"automatic": {}
},
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de C# de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de Node.js de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
PHP
Para ejecutar este código, primero debes consultar información sobre cómo usar PHP en Google Cloud e instalar el SDK de PHP de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Añadir etiquetas a recursos
Para añadir una etiqueta a secretos que ya tengas, sigue estos pasos:
Consola
- Ve a la página Secret Manager en la consola de Google Cloud .
- Selecciona el secreto al que quieras adjuntar una etiqueta.
- Haga clic en Etiquetas.
- Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar ámbito. Selecciona tu organización y haz clic en Abrir.
- Haz clic en Añadir etiqueta.
- Selecciona la clave y el valor de la etiqueta en la lista. Puedes filtrar la lista por palabras clave.
- Haz clic en Guardar.
- En el cuadro de diálogo Confirmar, haz clic en Confirmar para adjuntar la etiqueta.
Recibirás una notificación para confirmar que se han actualizado las etiquetas.
gcloud
Para adjuntar una etiqueta a un secreto, debes crear un recurso de enlace de etiquetas con el comando gcloud resource-manager tags bindings create:
Antes de usar cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:
TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta (por ejemplo,tagValues/567890123456).RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API, para identificar el tipo de recurso (//secretmanager.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/secrets/SECRET_ID, el ID completo es//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings create ` --tag-value=TAGVALUE_NAME ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings create ^ --tag-value=TAGVALUE_NAME ^ --parent=RESOURCE_ID
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de Node.js de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
PHP
Para ejecutar este código, primero debes consultar información sobre cómo usar PHP en Google Cloud e instalar el SDK de PHP de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Secret Manager. En Compute Engine o GKE, debes autenticarte con el ámbito cloud-platform.
Mostrar las etiquetas asociadas a los recursos
Puedes ver una lista de las vinculaciones de etiquetas adjuntas directamente al secreto o heredadas por él.
Consola
- Ve a la página Secret Manager en la consola de Google Cloud .
- Las etiquetas se muestran en la columna Etiquetas del secreto.
gcloud
Para obtener una lista de las vinculaciones de etiquetas asociadas a un recurso, usa el comando gcloud resource-manager tags bindings list:
Antes de usar cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:
RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API, para identificar el tipo de recurso (//secretmanager.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/secrets/SECRET_ID, el ID completo es//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings list ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings list ^ --parent=RESOURCE_ID
Deberías recibir una respuesta similar a la siguiente:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //secretmanager.googleapis.com/projects/project-abc/secrets/secret-xyz
Desvincular etiquetas de recursos
Puedes separar las etiquetas que se hayan adjuntado directamente a un secreto. Las etiquetas heredadas se pueden anular adjuntando una etiqueta con la misma clave y un valor diferente, pero no se pueden separar.
Consola
- Ve a la página Secret Manager en la consola de Google Cloud .
- Selecciona el secreto del que quieras quitar una etiqueta.
- Haga clic en Etiquetas.
- En el panel Etiquetas, junto a la etiqueta que quieras desvincular, haz clic en Eliminar elemento.
- Haz clic en Guardar.
- En el cuadro de diálogo Confirmar, haz clic en Confirmar para separar la etiqueta.
Recibirás una notificación para confirmar que se han actualizado las etiquetas.
gcloud
Para eliminar un enlace de etiqueta, usa el comando gcloud resource-manager tags bindings delete:
Antes de usar cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:
TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta (por ejemplo,tagValues/567890123456).RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API, para identificar el tipo de recurso (//secretmanager.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/secrets/SECRET_ID, el ID completo es//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings delete ` --tag-value=TAGVALUE_NAME ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings delete ^ --tag-value=TAGVALUE_NAME ^ --parent=RESOURCE_ID
Eliminar claves y valores de etiquetas
Cuando elimine una definición de clave o valor de etiqueta, asegúrese de que la etiqueta se haya desvinculado del secreto. Debes eliminar los archivos adjuntos de etiquetas, denominados enlaces de etiquetas, antes de eliminar la definición de la etiqueta. Para obtener más información, consulta Eliminar etiquetas.
Condiciones y etiquetas de gestión de identidades y accesos
Puedes usar etiquetas y condiciones de gestión de identidades y accesos para conceder enlaces de roles de forma condicional a los usuarios de tu jerarquía. Si se cambia o se elimina la etiqueta asociada a un recurso, se puede retirar el acceso de los usuarios a ese recurso si se ha aplicado una política de IAM con enlaces de roles condicionales. Para obtener más información, consulta Condiciones y etiquetas de Gestión de Identidades y Accesos.
Siguientes pasos
- Consulta los otros servicios que admiten etiquetas.
- Consulta Etiquetas y control de acceso para saber cómo usar etiquetas con gestión de identidades y accesos.