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 editar las Políticas de Límite de Acceso de las Principales existentes y cómo editar las vinculaciones de estas políticas para cambiar a quienes se aplican las políticas.
Antes de comenzar
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
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 editar Políticas de Límite de Acceso de las Principales
Para obtener el permiso que necesitas para editar 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.update
, que se requiere para editar 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 editar vinculaciones de Políticas de Límite de Acceso de las Principales
Los permisos que necesitas para editar vinculaciones de Políticas de Límite de Acceso de las Principales dependen del conjunto de principales vinculado a la política.
Para obtener los permisos que necesitas para editar vinculaciones de 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 -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas a los grupos de la federación de identidades de personal:
Administrador de grupos de trabajadores de IAM (
roles/iam.workforcePoolAdmin
) en el grupo de la federación de identidades de personal de destino -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas 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 -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas a un dominio de Google Workspace:
Administrador de IAM del grupo de espacios de trabajo (
roles/iam.workspacePoolAdmin
) en la organización -
Edición de vinculaciones de políticas para las políticas de límite de acceso a la principal vinculadas al conjunto de principales de un proyecto:
Administrador de IAM del proyecto
(
roles/resourcemanager.projectIamAdmin
) en el proyecto -
Edición de vinculaciones de políticas para las políticas de límite de acceso de las principales vinculadas al conjunto principal de una carpeta:
Administrador de IAM de la carpeta (
roles/resourcemanager.folderIamAdmin
) en la carpeta -
Edición de vinculaciones de políticas para las políticas de límite de acceso de las principales vinculadas al conjunto de principales 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 editar las vinculaciones de 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 editar las vinculaciones de Políticas de Límite de Acceso de las Principales:
-
iam.principalaccessboundarypolicies.bind
en la organización -
Edición de vinculaciones de Políticas de Límite de Acceso de las Principales de las principales vinculadas a los grupos de federación de identidades de personal:
iam.workforcePools.updatePolicyBinding
en el grupo de federación de identidades de personal de destino -
Edita las vinculaciones de Políticas de Límite de Acceso de las Principales vinculadas a los grupos de federación de identidades para cargas de trabajo:
iam.workloadIdentityPools.updatePolicyBinding
en el proyecto al que pertenece el grupo de federación de identidades de personal de destino -
Edición de vinculaciones de Políticas de Límite de Acceso de las Principales vinculadas a un dominio de Google Workspace:
iam.workspacePools.updatePolicyBinding
en la organización -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas al conjunto principal de un proyecto:
resourcemanager.projects.updatePolicyBinding
en el proyecto -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas al conjunto principal de una carpeta:
resourcemanager.folders.updatePolicyBinding
en la carpeta -
Edición de vinculaciones de políticas para las Políticas de Límite de Acceso de las Principales vinculadas al conjunto principal de una organización:
resourcemanager.organizations.updatePolicyBinding
en la organización
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Edita una Política de Límite de Acceso de las Principales
Si quieres agregar reglas a una Política de Límite de Acceso de las Principales, quitar reglas de una Política de Límite de Acceso de las Principales o modificar los metadatos de una Política de Límite de Acceso de las Principales, edita la política.
Puedes editar 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 a la que pertenece la Política de Límite de Acceso de las Principales que deseas editar.
Haz clic en el ID de la Política de Límite de Acceso de las Principales que deseas editar.
Haz clic en
Editar política.Para editar las reglas de la política, haz lo siguiente:
- Haz clic en la regla que deseas editar.
- Edita la descripción de la regla o los recursos que se incluyen en ella.
- Haz clic en Listo.
Para borrar una regla de la política, haz clic en
Borrar en la fila de esa regla.Para editar el nombre visible de la política, modifica el campo Nombre visible.
Para editar la versión de aplicación de la política, haz clic en la lista Versión de aplicación de la política y elige un valor nuevo.
Haz clic en Guardar.
gcloud
El comando
gcloud beta iam principal-access-boundary-policies update
actualiza una Política de Límite de Acceso de las Principales existente.Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
-
PAB_POLICY_ID
: Es el ID de la Política de Límite de Acceso de las Principales que deseas actualizar, por ejemplo,example-policy
. ORG_ID
: Es el ID de la organización propietaria de la Política de Límite de Acceso de las Principales. Los IDs de la organización son numéricos, como123456789012
.-
FIELD_TO_UPDATE=UPDATED_VALUE
: Los campos que deseas actualizar y el valor actualizado correspondiente.Los siguientes son ejemplos de marcas que puedes usar para actualizar los campos de la política:
-
--display-name=DISPLAY_NAME
: Reemplaza el nombre visible de la política porDISPLAY_NAME
. -
--details-enforcement-version=ENFORCEMENT_VERSION
: Actualiza la versión de aplicación de la política aENFORCEMENT_VERSION
. -
--details-rules=RULES_FILE.json
: Reemplaza las reglas de la Política de Límite de Acceso de las Principales con las reglas deRULES_FILE.json
. Si deseas obtener información para dar formato al archivo de reglas, consulta Crea una Política de Límite de Acceso de las Principales.Si usas esta marca, no puedes usar la marca
--add-details-rules
. -
--add-details-rules=RULES_FILE
: Agrega las reglas deRULES_FILE.json
a las reglas existentes de la política. Si deseas obtener información para dar formato al archivo de reglas, consulta Crea una Política de Límite de Acceso de las Principales.Si usas esta marca, no puedes usar la marca
--details-rules
. -
--remove-details-rules=RULES_FILE
: Quita las reglas deRULES_FILE.json
de las reglas existentes de la política. Si deseas obtener información para dar formato al archivo de reglas, consulta Crea una Política de Límite de Acceso de las Principales. Solo se quitan las reglas que coinciden exactamente con una de las reglas deRULES_FILE.json
.Si usas esta marca, no puedes usar la marca
--clear-rule-details
. -
--clear-details-rules
: Borra todas las reglas de la Política de Límite de Acceso de las Principales.Si usas esta marca, no puedes usar la marca
--remove-rule-details
.
Para obtener una lista completa de las marcas que puedes usar para actualizar una Política de Límite de Acceso de las Principales, consulta la referencia del comando
gcloud beta iam principal-access-boundary-policies update
. -
FORMAT
: Es el formato de la respuesta. Usajson
oyaml
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID \ --organization=ORG_ID --location=global \ --FIELD_TO_UPDATE=UPDATED_VALUE \ --format=FORMAT
Windows (PowerShell)
gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID ` --organization=ORG_ID --location=global ` --FIELD_TO_UPDATE=UPDATED_VALUE ` --format=FORMAT
Windows (cmd.exe)
gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID ^ --organization=ORG_ID --location=global ^ --FIELD_TO_UPDATE=UPDATED_VALUE ^ --format=FORMAT
La respuesta contiene una operación de larga duración que representa tu solicitud. Una vez que se completa la operación, la respuesta imprime la Política de Límite de Acceso de las Principales actualizada.
Request issued for: [example-policy] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374208720-6181fae5e2034-2d8a712b-5c92e5b9] to complete...done. Updated principalAccessBoundaryPolicy [example-policy]. { "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy", "uid": "puid_13364150419245236225", "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"", "displayName": "Updated display name", "createTime": "2024-05-07T00:05:48.295209Z", "updateTime": "2024-05-10T20:50:09.200421Z", "details": [ "rules": { [ "description": "Make principals eligible to access example.com" "resources": { "//cloudresourcemanager.googleapis.com/organizations/123456789012" }, "effect": ALLOW ] }, "enforcementVersion": "1" ] }
REST
El método
principalAccessBoundaryPolicies.patch
actualiza una Política de Límite de Acceso de las Principales existente.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 propietaria de 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 el ID de la Política de Límite de Acceso de las Principales que deseas actualizar, por ejemplo,example-policy
. -
FIELDS_TO_UPDATE
: Es una lista separada por comas de los campos que deseas actualizar. Si no especificas los campos que se actualizarán, IAM reemplazará la política existente con el contenido del cuerpo de la solicitud.Los valores aceptados son
displayName
,details
,details.rules
,details.rules.description
,details.rules.resources
,details.rules.effect
ydetails.enforcementVersion
. 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:
PATCH https://iam.googleapis.com/v3beta/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?updateMask=FIELDS_TO_UPDATE
Cuerpo JSON de la solicitud:
{ "displayName": DISPLAY_NAME, "details": { "rules": [ PAB_RULES ], "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-1715626721931-6185a7953ef76-76f80ee4-19cd1bf7", "metadata": { "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata", "createTime": "2024-05-13T18:58:43.721277235Z", "target": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy", "verb": "update", "requestedCancellation": false, "apiVersion": "v3beta" }, "done": false }
Cambia para quién se aplica una Política de Límite de Acceso de las Principales
Después de crear una vinculación de políticas para una Política de Límite de Acceso de las Principales, no puedes cambiar el ID de la política ni el principal establecido en la vinculación. Como resultado, si quieres cambiar para quién se aplica una Política de Límite de Acceso de las Principales, debes hacer una de las siguientes acciones:
- Para definir mejor el conjunto de principales para los que se aplica una Política de Límite de Acceso de las Principales, puedes modificar las condiciones en la vinculación de políticas. Para modificar las condiciones de una vinculación, edita la vinculación de políticas.
- Para aplicar la Política de Límite de Acceso de las Principales a un conjunto de principales adicional, crea una nueva vinculación de políticas que vincule la política a ese conjunto de principales.
- Para quitar una Política de Límite de Acceso de las Principales de un conjunto de principales, borra la vinculación de la política que la vincula al conjunto de principales.
Edita las vinculaciones de políticas existentes para las Políticas de Límite de Acceso de las Principales
Después de crear una vinculación de políticas, puedes editarla para modificar las condiciones o el nombre visible de la vinculación.
Puedes editar 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 que deseas editar.
Haz clic en el ID de la Política de Límite de Acceso de las Principales cuyas vinculaciones deseas editar.
Haz clic en la pestaña Vinculaciones.
Busca el ID de la vinculación que deseas editar. En la fila de esa vinculación, haz clic en
Acciones y, luego, en Editar vinculación.Para actualizar el nombre visible de la vinculación, edita el campo Nombre visible.
Para agregar una condición a la vinculación, haz lo siguiente:
- 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 actualizar una condición existente, haz lo siguiente:
- Haz clic en Editar condición junto al nombre de la condición.
- Actualiza el título, la descripción o la expresión de la condición.
- Haz clic en Guardar.
Para guardar los cambios, haz clic en Guardar.
gcloud
El comando
gcloud beta iam policy-bindings update
actualiza una vinculación de políticas existente.Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
-
BINDING_ID
: Es el ID de la vinculación de políticas que deseas actualizar, 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
.-
FIELD_TO_UPDATE=UPDATED_VALUE
: Los campos que deseas actualizar y el valor actualizado correspondiente.Los siguientes son ejemplos de marcas que puedes usar para actualizar los campos de una vinculación de políticas:
-
--display-name=DISPLAY_NAME
: Reemplaza el nombre visible de la vinculación porDISPLAY_NAME
. -
--condition-description=CONDITION_DESCRIPTION
: Si la vinculación tiene una condición, reemplaza la descripción de la condición porCONDITION_DESCRIPTION
. De lo contrario, agrega una condición nueva a la vinculación con la descripción especificada. Si usas esta marca para actualizar una vinculación que no tiene una condición, también debes establecer la marca--condition-expression
. -
--condition-expression=CONDITION_EXPRESSION
: Si la vinculación tiene una condición, reemplaza la expresión de la condición porCONDITION_EXPRESSION
. De lo contrario, agrega una condición nueva a la vinculación con la expresión especificada. -
--condition-title=CONDITION_TITLE
: Si la vinculación tiene una condición, reemplaza el título de la condición porCONDITION_TITLE
. De lo contrario, agrega una condición nueva a la vinculación con el título especificado. Si usas esta marca para actualizar una vinculación que no tiene una condición, también debes establecer la marca--condition-expression
.
Para obtener una lista completa de los campos que puedes actualizar, consulta la referencia del comando
gcloud beta iam policy-bindings update
. -
FORMAT
: Es el formato de la respuesta. Usajson
oyaml
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud beta iam policy-bindings update BINDING_ID \ --RESOURCE_TYPE=RESOURCE_ID --location=global \ --FIELD_TO_UPDATE=UPDATED_VALUE \ --format=FORMAT
Windows (PowerShell)
gcloud beta iam policy-bindings update BINDING_ID ` --RESOURCE_TYPE=RESOURCE_ID --location=global ` --FIELD_TO_UPDATE=UPDATED_VALUE ` --format=FORMAT
Windows (cmd.exe)
gcloud beta iam policy-bindings update BINDING_ID ^ --RESOURCE_TYPE=RESOURCE_ID --location=global ^ --FIELD_TO_UPDATE=UPDATED_VALUE ^ --format=FORMAT
La respuesta contiene una operación de larga duración que representa tu solicitud.
Update request issued for: [my-binding] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done. Updated policyBinding [my-binding]. { "createTime": "2024-05-06T18:08:24.729843Z", "displayName": "Updated display name", "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"", "name": "organizations/123456789012/locations/global/policyBindings/example-binding", "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy", "policyKind": "PRINCIPAL_ACCESS_BOUNDARY", "policyUid": "puid_9519202237377675265", "target": { "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012" }, "uid": "buid_9904260005517852673", "updateTime": "2024-05-06T18:11:16.798841Z" }
REST
El método
policyBindings.patch
actualiza una vinculación de políticas existente.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 el ID de la vinculación de políticas que deseas actualizar, por ejemplo,example-binding
. -
FIELDS_TO_UPDATE
: Es una lista separada por comas de los campos que deseas actualizar. Si no especificas los campos que se actualizarán, IAM reemplazará la vinculación existente con el contenido del cuerpo de la solicitud.Los valores aceptados son
displayName
,condition
,condition.expression
,condition.title
ycondition.description
. 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.
-
Método HTTP y URL:
POST https://iam.googleapis.com/v3beta/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID?updateMask=FIELDS_TO_UPDATE
Cuerpo JSON de la solicitud:
{ "displayName": DISPLAY_NAME, "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-1715373159010-6181f6fcccfa7-dcd0055c-00c22cad", "metadata": { "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata", "createTime": "2024-05-10T20:32:39.254910121Z", "target": "organizations/123456789012/locations/global/policyBindings/example-binding", "verb": "update", "requestedCancellation": false, "apiVersion": "v3beta" }, "done": false }
¿Qué sigue?
- Crea y aplica Políticas de Límite de Acceso de las Principales
- Consulta las Políticas 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-11-21 (UTC)