En esta página, se describe cómo agregar anotaciones a un secreto regional y cómo editar y ver estas anotaciones.
Descripción general
Puedes usar anotaciones para almacenar metadatos personalizados sobre un secreto. Por ejemplo, es posible que desees anotar un secreto con la ruta de acceso en la que se montará. Las anotaciones pueden ser útiles de las siguientes maneras:
-
Categorizar los secretos según su propósito, entorno (desarrollo, etapa de pruebas, producción) o nivel de sensibilidad Esto facilita la búsqueda, el filtrado y la organización de secretos en Secret Manager.
-
Indica el formato o la estructura específicos del valor del secreto, lo que ayuda a la carga de trabajo a interpretarlo correctamente.
-
Proporciona sugerencias sobre cómo se debe usar el secreto o cualquier consideración especial para su manejo.
Por ejemplo, si tienes un secreto que contiene una contraseña de base de datos, puedes agregar 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 longitud de caracteres cuando se especifican metadatos en una etiqueta. Los metadatos de una anotación pueden ser pequeños o grandes, estructurados o no estructurados, y pueden incluir caracteres que las etiquetas no permiten.
Roles obligatorios
-
Para agregar y actualizar anotaciones en un secreto, se requiere el rol de administrador de Secret Manager (
roles/secretmanager.admin
) en el secreto, el proyecto, la carpeta o la organización. -
Para ver las anotaciones, se requiere el rol de visualizador de Secret Manager (
roles/secretmanager.viewer
) en el secreto, el proyecto, la carpeta o la organización.
No se pueden otorgar roles de Identity and Access Management (IAM) en una versión del secreto. Consulta Control de acceso con IAM para obtener más información.
Cómo agregar anotaciones a un secreto
Puedes agregar anotaciones cuando creas un secreto nuevo o actualizas uno existente. Los metadatos de una anotación se almacenan como pares clave-valor. Para agregar anotaciones, usa uno de los siguientes métodos:
Console
-
En la consola de Google Cloud , ve a la página Secret Manager.
-
En la página de Secret Manager, haz clic en la pestaña Secretos regionales y, luego, en Crear secreto regional.
-
En la página Crear secreto regional, ingresa un nombre para el secreto en el campo Nombre.
-
Ingresa 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. -
En la lista Región, selecciona la ubicación en la que deseas que se almacene tu Secret regional.
-
Ve a la sección Anotaciones y, luego, haz clic en Agregar anotación.
-
Ingresa la clave y el valor correspondiente.
-
Haz clic en Crear secreto.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
- LOCATION: Google Cloud Ubicación del secreto
- KEY: La clave de anotación
- VALUE: Es el valor correspondiente de la clave de anotación.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --set-annotations=KEY1=VAL1,KEY2=VAL2
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --set-annotations=KEY1=VAL1,KEY2=VAL2
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --set-annotations=KEY1=VAL1,KEY2=VAL2
La respuesta contiene el secreto y las anotaciones.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Google Cloud Ubicación del secreto
- PROJECT_ID: El Google Cloud ID del proyecto
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
- KEY: La clave de anotación
- VALUE: Es el valor correspondiente de la clave de anotación.
Método HTTP y URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dcd99c386\"", "annotations": { "key1": "value1", "key2": "value2" } }
Para agregar anotaciones a un secreto existente, consulta la sección Edita anotaciones de este documento.
Las claves de anotación tienen los siguientes requisitos:
-
Las claves deben ser únicas para un 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 comenzar 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.
Cómo editar anotaciones
Para editar anotaciones, usa uno de los siguientes métodos:
Console
-
En la consola de Google Cloud , ve a la página Secret Manager.
-
En la página de Secret Manager, haz clic en la pestaña Secretos regionales.
-
Ubica el secreto en la lista y haz clic en el menú
Acciones asociado a ese secreto. En el menú Acciones, haz clic en Editar. -
En la página Editar secreto, ve a la sección Anotaciones. Aquí puedes cambiar el valor de una anotación existente, borrarla o agregar una nueva.
-
Después de realizar los cambios, haz clic en Actualizar secreto.
gcloud
Cómo editar anotaciones existentes
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
- LOCATION: Google Cloud Ubicación del secreto
- KEY: La clave de anotación
- VALUE: Es el valor correspondiente de la clave de anotación.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
La respuesta edita el secreto y las anotaciones.
Cómo quitar una anotación específica
Para quitar anotaciones, usa el siguiente comando:
gcloud secrets update SECRET_ID --location=LOCATION --remove-annotations= KEY=VAL
Borrar todas las anotaciones
Para borrar todas las anotaciones, usa el siguiente comando:
gcloud secrets update SECRET_ID --location=LOCATION --clear-annotations
REST
Para borrar todas las anotaciones, usa el siguiente comando:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Google Cloud Ubicación del secreto
- PROJECT_ID: El Google Cloud ID del proyecto
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
Método HTTP y URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dd90b37e7\"" }
Cómo ver anotaciones
Para ver las anotaciones adjuntas a un secreto, usa uno de los siguientes métodos:
Console
-
En la consola de Google Cloud , ve a la página Secret Manager.
-
En la página Secret Manager, haz clic en la pestaña Secretos regionales y, luego, en el secreto cuyas anotaciones deseas ver.
-
Se abrirá la página de detalles del secreto. Haz clic en la pestaña Descripción general. Aquí puedes ver las anotaciones adjuntas al secreto. Las claves se enumeran en la columna de la izquierda, mientras que los valores se muestran en la columna de la derecha.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
- LOCATION: Google Cloud Ubicación del secreto
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets describe SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets describe SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets describe SECRET_ID --location=LOCATION
La respuesta contiene el secreto y las anotaciones.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Google Cloud Ubicación del secreto
- PROJECT_ID: El Google Cloud ID del proyecto
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
Método HTTP y URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dcd99c386\"", "annotations": { "key1": "value1", "key2": "value2" } }