En esta página se describe cómo gestionar el acceso a un secreto regional, 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.
-
Vaya a la pestaña Secretos regionales. Para seleccionar un secreto, haga clic en la casilla situada junto a su nombre.
-
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
Asegúrate de haber seguido los pasos que se describen en Habilitar la API Secret Manager para gestionar secretos regionales.Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- SECRET_ID: el ID del secreto
- LOCATION: la Google Cloud ubicación 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 --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ^ --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:
- LOCATION: la Google Cloud ubicación del secreto
- 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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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" ] } ] }
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.
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.
-
Vaya a la pestaña Secretos regionales. Para seleccionar un secreto, haga clic en la casilla situada junto a su nombre.
-
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
- LOCATION: la Google Cloud ubicación 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 --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ^ --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:
- LOCATION: la Google Cloud ubicación del secreto
- PROJECT_ID: el ID del proyecto Google Cloud
- SECRET_ID: el ID del secreto
Método HTTP y URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "version": 1, "etag": "BwYhOtzsOBk=" }
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.
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.
Siguientes pasos
- Definir la fecha de vencimiento de un secreto regional
- Crear programaciones de rotación
- Configurar notificaciones en un secreto regional