Los datos del Secret son inmutables y la mayoría de las operaciones se llevan a cabo en las versiones del Secret. R Secret contiene los datos reales del Secret, junto con state y metadatos sobre el Secret. En este tema, se describe cómo agregar una versión del Secret.
Roles obligatorios
Si quieres obtener los permisos que necesitas para agregar una versión del secreto, solicita a tu administrador que te otorgue el los siguientes roles de IAM en un secreto:
-
Agregador de versiones de secretos de Secret Manager (
roles/secretmanager.secretVersionAdder
) -
Administrador de versiones de secretos de Secret Manager (
roles/secretmanager.secretVersionManager
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Agrega una versión del Secret
Console
-
Ve a la página Secret Manager en la consola de Google Cloud.
-
En la página Secret Manager, haz clic en Ver más
y selecciona Agregar versión nueva. -
En el cuadro de diálogo Agregar versión nueva, en el campo Valor del secreto, ingresa un valor para el secreto (p. ej.,
abcd1234
). -
Haz clic en el botón Agregar versión nueva.
gcloud
Para usar Secret Manager en la línea de comandos, primero Instala o actualiza a la versión 378.0.0 o posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Agrega una versión secreta del contenido de un archivo en el disco:
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
También puedes agregar una versión del secreto directamente en la línea de comandos, pero no es recomendable, ya que aparece como texto simple en la lista de procesos y es posible que otros usuarios del sistema lo capturen. Ten en cuenta que el comando con texto simple también estará en el historial de tu shell.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
De manera opcional, agrega una versión del contenido de un archivo cuando creas un secreto por primera vez:
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Codifica los datos secretos en Base64 y guárdalos como una variable de shell.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Invoca a la API mediante curl.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:addVersion" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
Estados de la versión del Secret
La versión del secreto puede tener uno de los siguientes estados en cualquier momento:
Habilitada: En este estado, se puede acceder a la versión del secreto y describirla. Este es el estado predeterminado de una versión nueva del secreto.
Inhabilitada: en este estado, no se puede acceder a la versión del secreto, pero el el contenido del Secret aún existe. La versión del Secret puede ser volver a habilitarse para restablecer el acceso.
Destruida: En este estado, el contenido de la versión del secreto se descartada. La versión del Secret no se puede cambiar a otro estado.
¿Qué sigue?
- Obtén más información para acceder a una versión del secreto.
- Obtén más información sobre cómo asignar un alias a una versión del secreto.
- Obtén más información para enumerar versiones de secretos y ver los detalles de la versión.