En esta página se describe cómo conceder, cambiar y revocar el acceso a proyectos, carpetas y organizaciones. Cuando concedes acceso a proyectos, carpetas y organizaciones, también concedes acceso a los recursos que contienen.
Para saber cómo gestionar el acceso a otros recursos, consulta las siguientes guías:
En Gestión de Identidades y Accesos (IAM), el acceso se concede mediante políticas de permiso, también conocidas como políticas de IAM. Una política de permiso se adjunta a un recursoTrusted Cloud by S3NS . Cada política de permiso contiene una colección de vinculaciones de roles que asocian una o varias entidades principales, como usuarios o cuentas de servicio, a un rol de gestión de identidades y accesos. Estas vinculaciones de roles conceden los roles especificados a las entidades principales, tanto en el recurso al que se adjunta la política de permiso como en todos los descendientes de ese recurso. Para obtener más información sobre las políticas de permiso, consulta Información sobre las políticas de permiso.
Puedes gestionar el acceso a proyectos, carpetas y organizaciones con laTrusted Cloud consola, la CLI de Google Cloud, la API REST o las bibliotecas de cliente de Resource Manager.
Antes de empezar
Enable the Resource Manager API.
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
C#
Para usar las .NET muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Para obtener más información, consulta el artículo Autenticación para usar REST de la documentación sobre autenticación de Trusted Cloud .
Roles de gestión de identidades y accesos necesarios
Cuando creas un proyecto, una carpeta o una organización, se te asigna automáticamente un rol que te permite gestionar el acceso a ese recurso. Para obtener más información, consulta el artículo Políticas predeterminadas.
Si no has creado el proyecto, la carpeta o la organización, asegúrate de que tienes los roles que necesitas para gestionar el acceso a ese recurso.
Para obtener los permisos que necesitas para gestionar el acceso a un proyecto, una carpeta o una organización, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el recurso al que quieras gestionar el acceso (proyecto, carpeta u organización):
-
Para gestionar el acceso a un proyecto, haz lo siguiente:
Administrador de gestión de identidades y accesos de proyectos (
roles/resourcemanager.projectIamAdmin
) -
Para gestionar el acceso a una carpeta, sigue estos pasos:
Administrador de carpetas (
roles/resourcemanager.folderAdmin
) -
Para gestionar el acceso a proyectos, carpetas y organizaciones, sigue estos pasos:
Administrador de la organización (
roles/resourcemanager.organizationAdmin
) -
Para gestionar el acceso a casi todos los recursos de Trusted Cloud :
Administrador de seguridad (
roles/iam.securityAdmin
)
Estos roles predefinidos contienen los permisos necesarios para gestionar el acceso a un proyecto, una carpeta o una organización. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para gestionar el acceso a un proyecto, una carpeta o una organización, se necesitan los siguientes permisos:
-
Para gestionar el acceso a los proyectos, sigue estos pasos:
-
resourcemanager.projects.getIamPolicy
-
resourcemanager.projects.setIamPolicy
-
-
Para gestionar el acceso a las carpetas, sigue estos pasos:
-
resourcemanager.folders.getIamPolicy
-
resourcemanager.folders.setIamPolicy
-
-
Para gestionar el acceso a las organizaciones, sigue estos pasos:
-
resourcemanager.organizations.getIamPolicy
-
resourcemanager.organizations.setIamPolicy
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Ver el acceso actual
Puedes ver quién tiene acceso a tu proyecto, carpeta u organización mediante la Trusted Cloud consola, la CLI de gcloud, la API REST o las bibliotecas de cliente de Resource Manager.
Consola
En la consola, ve a la página IAM. Trusted Cloud
Selecciona un proyecto, una carpeta o una organización.
La consola Trusted Cloud muestra todos los principales a los que se les han concedido roles en tu proyecto, carpeta u organización. En esta lista se incluyen las entidades que han heredado roles en el recurso de los recursos superiores. Para obtener más información sobre la herencia de políticas, consulta Herencia de políticas y jerarquía de recursos.
Opcional: Para ver las concesiones de roles de los agentes de servicio, marca la casilla Incluir concesiones de roles proporcionadas por S3NS.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para ver quién tiene acceso a tu proyecto, carpeta u organización, obtén la política de permiso del recurso. Para saber cómo interpretar las políticas de permiso, consulta el artículo Descripción de las políticas de permiso.
Para obtener la política de permiso del recurso, ejecuta el comando
get-iam-policy
del recurso:gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Proporciona los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso al que quieres ver el acceso. Usa uno de estos valores:projects
,resource-manager folders
oorganizations
. -
RESOURCE_ID
: ID de tu Trusted Cloud proyecto, carpeta u organización. Los IDs de proyecto son alfanuméricos, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
. -
FORMAT
: el formato que quieres que tenga la política. Usajson
oyaml
. -
PATH
: ruta a un nuevo archivo de salida de la política.
Por ejemplo, el siguiente comando obtiene la política del proyecto
my-project
y la guarda en tu directorio principal en formato JSON:gcloud projects get-iam-policy my-project --format=json > ~/policy.json
-
API_VERSION
: la versión de la API que se va a usar. Para proyectos y organizaciones, usav1
. En el caso de las carpetas, usav2
.RESOURCE_TYPE
: el tipo de recurso cuya política quieres gestionar. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: ID de tu Trusted Cloud proyecto, organización o carpeta. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.POLICY_VERSION
: la versión de la política que se va a devolver. En las solicitudes se debe especificar la versión de la política más reciente, que es la versión 3. Consulta Especificar una versión de la política al obtener una política para obtener más información.
C#
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Para ver quién tiene acceso a tu proyecto, carpeta u organización, obtén la política de permiso del recurso. Para saber cómo interpretar las políticas de permitir, consulta el artículo Descripción de las políticas de permitir.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de 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 la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Para ver quién tiene acceso a tu proyecto, carpeta u organización, obtén la política de permiso del recurso. Para saber cómo interpretar las políticas de permitir, consulta el artículo Descripción de las políticas de permitir.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de 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 la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Para ver quién tiene acceso a tu proyecto, carpeta u organización, obtén la política de permiso del recurso. Para saber cómo interpretar las políticas de permitir, consulta el artículo Descripción de las políticas de permitir.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de cliente de Resource Manager de tu lenguaje de programación.
REST
Para ver quién tiene acceso a tu proyecto, carpeta u organización, obtén la política de permisos del recurso. Para saber cómo interpretar las políticas de permiso, consulta el artículo Descripción de las políticas de permiso.
El método
getIamPolicy
de la API Resource Manager obtiene la política de permisos de un proyecto, una carpeta o una organización.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega 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": [ "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com" ] } ] }
Conceder o revocar un solo rol de gestión de identidades y accesos
Puedes usar la Trusted Cloud consola y la CLI de gcloud para asignar o revocar rápidamente un único rol de una sola entidad principal sin tener que editar directamente la política de permisos del recurso.Entre los tipos habituales de principales se incluyen las cuentas de servicio, las identidades de los grupos de identidades de la plantilla y las identidades de los grupos de identidades de carga de trabajo. Para ver una lista de todos los tipos de principales, consulta Tipos de principales.
Por lo general, los cambios en las políticas se aplican en un plazo de 2 minutos. Sin embargo, en algunos casos, los cambios pueden tardar 7 minutos o más en propagarse por el sistema.
Si necesitas ayuda para identificar el rol predefinido más adecuado, consulta el artículo Buscar los roles predefinidos adecuados.
Conceder un solo rol de gestión de identidades y accesos
Para conceder un solo rol a una entidad, sigue estos pasos:
Consola
En la consola, ve a la página IAM. Trusted Cloud
Selecciona un proyecto, una carpeta o una organización.
Selecciona una cuenta principal a la que quieras asignar un rol:
Para asignar un rol a una principal que ya tiene otros roles en el recurso, busca la fila que contiene la principal, haz clic en
Editar principal en esa fila y, a continuación, en Añadir otro rol.Para conceder un rol a un agente de servicio, selecciona la casilla Incluir concesiones de roles proporcionadas por S3NS para ver su dirección de correo electrónico.
Para asignar un rol a un principal que no tenga ningún rol en el recurso, haz clic en identificador de principal (por ejemplo,
Conceder acceso y, a continuación, introduce un//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
).
Selecciona un rol de la lista desplegable para concederlo. Para seguir las prácticas recomendadas de seguridad, elige un rol que incluya solo los permisos que necesite tu principal.
Opcional: Añade una condición al rol.
Haz clic en Guardar. Se concede el rol a la entidad principal en el recurso.
Para conceder un rol a una entidad de seguridad en más de un proyecto, carpeta u organización, sigue estos pasos:
En la Trusted Cloud consola, ve a la página Gestionar recursos.
Selecciona todos los recursos a los que quieras conceder permisos.
Si no ves el panel de información, haz clic en Mostrar panel de información. A continuación, haz clic en Permisos.
Selecciona una cuenta principal a la que quieras asignar un rol:
- Para conceder un rol a un principal que ya tiene otros roles, busca una fila que contenga el principal, haz clic en Editar principal en esa fila y, a continuación, en Añadir otro rol.
- Para asignar un rol a un principal que aún no tenga otros roles, haz clic en identificador de principal (por ejemplo,
//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
).
Añadir principal y, a continuación, introduce un
Selecciona un rol de la lista desplegable para concederlo.
Opcional: Añade una condición al rol.
Haz clic en Guardar. Se concede a la entidad principal el rol seleccionado en cada uno de los recursos seleccionados.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
El comando
add-iam-policy-binding
te permite asignar rápidamente un rol a una cuenta principal.Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
-
RESOURCE_TYPE
: el tipo de recurso al que quieras gestionar el acceso. Usaprojects
,resource-manager folders
oorganizations
. -
RESOURCE_ID
: el ID de tu Trusted Cloud proyecto, carpeta u organización. Los IDs de proyecto son alfanuméricos, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
. -
PRINCIPAL
: identificador de la entidad principal o del miembro, que suele tener el siguiente formato:PRINCIPAL_TYPE:ID
. Por ejemplo,principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver una lista completa de los valores que puede tenerPRINCIPAL
, consulta Identificadores principales. -
ROLE_NAME
: el nombre del rol que quieres revocar. Se debe utilizar uno de los formatos indicados a continuación.- Roles predefinidos:
roles/SERVICE.IDENTIFIER
- Roles personalizados a nivel de proyecto:
projects/PROJECT_ID/roles/IDENTIFIER
- Roles personalizados a nivel de organización:
organizations/ORG_ID/roles/IDENTIFIER
Si quieres ver una lista de los roles predefinidos, consulta el artículo Descripción de los roles.
- Roles predefinidos:
-
CONDITION
: la condición que se va a añadir a la vinculación de roles. Si no quiere añadir ninguna condición, use el valorNone
. Para obtener más información sobre las condiciones, consulta el resumen de las condiciones.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Windows (PowerShell)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ` --member=PRINCIPAL --role=ROLE_NAME ` --condition=CONDITION
Windows (cmd.exe)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^ --member=PRINCIPAL --role=ROLE_NAME ^ --condition=CONDITION
La respuesta contiene la política de gestión de identidades y accesos actualizada.
-
Revocar un solo rol de gestión de identidades y accesos
Para revocar un solo rol de una entidad de seguridad, haz lo siguiente:
Consola
En la consola, ve a la página IAM. Trusted Cloud
Selecciona un proyecto, una carpeta o una organización.
Busca la fila que contenga la cuenta principal cuyo acceso quieras revocar. A continuación, haz clic en
Editar principal en esa fila.Haga clic en el botón Eliminar
del rol que quiera revocar y, a continuación, haga clic en Guardar.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para revocar rápidamente un rol de un usuario, ejecuta el comando
remove-iam-policy-binding
:gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID
--member=PRINCIPAL --role=ROLE_NAMEProporciona los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso al que quieras gestionar el acceso. Usaprojects
,resource-manager folders
oorganizations
. -
RESOURCE_ID
: ID de tu Trusted Cloud proyecto, carpeta u organización. Los IDs de proyecto son alfanuméricos, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
. -
PRINCIPAL
: identificador de la entidad principal o del miembro, que suele tener el siguiente formato:PRINCIPAL_TYPE:ID
. Por ejemplo,principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. -
ROLE_NAME
: el nombre del rol que quieres revocar. Se debe utilizar uno de los formatos indicados a continuación.- Roles predefinidos:
roles/SERVICE.IDENTIFIER
- Roles personalizados a nivel de proyecto:
projects/PROJECT_ID/roles/IDENTIFIER
- Roles personalizados a nivel de organización:
organizations/ORG_ID/roles/IDENTIFIER
Si quieres ver una lista de los roles predefinidos, consulta el artículo Descripción de los roles.
- Roles predefinidos:
Por ejemplo, para revocar el rol Creador de proyectos de la cuenta de servicio
example-service-account@example-project.s3ns-system.iam.gserviceaccount.com
del proyectoexample-project
, haz lo siguiente:gcloud projects remove-iam-policy-binding example-project
--member=serviceAccount:example-service-account@example-project.s3ns-system.iam.gserviceaccount.com
--role=roles/resourcemanager.projectCreator -
Para asegurarte de que no revocas ningún rol necesario, puedes habilitar las recomendaciones de riesgo de cambio. Las recomendaciones de riesgo de cambio generan advertencias cuando intentas revocar roles a nivel de proyecto que se han identificado como importantes.Trusted Cloud
Conceder o revocar varios roles de gestión de identidades y accesos con la Trusted Cloud consola
Puedes usar la consola para asignar y revocar varios roles a una sola entidad principal: Trusted Cloud
En la consola, ve a la página IAM. Trusted Cloud
Selecciona un proyecto, una carpeta o una organización.
Selecciona el principal cuyos roles quieras modificar:
Para modificar los roles de una entidad de seguridad que ya tiene roles en el recurso, busca la fila que contiene la entidad de seguridad, haz clic en
Editar entidad de seguridad en esa fila y, a continuación, en Añadir otro rol.Para modificar los roles de un agente de servicio, marca la casilla Incluir concesiones de roles proporcionadas por S3NS para ver su dirección de correo.
Para asignar roles a una entidad principal que no tenga ningún rol en el recurso, haz clic en identificador de entidad principal (por ejemplo,
Grant Access (Conceder acceso) y, a continuación, introduce un//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
).
Modifica los roles de la entidad principal:
- Para asignar un rol a un principal que no tenga ningún rol en el recurso, haz clic en Seleccionar un rol y, a continuación, selecciona el rol que quieras asignar en la lista desplegable.
- Para asignar otro rol al principal, haz clic en Añadir otro rol y selecciona un rol de la lista desplegable.
- Para sustituir uno de los roles del administrador principal por otro, haz clic en el rol actual y, a continuación, elige otro rol en la lista desplegable.
- Para revocar uno de los roles del principal, haz clic en el botón Eliminar de cada rol que quieras revocar.
También puedes añadir una condición a un rol, modificar la condición de un rol o quitar la condición de un rol.
Haz clic en Guardar.
Conceder o revocar varios roles de gestión de identidades y accesos de forma programática
Para hacer cambios de acceso a gran escala que impliquen conceder y revocar varios roles a varias entidades, usa el patrón lectura-modificación-escritura para actualizar la política de permiso del recurso:
- Lee la política de permiso actual llamando a
getIamPolicy()
. - Edita la política de permiso, ya sea mediante un editor de texto o de forma programática, para añadir o eliminar principales o enlaces de roles.
- Escribe la política de permiso actualizada llamando a
setIamPolicy()
.
Puedes usar la CLI de gcloud, la API REST o las bibliotecas de cliente de Resource Manager para actualizar la política de permiso.
Por lo general, los cambios en las políticas se aplican en un plazo de 2 minutos. Sin embargo, en algunos casos, los cambios pueden tardar 7 minutos o más en propagarse por el sistema.
Obtener la política de permisos actual
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para obtener la política de permiso del recurso, ejecuta el comando
get-iam-policy
del recurso:gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH
Proporciona los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso del que quieres obtener la política de permiso. Usa uno de los siguientes valores:projects
,resource-manager folders
oorganizations
. -
RESOURCE_ID
: ID de tu Trusted Cloud proyecto, carpeta u organización. Los IDs de proyecto son alfanuméricos, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
. -
FORMAT
: el formato deseado de la política de permiso. Usajson
oyaml
. -
PATH
: ruta a un nuevo archivo de salida para la política allow.
Por ejemplo, el siguiente comando obtiene la política de permiso del proyecto
my-project
y la guarda en tu directorio principal en formato JSON:gcloud projects get-iam-policy my-project --format json > ~/policy.json
-
API_VERSION
: la versión de la API que se va a usar. Para proyectos y organizaciones, usav1
. En el caso de las carpetas, usav2
.RESOURCE_TYPE
: el tipo de recurso cuya política quieres gestionar. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: ID de tu Trusted Cloud proyecto, organización o carpeta. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.POLICY_VERSION
: la versión de la política que se va a devolver. En las solicitudes se debe especificar la versión de la política más reciente, que es la versión 3. Consulta Especificar una versión de la política al obtener una política para obtener más información.
C#
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de 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 la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de 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 la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
En el siguiente ejemplo se muestra cómo obtener la política de permiso de un proyecto. Para saber cómo obtener la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de cliente de Resource Manager de tu lenguaje de programación.
REST
El método
getIamPolicy
de la API Resource Manager obtiene la política de permisos de un proyecto, una carpeta o una organización.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega 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": [ "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com" ] } ] }
Guarda la respuesta en un archivo del tipo adecuado (
json
oyaml
).Modificar la política de permiso
Modifica la copia local de la política de permisos de tu recurso de forma programática o mediante un editor de texto para reflejar los roles que quieras otorgar o revocar.
Para evitar que sobrescribas otros cambios, no edites ni elimines el campo
etag
de la política de permisos. El campoetag
identifica el estado actual de la política de permiso. Cuando estableces la política de permiso actualizada, IAM compara el valor deetag
de la solicitud con el valor deetag
actual y solo escribe la política de permiso si los valores coinciden.Para editar los roles que concede una política de permiso, debes editar las vinculaciones de roles en la política de permiso. Las asignaciones de roles tienen el siguiente formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Los marcadores de posición tienen los siguientes valores:
ROLE_NAME
: el nombre del rol que quieres conceder. Se debe utilizar uno de los formatos indicados a continuación.- Roles predefinidos:
roles/SERVICE.IDENTIFIER
- Roles personalizados a nivel de proyecto:
projects/PROJECT_ID/roles/IDENTIFIER
- Roles personalizados a nivel de organización:
organizations/ORG_ID/roles/IDENTIFIER
Si quieres ver una lista de los roles predefinidos, consulta el artículo Descripción de los roles.
- Roles predefinidos:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificadores de las entidades a las que quieres asignar el rol.Los identificadores principales suelen tener el siguiente formato:
PRINCIPAL-TYPE:ID
. Por ejemplo,principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver una lista completa de los valores que puede tenerPRINCIPAL
, consulta Identificadores principales.CONDITIONS
: opcional. Las condiciones que especifican cuándo se concederá el acceso.
Conceder un rol de gestión de identidades y accesos
Para asignar roles a tus entidades principales, modifica las vinculaciones de roles en la política de permisos. Para saber qué roles puedes conceder, consulta el artículo Descripción de los roles o Ver roles que se pueden conceder del recurso. Si necesitas ayuda para identificar los roles predefinidos más adecuados, consulta el artículo Buscar los roles predefinidos adecuados.
También puedes usar condiciones para conceder roles solo cuando se cumplan determinados requisitos.
Para conceder un rol que ya esté incluido en la política de permitidos, añade la cuenta principal a una vinculación de roles:
gcloud
Edita la política de permiso devuelta añadiendo la entidad principal a una vinculación de roles. Este cambio no se aplicará hasta que defina la política de permiso actualizada.
Por ejemplo, supongamos que la política de permiso contiene el siguiente enlace de rol, que asigna el rol de revisor de seguridad (
roles/iam.securityReviewer
) a Kai:{ "role": "roles/iam.securityReviewer", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com" ] }
Para asignar ese mismo rol a Raha, añade el identificador de la cuenta principal de Raha a la vinculación de roles que ya existe:
{ "role": "roles/iam.securityReviewer", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com", "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
C#
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Go
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Python
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
REST
Edita la política de permiso devuelta añadiendo la entidad principal a una vinculación de roles. Este cambio no se aplicará hasta que defina la política de permiso actualizada.
Por ejemplo, supongamos que la política de permiso contiene el siguiente enlace de rol, que asigna el rol de revisor de seguridad (
roles/iam.securityReviewer
) a Kai:{ "role": "roles/iam.securityReviewer", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com" ] }
Para asignar ese mismo rol a Raha, añade el identificador de la cuenta principal de Raha a la vinculación de roles que ya existe:
{ "role": "roles/iam.securityReviewer", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com", "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
Para conceder un rol que aún no se haya incluido en la política de permisos, añade una nueva vinculación de roles:
gcloud
Edita la política de permiso añadiendo una nueva vinculación de roles que conceda el rol al principal. Este cambio no se aplicará hasta que defina la política de permiso actualizada.
Por ejemplo, para conceder el rol Administrador de almacenamiento de Compute (
roles/compute.storageAdmin
) a Raha, añade el siguiente enlace de rol a la matrizbindings
de la política de permiso:{ "role": "roles/compute.storageAdmin", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
C#
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C# de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
REST
Edita la política de permiso añadiendo una nueva vinculación de roles que conceda el rol al principal. Este cambio no se aplicará hasta que defina la política de permiso actualizada.
Por ejemplo, para conceder el rol Administrador de almacenamiento de Compute (
roles/compute.storageAdmin
) a Raha, añade el siguiente enlace de rol a la matrizbindings
de la política de permiso:{ "role": "roles/compute.storageAdmin", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
Solo puedes conceder roles relacionados con servicios de API activados. Si un servicio, como Compute Engine, no está activo, no puedes conceder roles relacionados exclusivamente con Compute Engine. Para obtener más información, consulta el artículo sobre cómo habilitar e inhabilitar las APIs.
Hay algunas restricciones únicas al conceder permisos en proyectos, especialmente al conceder el rol de propietario (
roles/owner
). Consulta la documentación de referencia deprojects.setIamPolicy()
para obtener más información.Revocar un rol de gestión de identidades y accesos
Para revocar un rol, quita la cuenta principal de la vinculación de roles. Si no hay otras cuentas principales en la vinculación de roles, elimina toda la vinculación de roles.
gcloud
Para revocar un rol, edita la política de permisos JSON o YAML devuelta por el comando
get-iam-policy
. Este cambio no se aplicará hasta que defina la política de permiso actualizada.Para revocar un rol de una entidad principal, elimina la entidad principal o la vinculación de la matriz
bindings
de la política de permiso.C#
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C# de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
REST
Para revocar un rol, edita la política de permisos JSON o YAML devuelta por el comando
get-iam-policy
. Este cambio no se aplicará hasta que defina la política de permiso actualizada.Para revocar un rol de una entidad principal, elimina la entidad principal o la vinculación de la matriz
bindings
de la política de permiso.Definir la política de permitir
Cuando hayas modificado la política de permisos para asignar y revocar roles, llama a
setIamPolicy()
para actualizar la política.gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para definir la política de permiso del recurso, ejecuta el comando
set-iam-policy
del recurso:gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH
Proporciona los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso para el que quieres definir la política de permiso. Usa uno de los siguientes valores:projects
,resource-manager folders
oorganizations
. -
RESOURCE_ID
: ID de tu Trusted Cloud proyecto, carpeta u organización. Los IDs de proyecto son alfanuméricos, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
. -
PATH
: ruta a un archivo que contiene la nueva política de permiso.
La respuesta contiene la política de permiso actualizada.
Por ejemplo, el siguiente comando define la política de permiso almacenada en
policy.json
como la política de permiso del proyectomy-project
:gcloud projects set-iam-policy my-project ~/policy.json
-
API_VERSION
: la versión de la API que se va a usar. Para proyectos y organizaciones, usav1
. En el caso de las carpetas, usav2
.RESOURCE_TYPE
: el tipo de recurso cuya política quieres gestionar. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: ID de tu Trusted Cloud proyecto, organización o carpeta. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.-
POLICY
: representación JSON de la política que quieres definir. Para obtener más información sobre el formato de una política, consulta la referencia de la política.
C#
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
En el siguiente ejemplo se muestra cómo definir la política de permiso de un proyecto. Para saber cómo definir la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de 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 la sección Antes de empezar.
Para saber cómo instalar y usar la biblioteca de cliente de Resource Manager, consulta el artículo sobre las bibliotecas de cliente de Resource Manager.
En el siguiente ejemplo se muestra cómo definir la política de permiso de un proyecto. Para saber cómo definir la política de permiso de una carpeta o una organización, consulta la documentación de la biblioteca de cliente de Resource Manager de tu lenguaje de programación.
REST
El método
setIamPolicy
de la API Resource Manager define la política de la solicitud como la nueva política de permiso del proyecto, la carpeta o la organización.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
La respuesta contiene la política de permiso actualizada.
Siguientes pasos
- Consulta cómo gestionar el acceso a las cuentas de servicio.
- Consulta los pasos generales para gestionar el acceso a otros recursos.
- Consulta cómo elegir los roles predefinidos más adecuados.
- Consulta cómo ver los roles que puedes conceder en un recurso concreto.
- Consulta cómo hacer que el acceso de una entidad sea condicional con las vinculaciones de roles condicionales.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-20 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Me falta la información que necesito","missingTheInformationINeed","thumb-down"],["Es demasiado complicado o hay demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Está obsoleto","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema de muestras o código","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-20 (UTC)."],[[["\u003cp\u003eThis document explains how to manage access to Google Cloud projects, folders, and organizations, detailing the processes for granting, changing, and revoking access using allow policies, also known as IAM policies.\u003c/p\u003e\n"],["\u003cp\u003eAccess is managed via role bindings within allow policies, which associate principals (users or service accounts) with IAM roles, granting those roles to the principals on the specified resource and its descendants.\u003c/p\u003e\n"],["\u003cp\u003eYou can manage access to resources using the Google Cloud console, the gcloud CLI, the REST API, or the Resource Manager client libraries, with different authentication methods detailed for each tool and code language.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides guidance on how to view current access, grant or revoke single or multiple roles, and use the "read-modify-write" pattern to update a resource's allow policy, with specific examples in different coding languages.\u003c/p\u003e\n"],["\u003cp\u003eIt is necessary to configure Application Default Credentials before using the Resource Manager client libraries and also describes how to handle policy inheritance, along with providing links for further learning such as managing access to service accounts and selecting appropriate predefined roles.\u003c/p\u003e\n"]]],[],null,[]]-
Para gestionar el acceso a un proyecto, haz lo siguiente:
Administrador de gestión de identidades y accesos de proyectos (