Crear y gestionar anotaciones

En esta página se describe cómo añadir anotaciones a un secreto y cómo editar y ver estas anotaciones.

Información general

Puedes usar anotaciones para almacenar metadatos personalizados sobre un secreto. Por ejemplo, puede que quieras anotar un secreto con la ruta en la que se montará. Las anotaciones pueden ser útiles de las siguientes formas:

  • Para categorizar los secretos en función de su finalidad, entorno (desarrollo, staging o producción) o nivel de sensibilidad. De esta forma, será más fácil buscar, filtrar y organizar secretos en Secret Manager.

  • Para indicar el formato o la estructura específicos del valor del secreto, lo que ayuda a la carga de trabajo a interpretarlo correctamente.

  • Para proporcionar sugerencias sobre cómo se debe usar el secreto o cualquier consideración especial para su gestión.

Por ejemplo, si tienes un secreto que contiene una contraseña de base de datos, puedes añadir anotaciones como las siguientes:

  • environment:production

  • purpose:database_access

  • owner:database_team

Estas anotaciones facilitan la identificación del propósito del secreto, su entorno y quién es responsable de él. Además, una carga de trabajo que acceda a este secreto puede usar las anotaciones para confirmar que está usando la contraseña correcta para el entorno de producción.

Las anotaciones no son lo mismo que las etiquetas. Las etiquetas se usan para ordenar, filtrar y agrupar recursos, mientras que las anotaciones se usan para almacenar metadatos arbitrarios que no identifican un secreto. Hay una restricción de caracteres y de longitud de caracteres al especificar metadatos en una etiqueta. Los metadatos de una anotación pueden ser pequeños o grandes, estructurados o no estructurados, y pueden incluir caracteres no permitidos por las etiquetas.

Roles obligatorios

  • Para añadir anotaciones a un secreto y actualizar anotaciones, se necesita el rol Administrador de Secret Manager (roles/secretmanager.admin) en el secreto, el proyecto, la carpeta o la organización.

  • Para ver las anotaciones, se necesita el rol Lector de Secret Manager (roles/secretmanager.viewer) en el secreto, el proyecto, la carpeta o la organización.

Los roles de Gestión de Identidades y Accesos (IAM) no se pueden conceder en una versión de un secreto. Para obtener más información, consulta Control de acceso con la gestión de identidades y accesos.

Añadir anotaciones a un secreto

Puedes añadir anotaciones al crear un secreto o al actualizar uno que ya tengas. Los metadatos de una anotación se almacenan como pares clave-valor. Para añadir anotaciones, utilice uno de los siguientes métodos:

Consola

  1. En la Google Cloud consola, ve a la página Secret Manager.

    Ir a Secret Manager

  2. En la página Secret Manager, haz clic en Crear secreto.

  3. En la página Crear secreto, introduce un nombre para el secreto en el campo Nombre.

  4. Introduce un valor para el secreto (por ejemplo, abcd1234). También puedes subir un archivo de texto que contenga el valor del secreto con la opción Subir archivo. Esta acción crea automáticamente la versión del secreto.

  5. Ve a la sección Anotaciones y haz clic en Añadir anotación.

  6. Introduce la clave y el valor correspondiente.

  7. Haz clic en Crear secreto.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • SECRET_ID: el ID del secreto o el identificador completo del secreto
  • KEY: la clave de la anotación
  • VALUE: el valor correspondiente de la clave de anotación

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud secrets create SECRET_ID \
    --set-annotations= KEY1=VAL1,KEY2=VAL2

Windows (PowerShell)

