Las Políticas de Límite de Acceso de las Principales (PAB) te permiten establecer límites a los recursos a los que puede acceder un conjunto de principales. En esta página, se explica cómo crear y aplicar políticas de límite de acceso de las principales.
Antes de comenzar
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Lee la descripción general de las Políticas de Límite de Acceso de las Principales.
Roles necesarios para borrar Políticas de Límite de Acceso de las Principales
Para obtener el permiso que necesitas para borrar las políticas de límite de acceso de las principales, pídele a tu administrador que te otorgue el rol de IAM de Administrador de límites de acceso principal (
roles/iam.principalAccessBoundaryAdmin
) en tu organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene el permiso
iam.principalaccessboundarypolicies.create
, que se requiere para crear las Políticas de Límite de Acceso de las Principales.También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Roles necesarios para aplicar Políticas de Límite de Acceso de las Principales
Los permisos que necesitas para aplicar una Política de Límite de Acceso de las Principales dependen del conjunto de principales al que deseas aplicar la política.
Para obtener los permisos que necesitas para aplicar políticas de límite de acceso de las principales, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Usuario del límite de acceso principal (
roles/iam.principalAccessBoundaryUser
) en tu organización -
Aplica políticas de límite de acceso de las principales a los grupos de federación de identidades de personal:
Administrador de grupos de trabajadores de IAM (
roles/iam.workforcePoolAdmin
) en el grupo de federación de identidades de personal de destino -
Aplica políticas de límite de acceso de las principales a los grupos de federación de identidades para cargas de trabajo:
Administrador de grupos de identidades para cargas de trabajo de IAM (
roles/iam.workloadIdentityPoolAdmin
) en el proyecto al que pertenece el grupo de federación de identidades de personal de destino -
Aplicar políticas de límite de acceso de las principales a un dominio de Google Workspace: Administrador de IAM del grupo de espacios de trabajo (
roles/iam.workspacePoolAdmin
) en la organización -
Aplica políticas de límite de acceso de las principales al conjunto principal de un proyecto:
Administrador de IAM del proyecto (
roles/resourcemanager.projectIamAdmin
) en el proyecto -
Aplicar políticas de límite de acceso de las principales al conjunto principal de una carpeta:
Administrador de IAM de la carpeta (
roles/resourcemanager.folderIamAdmin
) en la carpeta -
Aplicar políticas de límite de acceso de las principales al conjunto principal de una organización:
Administrador de la organización (
roles/resourcemanager.organizationAdmin
) en la organización
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para aplicar las políticas de límite de acceso de las principales. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para aplicar las políticas de límite de acceso de las principales:
-
iam.principalaccessboundarypolicies.bind
en la organización -
Aplica políticas de límite de acceso de las principales a los grupos de federación de identidades de personal:
iam.workforcePools.createPolicyBinding
en el grupo de federación de identidades de personal de destino -
Aplica políticas de límite de acceso de las principales a los grupos de federación de identidades para cargas de trabajo:
iam.workloadIdentityPools.createPolicyBinding
en el proyecto al que pertenece el grupo de federación de identidades de personal de destino -
Aplica políticas de límite de acceso de las principales a un dominio de Google Workspace:
iam.workspacePools.createPolicyBinding
en la organización -
Aplica políticas de límite de acceso de las principales al conjunto principal de un proyecto:
resourcemanager.projects.createPolicyBinding
en el proyecto -
Aplica Políticas de Límite de Acceso de las Principales al conjunto principal de una carpeta:
resourcemanager.folders.createPolicyBinding
en la carpeta -
Aplicar políticas de límite de acceso de las principales al conjunto principal de una organización:
resourcemanager.organizations.createPolicyBinding
en la organización
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea una Política de Límite de Acceso de las Principales
Puedes crear una política de límite de acceso de las principales con la consola de Google Cloud, gcloud CLI o la API de REST de IAM.
Console
En la consola de Google Cloud, ve a la página Políticas de límite de acceso de las principales.
Selecciona la organización para la que deseas crear políticas de límite de acceso de las principales.
Haz clic en
Crear política.Agrega reglas de límite de acceso de las principales a la política:
- Haz clic en Agregar regla de límite.
- En el campo Descripción, agrega una descripción de la regla de la Política de Límite de Acceso de las Principales. La descripción puede tener un máximo de 256 caracteres.
En la sección Recursos, ingresa todos los recursos de Resource Manager (proyectos, carpetas y organizaciones) a los que deseas que los principales puedan acceder. Cualquier principal que esté sujeto a esta política es apto para acceder a estos recursos.
Cada Política de Límite de Acceso de las Principales puede hacer referencia a un máximo de 500 recursos en todas las reglas de la política.
Haz clic en Listo.
Para agregar reglas de políticas adicionales, repite estos pasos. Una Política de Límite de Acceso de las Principales puede tener hasta 500 reglas.
En la sección Nombre de la política, ingresa un nombre para la política. El nombre puede tener un máximo de 63 caracteres.
En la lista Versión de aplicación, selecciona la versión de aplicación de la política. La versión de la política de límite de acceso de las principales determina para qué permisos IAM aplica la política de límite de acceso de las principales.
Si deseas obtener más información sobre las versiones de aplicación, consulta Versiones de aplicación de límites de acceso de las principales.
Haz clic en Crear.
gcloud
El comando
gcloud beta iam principal-access-boundary-policies create
crea una Política de Límite de Acceso de las Principales.Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
ORG_ID
: Es el ID de la organización en la que deseas crear la política de límite de acceso de las principales. Los IDs de la organización son numéricos, como123456789012
.-
PAB_POLICY_ID
: Es un ID único para la política de límite de acceso de las principales, por ejemplo,example-policy
. : DISPLAY_NAME
: Opcional Una descripción legible por humanos de la Política de Límite de Acceso de las Principales, por ejemplo,Example policy
. El nombre visible puede tener un máximo de 63 caracteres.-
FILE_PATH
: Es la ruta de acceso a un archivo JSON que contiene los detalles de la regla de la política de límite de acceso de las principales. Este archivo debe tener el siguiente formato:{ "description": DESCRIPTION, "resources": [ RESOURCES ], "effect": ALLOW }
Reemplaza los siguientes valores:
DESCRIPTION
: Opcional La descripción de la regla de la Política de Límite de Acceso de las Principales. La descripción puede tener un máximo de 256 caracteres.-
RESOURCES
: Es una lista de recursos de Resource Manager (proyectos, carpetas y organizaciones) a los que deseas que los principales puedan acceder. Cualquier principal que esté sujeto a esta política es apto para acceder a estos recursos.Cada Política de Límite de Acceso de las Principales puede hacer referencia a un máximo de 500 recursos en todas las reglas de la política.
-
ENFORCEMENT_VERSION
: Es la versión de las Política de Límite de Acceso de las Principales que usa IAM cuando aplica la política. La versión de aplicación determina para qué permisos IAM aplica la Política de Límite de Acceso de las Principales.Los valores aceptados son
1
ylatest
.Si deseas obtener más información sobre las versiones de aplicación, consulta Versiones de aplicación de límites de acceso de las principales.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID \ --organization=ORG_ID --location=global \ --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json \ --details-enforcement-version=ENFORCEMENT_VERSION
Windows (PowerShell)
gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID ` --organization=ORG_ID --location=global ` --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json ` --details-enforcement-version=ENFORCEMENT_VERSION
Windows (cmd.exe)
gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID ^ --organization=ORG_ID --location=global ^ --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json ^ --details-enforcement-version=ENFORCEMENT_VERSION
La respuesta contiene una operación de larga duración que representa tu solicitud.
Create request issued for: [example-policy] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715373988044-6181fa136df85-3b06a30a-4816d25b] to complete...done. Created principalAccessBoundaryPolicy [example-policy].
REST
El método
principalAccessBoundaryPolicies.create
crea una Política de Límite de Acceso de las Principales.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
ORG_ID
: Es el ID de la organización en la que deseas crear la política de límite de acceso de las principales. Los IDs de la organización son numéricos, como123456789012
.-
PAB_POLICY_ID
: Es un ID único para la política de límite de acceso de las principales, por ejemplo,example-policy
. DISPLAY_NAME
: Opcional Una descripción legible por humanos de la Política de Límite de Acceso de las Principales, por ejemplo,Example policy
. El nombre visible puede tener un máximo de 63 caracteres.-
PAB_RULES
: Es una lista de reglas de límite de acceso principal que definen los recursos a los que pueden acceder las principales afectadas. Una Política de Límite de Acceso de las Principales puede tener hasta 500 reglas. Cada regla tiene el siguiente formato:{ "description": "DESCRIPTION", "resources": [ RESOURCES ], "effect": ALLOW }
Reemplaza los siguientes valores:
DESCRIPTION
: Opcional La descripción de la regla de la Política de Límite de Acceso de las Principales. La descripción puede tener un máximo de 256 caracteres.-
RESOURCES
: Es una lista de recursos de Resource Manager (proyectos, carpetas y organizaciones) a los que deseas que los principales puedan acceder. Cualquier principal que esté sujeto a esta política es apto para acceder a estos recursos.Cada Política de Límite de Acceso de las Principales puede hacer referencia a un máximo de 500 recursos en todas las reglas de la política.
-
ENFORCEMENT_VERSION
: Es la versión de las Política de Límite de Acceso de las Principales que usa IAM cuando aplica la política. La versión de aplicación determina para qué permisos IAM aplica la Política de Límite de Acceso de las Principales.Los valores aceptados son
1
ylatest
.Si deseas obtener más información sobre las versiones de aplicación, consulta Versiones de aplicación de límites de acceso de las principales.
Método HTTP y URL:
POST https://iam.googleapis.com/v3beta/organizations/ORG_ID/locations/global?principalAccessBoundaryPolicyId=PAB_POLICY_ID
Cuerpo JSON de la solicitud:
{ "displayName": DISPLAY_NAME, "details": { "rules": [ PAB_RULES ], "effect": ALLOW } ], "enforcementVersion": "ENFORCEMENT_VERSION" }
Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene una operación de larga duración que representa tu solicitud.
{ "name": "organizations/123456789012/locations/global/operations/operation-1715373120647-6181f6d8371d2-83309b71-2b8a7532", "metadata": { "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata", "createTime": "2024-05-10T20:32:00.898809495Z", "target": "organizations/123456789012/locations/global/policyBindings/example-policy", "verb": "create", "requestedCancellation": false, "apiVersion": "v3beta" }, "done": false }
Aplica una Política de Límite de Acceso de las Principales a un conjunto de principales
Para aplicar una Política de Límite de Acceso de las Principales a un conjunto de principales, crea un recurso de vinculación de políticas que vincule la política al conjunto de principales. Después de crear una vinculación de políticas, la política de límite de acceso de las principales en la vinculación se aplica a los principales en la vinculación.
Puedes crear una vinculación de políticas con la consola de Google Cloud, gcloud CLI o la API de REST de IAM.
Console
En la consola de Google Cloud, ve a la página Políticas de límite de acceso de las principales.
Selecciona la organización a la que pertenece la Política de Límite de Acceso de las Principales para la que deseas crear una vinculación.
Haz clic en el ID de la Política de Límite de Acceso de las Principales para la que deseas crear una vinculación.
Haz clic en la pestaña Vinculaciones y, luego, en
Agregar vinculación.Ingresa los detalles de la vinculación:
- Opcional: En el campo Nombre visible, ingresa un nombre visible para la vinculación. El nombre visible puede tener un máximo de 63 caracteres.
- En el campo ID de vinculación, ingresa un nombre único para la vinculación, por ejemplo,
example-binding
. En la sección Conjunto de principales de destino, ingresa el tipo y el ID del conjunto de principales al que deseas vincular la política. No puedes cambiar este valor después de crear la vinculación de políticas.
Para obtener más información sobre los principales incluidos en cada conjunto de principales, consulta Conjuntos de principales compatibles.
Opcional: Para especificar para qué principales del conjunto de principales se aplica la política de límite de acceso de las principales, agrega una condición a la vinculación:
- Haz clic en Agregar condición.
- En el campo Título, ingresa un breve resumen del propósito de la condición.
- Opcional: En el campo Descripción, ingresa una descripción más detallada de la condición.
- En el campo Expression, ingresa la expresión de condición que usa la sintaxis de Common Expression Language (CEL). La expresión debe hacer referencia a los atributos
principal.type
oprincipal.subject
. No se admiten otros atributos. - Haz clic en Guardar.
Para crear la vinculación, haz clic en Agregar.
gcloud
El comando
gcloud beta iam policy-bindings create
crea una vinculación de políticas.Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
-
BINDING_ID
: Es un nombre único para la vinculación de políticas, por ejemplo,example-binding
. -
RESOURCE_TYPE
: Es el tipo de recurso de Resource Manager (proyecto, carpeta u organización) del que es un elemento secundario la vinculación de políticas. Usa el valorproject
,folder
oorganization
El tipo de recurso depende del principal establecido en la vinculación de políticas. Para ver qué tipo de recurso usar, consulta Tipos de principales compatibles.
RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de la que es elemento secundario la vinculación de políticas. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.-
ORG_ID
: Es el ID de la organización propietaria de la política de límite de acceso de las principales que deseas vincular al conjunto de principales. Los IDs de la organización son numéricos, como123456789012
. -
PAB_POLICY_ID
: Es el ID de la política de límite de acceso de las principales que deseas vincular al conjunto principal, por ejemplo,example-pab-policy
. No puedes cambiar este valor después de crear la vinculación de políticas. -
PRINCIPAL_SET
: Es el conjunto de principales al que deseas vincular la política. Para obtener una lista de los tipos de principales válidos, consulta Conjuntos de principales admitidos. No puedes cambiar este valor después de crear la vinculación de políticas. DISPLAY_NAME
: Opcional Una descripción legible por humanos de la vinculación, por ejemplo,Example binding
. El nombre visible puede tener un máximo de 63 caracteres.-
CONDITION_DETAILS
: Opcional Una expresión de condición que especifica para qué principales del conjunto de principales se aplica la Política de Límite de Acceso de las Principales. Contiene los siguientes campos:-
expression
: Es una expresión de condición que usa la sintaxis de Common Expression Language (CEL). La expresión debe hacer referencia a los atributosprincipal.type
oprincipal.subject
. No se admiten otros atributos.La expresión puede contener hasta 10 operadores lógicos (
&&
,||
,!
) y puede tener hasta 250 caracteres. -
title
: Opcional Es un breve resumen del propósito de la condición. -
description
: Opcional Es una descripción más larga de la condición.
-
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud beta iam policy-bindings create BINDING_ID \ --RESOURCE_TYPE=RESOURCE_ID --location=global \ --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" \ --target-principal-set=PRINCIPAL_SET_ID \ --display-name=DISPLAY_NAME \ CONDITION_DETAILS
Windows (PowerShell)
gcloud beta iam policy-bindings create BINDING_ID ` --RESOURCE_TYPE=RESOURCE_ID --location=global ` --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" ` --target-principal-set=PRINCIPAL_SET_ID ` --display-name=DISPLAY_NAME ` CONDITION_DETAILS
Windows (cmd.exe)
gcloud beta iam policy-bindings create BINDING_ID ^ --RESOURCE_TYPE=RESOURCE_ID --location=global ^ --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" ^ --target-principal-set=PRINCIPAL_SET_ID ^ --display-name=DISPLAY_NAME ^ CONDITION_DETAILS
La respuesta contiene una operación de larga duración que representa tu solicitud.
Create request issued for: [example-binding] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done. Created policyBinding [example-binding].
REST
El método
policyBindings.create
crea una vinculación de políticas.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
RESOURCE_TYPE
: Es el tipo de recurso de Resource Manager (proyecto, carpeta u organización) del que es un elemento secundario la vinculación de políticas. Usa el valorprojects
,folders
oorganizations
El tipo de recurso depende del principal establecido en la vinculación de políticas. Para ver qué tipo de recurso usar, consulta Tipos de principales compatibles.
RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de la que es elemento secundario la vinculación de políticas. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.-
BINDING_ID
: Es un nombre único para la vinculación de políticas, por ejemplo,example-binding
. DISPLAY_NAME
: Opcional Una descripción legible por humanos de la vinculación, por ejemplo,Example binding
. El nombre visible puede tener un máximo de 63 caracteres.-
PRINCIPAL_SET
: Es el conjunto de principales al que deseas vincular la política. Para obtener una lista de los tipos de principales válidos, consulta Conjuntos de principales admitidos. No puedes cambiar este valor después de crear la vinculación de políticas. -
ORG_ID
: Es el ID de la organización propietaria de la política de límite de acceso de las principales que deseas vincular al conjunto de principales. Los IDs de la organización son numéricos, como123456789012
. -
PAB_POLICY_ID
: Es el ID de la política de límite de acceso de las principales que deseas vincular al conjunto principal, por ejemplo,example-pab-policy
. No puedes cambiar este valor después de crear la vinculación de políticas. -
CONDITION_DETAILS
: Opcional Una expresión de condición que especifica para qué principales del conjunto de principales se aplica la Política de Límite de Acceso de las Principales. Contiene los siguientes campos:-
expression
: Es una expresión de condición que usa la sintaxis de Common Expression Language (CEL). La expresión debe hacer referencia a los atributosprincipal.type
oprincipal.subject
. No se admiten otros atributos.La expresión puede contener hasta 10 operadores lógicos (
&&
,||
,!
) y puede tener hasta 250 caracteres. -
title
: Opcional Es un breve resumen del propósito de la condición. -
description
: Opcional Es una descripción más larga de la condición.
-
Método HTTP y URL:
POST https://iam.googleapis.com/v3beta/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings?policyBindingId=BINDING_ID
Cuerpo JSON de la solicitud:
{ "displayName": DISPLAY_NAME, "target": { "principalSet": PRINCIPAL_SET }, "policyKind": "PRINCIPAL_ACCESS_BOUNDARY", "policy": "organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID", "condition": { CONDITION_DETAILS } }
Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene una operación de larga duración que representa tu solicitud.
{ "name": "organizations/123456789012/locations/global/operations/operation-1715373120647-6181f6d8371d2-83309b71-2b8a7532", "metadata": { "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata", "createTime": "2024-05-10T20:32:00.898809495Z", "target": "organizations/123456789012/locations/global/policyBindings/example-binding", "verb": "create", "requestedCancellation": false, "apiVersion": "v3beta" }, "done": false }
¿Qué sigue?
- Consulta las Políticas de Límite de Acceso de las Principales
- Edita las Política de Límite de Acceso de las Principales
- Cómo quitar Políticas de Límite de Acceso de las Principales
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)