En esta página, se describe cómo administrar el acceso a un secreto regional, incluido el material 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 administrar el acceso a los secretos,
pídele a tu administrador que te otorgue el rol de IAM de
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 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.
Otorgar acceso
Para otorgar acceso a un secreto, usa uno de los siguientes métodos:
Console
-
Ve a la página de Secret Manager en la consola de Google Cloud.
-
Ve a la pestaña Secrets regionales. Para seleccionar un secret, haz clic en la casilla de verificación junto al nombre del secret.
-
Si aún no está abierto, haz clic en Mostrar panel de información para abrir el panel.
-
En el panel de información, haz clic en Agregar principal.
-
En el campo Principales nuevas, ingresa las direcciones de correo electrónico de los miembros que deseas agregar.
-
En la lista Selecciona una función, elige Secret Manager y, luego, Administrador y descriptor de acceso a Secretos.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
- LOCATION: La ubicación de Google Cloud del secreto
- MEMBER: El miembro de IAM, como un usuario, un grupo o una cuenta de servicio
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Nota: A diferencia de los otros ejemplos, esta acción reemplaza toda la política de IAM.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de Google Cloud del secreto
- PROJECT_ID: Es el proyecto de Google Cloud que contiene el secreto.
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
- MEMBER: Es el miembro de IAM, 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 que se muestra a continuación:
{ "version": 1, "etag": "BwYhOrAmWFQ=", "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "user:username@google.com" ] } ] }
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.
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.
Revocar el acceso
Para revocar el acceso de un secreto, usa uno de los siguientes métodos:
Console
-
Ve a la página de Secret Manager en la consola de Google Cloud.
-
Ve a la pestaña Secrets regionales. Para seleccionar un secret, haz clic en la casilla de verificación junto al nombre del secret.
-
Si aún no está abierto, haz clic en Mostrar panel de información para abrir el panel.
-
En el panel de información, haz clic en la flecha del expansor junto al rol de usuario para ver una lista de los usuarios o cuentas de servicio con acceso a ese rol.
-
Para quitar el usuario o la cuenta de servicio, haz clic en
Borrar junto a la cuenta de servicio o el ID de usuario. -
En el cuadro de diálogo de confirmación que aparece, haz clic en Quitar.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
- LOCATION: La ubicación de Google Cloud del secreto
- MEMBER: El miembro de IAM, 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, esta acción reemplaza toda la política de IAM.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de Google Cloud del secreto
- PROJECT_ID: El ID del proyecto de Google Cloud
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
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 que se muestra a continuación:
{ "version": 1, "etag": "BwYhOtzsOBk=" }
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.
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.
¿Qué sigue?
- Cómo establecer una fecha de vencimiento para un Secret regional
- Crea programas de rotación
- Cómo configurar notificaciones en un secreto regional