gcloud secrets create SECRET_ID `
    --set-annotations= KEY1=VAL1,KEY2=VAL2

Windows (cmd.exe)

gcloud secrets create SECRET_ID ^
    --set-annotations= KEY1=VAL1,KEY2=VAL2

La respuesta contiene el secreto y las anotaciones.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto Google Cloud
  • SECRET_ID: el ID del secreto o el identificador completo del secreto
  • KEY: la clave de la anotación
  • VALUE: el valor correspondiente de la clave de anotación

Método HTTP y URL:

PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations

Cuerpo JSON de la solicitud:

{'annotations': {'KEY1': 'VALUE1', 'KEY2': 'VALUE2' }}

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 PATCH \
-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/SECRET_ID?updateMask=annotations"

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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
  "createTime": "2024-09-02T07:14:00.281541Z",
  "etag": "\"16211dcd99c386\"",
  "annotations": {
    "key1": "value1",
    "key2": "value2"
  }
}

Para añadir anotaciones a un secreto, consulta la sección Editar anotaciones de este documento.

Las claves de anotación deben cumplir los siguientes requisitos:

  • Las claves deben ser únicas para cada secreto. No puedes repetir una clave en el mismo secreto.

  • Las claves deben tener entre 1 y 63 caracteres.

  • Las claves deben tener una codificación UTF-8 de 128 bytes como máximo.

  • Las claves deben empezar y terminar con un carácter alfanumérico.

  • Las claves pueden tener guiones, guiones bajos y puntos entre los caracteres alfanuméricos.

  • El tamaño total de las claves y los valores de las anotaciones debe ser inferior a 16 KiB.

Editar anotaciones

Para editar anotaciones, utilice uno de los siguientes métodos:

Consola

  1. En la Google Cloud consola, ve a la página Secret Manager.

    Ir a Secret Manager

  2. Busca el secreto en la lista y haz clic en el menú Acciones asociado a ese secreto. En el menú Acciones, haz clic en Editar.

  3. En la página Editar secreto, ve a la sección Anotaciones. Aquí puedes cambiar el valor de una anotación, eliminarla o añadir una nueva.

  4. Cuando haya hecho los cambios, haga clic en Actualizar secreto.

gcloud

Editar anotaciones

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • SECRET_ID: el ID del secreto o el identificador completo del secreto
  • KEY: la clave de la anotación
  • VALUE: el valor correspondiente de la clave de anotación

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud secrets update SECRET_ID --update-annotations= KEY=VAL

Windows (PowerShell)

gcloud secrets update SECRET_ID --update-annotations= KEY=VAL

Windows (cmd.exe)

gcloud secrets update SECRET_ID --update-annotations= KEY=VAL

La respuesta edita el secreto y las anotaciones.

Eliminar una anotación específica

Para quitar anotaciones, usa el siguiente comando:

gcloud secrets update SECRET_ID --remove-annotations= KEY=VAL

Borrar todas las anotaciones

Para borrar todas las anotaciones, usa el siguiente comando:

gcloud secrets update SECRET_ID --clear-annotations

REST

Para borrar todas las anotaciones, usa el siguiente comando:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto Google Cloud
  • SECRET_ID: el ID del secreto o el identificador completo del secreto

Método HTTP y URL:

PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations

Cuerpo JSON de la solicitud:

{'annotations': {}}

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 PATCH \
-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/SECRET_ID?updateMask=annotations"

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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
  "createTime": "2024-09-02T07:14:00.281541Z",
  "etag": "\"16211dd90b37e7\""
}

Ver anotaciones

Para ver las anotaciones asociadas a un secreto, utiliza uno de los siguientes métodos:

Consola

  1. En la Google Cloud consola, ve a la página Secret Manager.

    Ir a Secret Manager

  2. En la página Secret Manager, haz clic en el secreto cuyas anotaciones quieras ver.

  3. Se abrirá la página de detalles del secreto. Haga clic en la pestaña Descripción general. Aquí puede ver las anotaciones adjuntas al secreto. Las claves se muestran en la columna de la izquierda, mientras que los valores se muestran en la columna de la derecha.

gcloud

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • SECRET_ID: el ID del secreto o el identificador completo del secreto

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud secrets describe SECRET_ID

Windows (PowerShell)

gcloud secrets describe SECRET_ID

Windows (cmd.exe)

gcloud secrets describe SECRET_ID

La respuesta contiene el secreto y las anotaciones.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto Google Cloud
  • SECRET_ID: el ID del secreto o el identificador completo del secreto

Método HTTP y URL:

GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID

Cuerpo JSON de la solicitud:

{}

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 GET \
-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/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 GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
  "createTime": "2024-09-02T07:14:00.281541Z",
  "etag": "\"16211dcd99c386\"",
  "annotations": {
    "key1": "value1",
    "key2": "value2"
  }
}

Siguientes pasos