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
 - 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
 - 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
 - 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
 
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.