En esta página, se explica cómo restablecer una versión anterior de una política de permiso de IAM después de realizar cambios involuntarios o borrarla accidentalmente.
Para restablecer una política de IAM anterior, busca el último setIamPolicy exitoso antes del cambio o la eliminación, y úsalo para restablecer la política.
Roles obligatorios
Para obtener los permisos que necesitas para restablecer una política de permisos anterior, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto, la carpeta o la organización:
-
Restablece las políticas de permiso con
setIamPolicy:- Visor de registro (
roles/logging.viewer) - Administrador de la organización (
roles/resourcemanager.organizationAdmin) - Propietario (
roles/owner)
- Visor de registro (
-
Restablece las políticas de permiso con Cloud Asset Inventory:
Propietario de Cloud Asset (
roles/cloudasset.owner)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Cuando se restablecen las políticas de permisos consetIamPolicy, el rol de administrador de la organización es necesario para las políticas de permisos a nivel de la organización y de la carpeta, y el rol de propietario es necesario para las políticas de permisos a nivel del proyecto.
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Restablece una política de permisos con la última instancia setIamPolicy exitosa
Para restablecer una política de permisos a una versión anterior, puedes revisar tus registros de auditoría para ver la última instancia exitosa de setIamPolicy antes del cambio o la eliminación, y usar la información de esa instancia para restablecer la política. Este proceso implica los siguientes pasos:
- Identifica la última instancia
setIamPolicyexitosa para la política de permisos y recupera elinsertId. - Usa
insertIdde la solicitudsetIamPolicypara exportar la política de permisos en formato YAML o JSON. - Modifica el archivo de salida para que coincida con la política de permisos anterior que funcionaba y anula la política de permisos actual.
Identifica la última instancia exitosa de setIamPolicy y recupera el insertId.
Para identificar la última instancia correcta de setIamPolicy y recuperar el isertId, usa la consola de Google Cloud o la gcloud CLI para revisar tus registros de auditoría.
Console
En la consola de Google Cloud , accede a la página Explorador de registros.
En el editor de consultas, ingresa una de las siguientes consultas. Estas búsquedas buscan en tus registros de auditoría las entradas que tienen
SetIamPolicyen el campomethodNamedelprotoPayload:Para obtener los registros de todos los cambios en la política de permisos realizados en un recurso, usa la siguiente consulta:
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy
Para obtener los registros de los cambios en la política de permisos que involucran a un usuario o una cuenta de servicio específicos, usa la siguiente consulta:
logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName:SetIamPolicy protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
Reemplaza lo siguiente:
RESOURCE_TYPE: Es el tipo de recurso para el que creas una lista de registros de auditoría. Los valores válidos sonprojects,foldersoorganizations.RESOURCE_ID: Tu Google Cloud ID de proyecto, carpeta o organización. Los IDs de proyecto son alfanuméricos, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.EMAIL_ADDRESS: Es la dirección de correo electrónico del usuario o la cuenta de servicio (por ejemplo,example-service-account@example-project.iam.gserviceaccount.com).
Para ejecutar la consulta, haz clic en Ejecutar consulta.
Usa el selector Línea de tiempo para especificar el intervalo de tiempo adecuado para la consulta. También puedes agregar una expresión de marca de tiempo directamente al editor de consultas. Para obtener más información, consulta Visualiza registros por período.
Copia el
insertIdde la última instancia exitosa desetIamPolicyantes del cambio o la eliminación.
gcloud
El comando
gcloud logging read
lee las entradas de registro.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
-
RESOURCE_TYPE: El tipo de recurso para el que creas una lista de registros de auditoría. Usa el valorprojects,foldersoorganizations. -
RESOURCE_ID: Tu ID de proyecto, organización o carpeta de Google Cloud. Los IDs de proyecto son cadenas alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012. -
TIME_PERIOD: Es el período para el que creas una lista de registros de auditoría. Las entradas que se devuelven no son anteriores a este valor. Si no se especifica, el valor predeterminado es1d. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime. -
RESOURCE_TYPE_SINGULAR: El tipo de recurso para el que creas una lista de registros de auditoría. Usa el valorproject,folderoorganization.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud logging read \ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' \ --freshness=TIME_PERIOD \ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows (PowerShell)
gcloud logging read ` 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ` --freshness=TIME_PERIOD ` --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Windows (cmd.exe)
gcloud logging read ^ 'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity AND protoPayload.methodName=SetIamPolicy' ^ --freshness=TIME_PERIOD ^ --RESOURCE_TYPE_SINGULAR=RESOURCE_ID
Copia el insertId de la última instancia exitosa de setIamPolicy antes del cambio o la eliminación.
Usa insertId para exportar la política de permisos.
Usa el insertId que recuperaste de la última instancia exitosa de setIamPolicy para ejecutar el siguiente comando en la gcloud CLI y exportar la política de permisos en formato JSON o YAML. Puedes exportar políticas de permisos para organizaciones y proyectos.
Nivel de la organización
El comando
gcloud logging read
lee las entradas de registro.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
-
ORGANIZATION_ID: Es la organización para la que deseas ver y exportar la política de permisos. -
INSERT_ID: Es elinsertIdde la solicitudsetIamPolicy. -
FORMAT: Es el formato de la respuesta. Usajsonoyaml. -
TIME_PERIOD: Es el período para el que creas una lista de registros de auditoría. Las entradas que se devuelven no son anteriores a este valor. Si no se especifica, el valor predeterminado es1d. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime. -
OUTPUT_FILE: Nombre de archivo y extensión del archivo de salida. Por ejemplo,previous_policy.jsonoprevious_policy.yaml.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows (PowerShell)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Windows (cmd.exe)
gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com insertId="INSERT_ID"' --organization=ORGANIZATION_ID --format="FORMAT(protoPayload.request.policy)" --freshness=TIME_PERIOD > OUTPUT_FILE
Nivel de proyecto
El comando
gcloud logging read
lee las entradas de registro.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
-
INSERT_ID: Es elinsertIdde la solicitudsetIamPolicy. -
TIME_PERIOD: Es el período para el que creas una lista de registros de auditoría. Las entradas que se devuelven no son anteriores a este valor. Si no se especifica, el valor predeterminado es1d. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime. -
FORMAT: Es el formato de la respuesta. Usajsonoyaml. -
OUTPUT_FILE: Es el nombre del archivo en el que deseas guardar el resultado, por ejemplo,previous_policy.jsonoprevious_policy.yaml.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud logging read \ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' \ --freshness=TIME_PERIOD \ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows (PowerShell)
gcloud logging read ` 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ` --freshness=TIME_PERIOD ` --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Windows (cmd.exe)
gcloud logging read ^ 'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ^ --freshness=TIME_PERIOD ^ --format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE
Modifica el archivo de salida y anula la política de permisos actual
Modifica el archivo de salida de las siguientes maneras y anula la política de permisos actual.
De manera programática o con un editor de texto, modifica el archivo de salida borrando las siguientes líneas:
--- protoPayload: request: policy:El archivo resultante comienza con
auditConfigs:.Obtén la política de permisos actual.
gcloud
El comando
gcloud get-iam-policyobtiene la política de permisos de un proyecto, una carpeta o una organización.Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
-
RESOURCE_TYPE: Es el tipo de recurso para el que deseas obtener la política de permisos. Los valores válidos sonprojects,resource-manager foldersoorganizations. -
RESOURCE_ID: Tu ID de la organización, carpeta o Google Cloud proyecto. Los IDs de proyecto son alfanuméricos, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012. -
FORMAT: El formato deseado para la política permisos. Usajsonoyaml. -
PATH: Es la ruta a un nuevo archivo de salida de la política de permisos.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Por ejemplo, con el siguiente comando, se obtiene la política de permisos para el proyecto
my-projecty se guarda en tu directorio principal en formato JSON:gcloud projects get-iam-policy my-project --format json > ~/policy.json
C#
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo obtener la política de permisos para un proyecto. Para obtener información sobre la política de permisos de una carpeta u organización, consulta la documentación de las bibliotecas cliente de Resource Manager de tu lenguaje de programación.
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo obtener la política de permisos para un proyecto. Para obtener información sobre la política de permisos de una carpeta u organización, consulta la documentación de las bibliotecas cliente de Resource Manager de tu lenguaje de programación.
Python
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo obtener la política de permisos para un proyecto. Para obtener información sobre la política de permisos de una carpeta u organización, consulta la documentación de las bibliotecas cliente de Resource Manager de tu lenguaje de programación.
REST
El método
get-iam-policyde la API de Resource Manager obtiene la política de permisos de un proyecto, una carpeta o una organización.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
API_VERSION: La versión de la API que se usará. Para los proyectos y las organizaciones, usav1. Para las carpetas, usav2.RESOURCE_TYPE: El tipo de recurso cuya política deseas administrar. Usa el valorprojects,foldersoorganizations.RESOURCE_ID: Tu ID de proyecto, organización o carpeta de Google Cloud. Los IDs de proyecto son cadenas alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.POLICY_VERSION: Es la versión de la política que se mostrará. Las solicitudes deben especificar la versión de política más reciente, que es la versión de política 3. Consulta Especifica una versión de política cuando obtienes una política para obtener más detalles.
Método HTTP y URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy
Cuerpo JSON de la solicitud:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene la política de permisos del recurso. Por ejemplo:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] } ] }Guarda la respuesta en un archivo del tipo adecuado (
jsonoyaml).-
Copia el valor de
etagde la política de permisos actual.Reemplaza el valor
etagen el archivo de salida por el valoretagque copiaste de la política de permiso actual. Eletagdel archivo de salida debe coincidir con eletagactual para iniciar una nueva solicitud desetIamPolicy. Asegúrate de que el espaciado de la ETag no haya cambiado en el archivo de salida.Revisa el archivo para asegurarte de que coincida con la política de permiso anterior que funcionaba. Podrías considerar crear un proyecto nuevo y aplicar la política para asegurarte de que funcione según lo previsto.
Establece la política de permisos para anular la política de permisos actual con la que se encuentra en el archivo de salida que creaste.
gcloud
El comando
gcloud set-iam-policyestablece la política en la solicitud como la nueva política de permisos para el proyecto, la carpeta o la organización.Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
-
RESOURCE_TYPE: Es el tipo de recurso para el que deseas establecer la política de permisos. Los valores válidos sonprojects,resource-manager foldersoorganizations. -
RESOURCE_ID: Tu ID de la organización, carpeta o Google Cloud proyecto. Los IDs de proyecto son alfanuméricos, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012. -
PATH: Es la ruta a un archivo que contiene la política de permisos nueva.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
La respuesta contiene la política de permisos actualizada:
Por ejemplo, con el siguiente comando, se establece la política de permisos almacenada en
policy.jsoncomo la política de permisos para el proyectomy-project:gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo configurar la política de permisos de un proyecto. Si deseas obtener información para configurar la política de permisos de una carpeta o una organización, consulta la documentación de la biblioteca cliente de Resource Manager para tu lenguaje de programación.
Python
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo configurar la política de permisos de un proyecto. Si deseas obtener información para configurar la política de permisos de una carpeta o una organización, consulta la documentación de la biblioteca cliente de Resource Manager para tu lenguaje de programación.
REST
El método
set-iam-policyde la API de Resource Manager establece la política en la solicitud como la política de permisos nueva para el proyecto, la carpeta o la organización.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
API_VERSION: La versión de la API que se usará. Para los proyectos y las organizaciones, usav1. Para las carpetas, usav2.RESOURCE_TYPE: El tipo de recurso cuya política deseas administrar. Usa el valorprojects,foldersoorganizations.RESOURCE_ID: Tu ID de proyecto, organización o carpeta de Google Cloud. Los IDs de proyecto son cadenas alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.-
POLICY: Una representación JSON de la política que deseas establecer. Para obtener más información sobre el formato de una política, consulta la Referencia de políticas.
Método HTTP y URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Cuerpo JSON de la solicitud:
{ "policy": POLICY }Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene la política de permisos actualizada:
-
Restaurar una política de permisos con Cloud Asset Inventory
Para restablecer una política de permisos a una versión anterior, puedes usar Cloud Asset Inventory para ver el historial de cambios de las políticas de permisos del recurso y usar esa información para restablecer la política. Este proceso implica los siguientes pasos:
- Usa Cloud Asset Inventory para revisar el historial de cambios de las políticas de permisos y, luego, identifica la política de permisos que deseas restablecer.
- Copia la política de permisos y crea un archivo nuevo en formato JSON.
- Anula la política de permisos actual con la del archivo nuevo.
Revisa el historial de cambios de la política de permisos con Cloud Asset Inventory
Console
En la consola de Google Cloud , ve a la página Inventario de activos.
Haz clic en la pestaña Política de IAM.
Ejecuta la siguiente consulta en el campo Filtro:
Resource :
RESOURCE_IDReemplaza
RESOURCE_IDpor el ID de tu proyecto, carpeta o organización Google Cloud. Los IDs de proyecto son alfanuméricos, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.Para ver el historial de cambios de la política de permisos del recurso, haz clic en el nombre del recurso y, luego, selecciona la pestaña Historial de cambios.
Para comparar los cambios en la política de permisos del recurso, selecciona dos registros con marcas de fecha y hora diferentes en el menú Selecciona un registro para comparar.
gcloud
El comando
gcloud asset get-history
obtiene el historial actualizado de las políticas de permisos en un activo que se superpone con un período.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
-
RESOURCE_TYPE: El tipo de recurso para el que creas una lista de registros de auditoría. Usa el valorproject,folderoorganization. -
RESOURCE_ID: Tu ID de proyecto, organización o carpeta de Google Cloud. Los IDs de proyecto son cadenas alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012. -
ASSET_NAME: Es una lista separada por comas de nombres de recursos con formato para los recursos cuyos historiales de políticas de permisos deseas ver. Por ejemplo,//cloudresourcemanager.googleapis.com/projects/my-project. Estos recursos pueden ser cualquiera de los tipos de recursos que aceptan políticas de permisos. -
START_TIME: Es el comienzo del intervalo de tiempo. El intervalo máximo es de 7 días. El valor debe ser la hora actual o una hora que no sea más de 35 días anterior. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime. -
END_TIME: Opcional Es el punto final del intervalo de tiempo. El intervalo máximo es de 7 días. El valor debe ser la hora actual o una hora que no supere los 35 días en el pasado. Cuando no se proporciona, se supone que la hora de finalización es la hora actual. Para obtener información sobre los formatos de hora, consulta gcloud topic datetime.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud asset get-history \ --RESOURCE_TYPE=RESOURCE_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --content-type=iam-policy \ --start-time=START_TIME \ --end-time=END_TIME
Windows (PowerShell)
gcloud asset get-history ` --RESOURCE_TYPE=RESOURCE_ID ` --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ` --content-type=iam-policy ` --start-time=START_TIME ` --end-time=END_TIME
Windows (cmd.exe)
gcloud asset get-history ^ --RESOURCE_TYPE=RESOURCE_ID ^ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^ --content-type=iam-policy ^ --start-time=START_TIME ^ --end-time=END_TIME
La respuesta contiene el historial actualizado de las políticas de permisos.
Crea un archivo de política de permisos nuevo
Después de revisar el historial de la política de permisos y de identificar la política de permisos que deseas restablecer, completa los siguientes pasos.
Copia la política de permisos que deseas restablecer a partir de la línea
"bindings"hasta la línea"etag".Pega la política de permiso que copiaste en un archivo nuevo y usa llaves (
{}) para encerrar la política. Por ejemplo, la política de permisos podría tener el siguiente aspecto:{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", }Guarda el archivo en formato JSON. Por ejemplo, podrías llamar al archivo nuevo
previous_iam_policy.json.
Establece la nueva política de permisos
Establece la política de permisos para anular la política de permisos actual con la que se encuentra en el archivo de salida que creaste.
gcloud
El comando
gcloud set-iam-policy
establece la política en la solicitud como la nueva política de permisos para el proyecto, la carpeta o la organización.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
-
RESOURCE_TYPE: Es el tipo de recurso para el que deseas establecer la política de permisos. Los valores válidos sonprojects,resource-manager foldersoorganizations. -
RESOURCE_ID: Tu ID de la organización, carpeta o Google Cloud proyecto. Los IDs de proyecto son alfanuméricos, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012. -
PATH: Es la ruta a un archivo que contiene la política de permisos nueva.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (PowerShell)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Windows (cmd.exe)
gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
La respuesta contiene la política de permisos actualizada:
Por ejemplo, con el siguiente comando, se establece la política de permisos almacenada en policy.json como la política de permisos para el proyecto my-project:
gcloud projects set-iam-policy my-project ~/policy.json
C#
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo configurar la política de permisos de un proyecto. Si deseas obtener información para configurar la política de permisos de una carpeta o una organización, consulta la documentación de la biblioteca cliente de Resource Manager para tu lenguaje de programación.
Python
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
En el siguiente ejemplo, se muestra cómo configurar la política de permisos de un proyecto. Si deseas obtener información para configurar la política de permisos de una carpeta o una organización, consulta la documentación de la biblioteca cliente de Resource Manager para tu lenguaje de programación.
REST
El método set-iam-policy de la API de Resource Manager establece la política en la solicitud como la política de permisos nueva para el proyecto, la carpeta o la organización.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
API_VERSION: La versión de la API que se usará. Para los proyectos y las organizaciones, usav1. Para las carpetas, usav2.RESOURCE_TYPE: El tipo de recurso cuya política deseas administrar. Usa el valorprojects,foldersoorganizations.RESOURCE_ID: Tu ID de proyecto, organización o carpeta de Google Cloud. Los IDs de proyecto son cadenas alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.-
POLICY: Una representación JSON de la política que deseas establecer. Para obtener más información sobre el formato de una política, consulta la Referencia de políticas.
Método HTTP y URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Cuerpo JSON de la solicitud:
{
"policy": POLICY
}
Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene la política de permisos actualizada: