En esta página se describe cómo gestionar el acceso a un secreto, incluido el material del secreto. Para obtener más información sobre los controles de acceso y los permisos, consulta Control de acceso con IAM.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar el acceso a los secretos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Secret Manager (roles/secretmanager.admin
) en el secreto, el proyecto, la carpeta o la organización.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Conceder acceso
Para conceder acceso a un secreto, usa uno de los siguientes métodos:
Consola
-
En la Google Cloud consola, ve a la página Secret Manager.
-
Para seleccionar un secreto, marca la casilla situada junto al nombre del secreto en la página Secret Manager.
-
Si aún no lo has hecho, haz clic en Mostrar panel de información para abrirlo.
-
En el panel de información, haz clic en Añadir principal.
-
En el campo Nuevos administradores, introduce las direcciones de correo de los miembros que quieras añadir.
-
En la lista Selecciona un rol, elige Secret Manager y, a continuación, selecciona Secret Manager Secret Accessor.
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
- MEMBER: el miembro de gestión de identidades y accesos, como un usuario, un grupo o una cuenta de servicio.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets add-iam-policy-binding SECRET_ID \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets add-iam-policy-binding SECRET_ID ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets add-iam-policy-binding SECRET_ID ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Nota: A diferencia de los otros ejemplos, este reemplaza toda la política de gestión de identidades y accesos.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el Google Cloud proyecto que contiene el secreto
- SECRET_ID: el ID del secreto o el identificador completo del secreto
- MEMBER: el miembro de gestión de identidades y accesos, como un usuario, un grupo o una cuenta de servicio.
Método HTTP y URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:setIamPolicy
Cuerpo JSON de la solicitud:
{"policy": {"bindings": [{"members": ["MEMBER"], "role": "roles/secretmanager.secretAccessor"}]}}
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/SECRET_ID:setIamPolicy"
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/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "version": 1, "etag": "BwYhOrAmWFQ=", "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "user:username@google.com" ] } ] }
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.
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.
Revocar acceso
Para revocar el acceso a un secreto, utiliza uno de los siguientes métodos:
Consola
-
En la Google Cloud consola, ve a la página Secret Manager.
-
Para seleccionar un secreto, marca la casilla situada junto al nombre del secreto en la página Secret Manager.
-
Si aún no lo has hecho, haz clic en Mostrar panel de información para abrirlo.
-
En el panel de información, haz clic en la flecha para desplegar junto al rol de usuario para ver una lista de los usuarios o las cuentas de servicio que tienen acceso a ese rol.
-
Para quitar el usuario o la cuenta de servicio, haz clic en
Eliminar junto al ID de la cuenta de servicio o del usuario. -
En el cuadro de diálogo de confirmación que aparece, haz clic en Quitar.
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
- MEMBER: el miembro de gestión de identidades y accesos, como un usuario, un grupo o una cuenta de servicio.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets remove-iam-policy-binding SECRET_ID \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets remove-iam-policy-binding SECRET_ID ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets remove-iam-policy-binding SECRET_ID ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Nota: A diferencia de los otros ejemplos, este reemplaza toda la política de gestión de identidades y accesos.
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:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:setIamPolicy
Cuerpo JSON de la solicitud:
{"policy": {"bindings": []}}
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/SECRET_ID:setIamPolicy"
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/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "version": 1, "etag": "BwYhOtzsOBk=" }
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.
Siguientes pasos
- Consulta cómo definir una fecha de vencimiento para un secreto.
- Consulta cómo configurar las rotaciones de secretos.
- Consulta cómo configurar notificaciones en un secreto.