El uso compartido restringido al dominio te permite limitar el uso compartido de recursos según un dominio o un recurso de organización. Cuando el uso compartido restringido del dominio está activo, solo se pueden otorgar roles de IAM en tu organización Google Cloud a las entidades principales que pertenecen a organizaciones o dominios permitidos.
Existen tres tipos de políticas de la organización que puedes usar para restringir identidades por dominio:
- La restricción administrada
iam.managed.allowedPolicyMembers - Políticas de la organización personalizadas que hacen referencia al recurso
iam.googleapis.com/AllowPolicy - La restricción administrada heredada
iam.allowedPolicyMemberDomains
Antes de comenzar
Elige el método que usarás para implementar el uso compartido restringido del dominio. Para obtener más información sobre las ventajas y desventajas de cada método, consulta Métodos para restringir el uso compartido por dominio.
Roles obligatorios
Para obtener los permisos que
necesitas para aplicar el uso compartido restringido por dominio,
pídele a tu administrador que te otorgue el rol de IAM
Administrador de políticas de la organización (roles/orgpolicy.policyAdmin)
en la organización.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Usa la restricción iam.managed.allowedPolicyMembers para implementar el uso compartido restringido al dominio
Console
En la consola de Google Cloud , ve a la página Políticas de la organización.
En el selector de proyectos, selecciona el proyecto, la organización o la carpeta para la que deseas editar la política de la organización. En la página Políticas de la organización que aparece, se muestra una lista filtrable de las restricciones de la política de la organización que están disponibles para este recurso.
En la lista, selecciona la restricción administrada Restringir los miembros de la política permitidos en las políticas de IAM de permiso.
En la página Detalles de la política, haz clic en Administrar política.
En la página Editar política, selecciona Anular la política del superior.
Selecciona Agregar una regla y, luego, actualiza la regla de la política de la organización.
En Aplicación, selecciona Activado.
De manera opcional, haz clic en Agregar condición para que la política de la organización sea condicional en una etiqueta. Si agregas una regla condicional a una política de la organización, debes agregar al menos una regla sin condición o la política no se podrá guardar. Para obtener más información, consulta Configura una política de la organización con etiquetas.
En la sección Parámetros, configura los conjuntos de miembros y principales a los que deseas otorgar roles en tu organización y, luego, haz clic en Guardar.
De manera opcional, para obtener una vista previa del efecto del cambio en la política de la organización antes de que se aplique, haz clic en Probar cambios. Para obtener más información sobre cómo probar los cambios en las políticas de la organización, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
Para aplicar la política de la organización en modo de ejecución de prueba, haz clic en Establecer política de ejecución de prueba. Para obtener más información, consulta Crea una política de la organización en modo de ejecución de prueba.
Después de verificar que la política de la organización en el modo de ejecución de prueba funciona según lo previsto, haz clic en Configurar política para establecer la política activa.
gcloud
Crea un archivo YAML para definir la política de la organización:
name: organizations/ORG_ID/policies/iam.managed.allowedPolicyMembers spec: rules: - enforce: true parameters: allowedMemberSubjects: - ALLOWED_MEMBER_1 - ALLOWED_MEMBER_2 allowedPrincipalSets: - ALLOWED_PRINCIPAL_SET_1 - ALLOWED_PRINCIPAL_SET_2Reemplaza lo siguiente:
ORG_ID: Es el ID numérico de tu organización. Google CloudALLOWED_MEMBER_1,ALLOWED_MEMBER_2: Son los miembros a los que deseas otorgar roles en tu organización, por ejemplo,user:example-user@example.com.ALLOWED_PRINCIPAL_SET_1,ALLOWED_PRINCIPAL_SET_2: Son los conjuntos de principales a los que deseas otorgar roles en tu organización. Por ejemplo,//cloudresourcemanager.googleapis.com/organizations/0123456789012.
De manera opcional, para que la política de la organización sea condicional en una etiqueta, agrega un bloque
conditionarules. Si agregas una regla condicional a una política de la organización, debes agregar al menos una regla sin condición o la política no se podrá guardar. Para obtener más información, consulta Configura una política de la organización con etiquetas.Establece la política con el comando
org-policies set-policyy la marcaspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specReemplaza
POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización.
Para obtener información sobre cómo probar la política en modo de ejecución de prueba antes de aplicarla, consulta Crea una política de la organización en modo de ejecución de prueba.
Para obtener información sobre cómo simular la política antes de aplicarla, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
REST
Para establecer la política de la organización, usa el método organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
El cuerpo JSON de la solicitud contiene la definición de una política de la organización.
Si esta restricción no admite parámetros, omite el bloque parameters en rules.
{
"name": "organizations/ORG_ID/policies/CONSTRAINT_NAME",
"spec": {
"rules": [
{
"enforce": true,
"parameters": {
"allowedMemberSubjects": [
"ALLOWED_MEMBER_1",
"ALLOWED_MEMBER_2"
],
"allowedPrincipalSets": [
"ALLOWED_PRINCIPAL_SET_1",
"ALLOWED_PRINCIPAL_SET_2"
]
}
}
]
}
}
Reemplaza lo siguiente:
ORG_ID: Es el ID numérico de tu organización. Google CloudCONSTRAINT_NAME: Es el nombre de la restricción que deseas establecer.ALLOWED_MEMBER_1,ALLOWED_MEMBER_2: Son los miembros a los que deseas otorgar roles en tu organización, por ejemplo,user:example-user@example.com.ALLOWED_PRINCIPAL_SET_1,ALLOWED_PRINCIPAL_SET_2: Son los conjuntos de principales a los que deseas otorgar roles en tu organización. Por ejemplo,//cloudresourcemanager.googleapis.com/organizations/0123456789012.
De manera opcional, para que la política de la organización sea condicional en una etiqueta, agrega un bloque condition a rules. Si agregas una regla condicional a una política de la organización, debes agregar al menos una regla sin condición o la política no se podrá guardar. Para obtener más información, consulta Configura una política de la organización con etiquetas.
Para obtener información sobre cómo probar la política en modo de ejecución de prueba antes de aplicarla, consulta Crea una política de la organización en modo de ejecución de prueba.
Para obtener información sobre cómo simular la política antes de aplicarla, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
Usa políticas de la organización personalizadas para implementar el uso compartido restringido al dominio
Crea una restricción personalizada que limite qué principales pueden obtener roles en tu organización:
Usa la
memberInPrincipalSetfunción de CEL con el principal de tu organización establecido para restringir las concesiones de roles a los miembros de tu organización. Para obtener información sobre cómo encontrar el ID de tu organización, consulta Cómo recuperar un conjunto principal de la organización.Por ejemplo, la siguiente restricción limita el otorgamiento de roles a los miembros de tu organización:
name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) ) )" actionType: ALLOW displayName: Only allow organization members to be granted rolesDe manera opcional, puedes definir mejor la restricción agregando funciones de CEL adicionales, unidas con operadores lógicos (
&&,||o!). Puedes agregar cualquiera de las siguientes funciones:Por ejemplo, la siguiente restricción limita el otorgamiento de roles a los miembros de tu organización y a
admin@example.com:name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, ( MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) || MemberSubjectMatches(member, ['user:admin@example.com']) ) ) )" actionType: ALLOW displayName: Only allow organization members and service agents to be granted roles
Configura la restricción personalizada:
Console
Para crear una restricción personalizada, haz lo siguiente:
- En la consola de Google Cloud , accede a la página Políticas de la organización.
- En el selector de proyectos, elige uno cuya política de la organización quieras configurar.
- Haz clic en Restricción personalizada.
- En el cuadro Nombre visible, ingresa un nombre legible por humanos para la restricción. Este nombre se usa en los mensajes de error y se puede usar para la identificación y depuración. No uses información de identificación personal ni datos sensibles en los nombres visibles, ya que podrían exponerse en mensajes de error. Este campo puede contener hasta 200 caracteres.
-
En el cuadro ID de restricción, ingresa el nombre que quieras asignar a la nueva
restricción personalizada. Las restricciones personalizadas solo pueden contener letras (mayúsculas y minúsculas) o
números, por ejemplo,
custom.disableGkeAutoUpgrade. Este campo puede contener hasta 70 caracteres, sin contar el prefijo (custom.), por ejemplo,organizations/123456789/customConstraints/custom. No incluyas IIP ni datos sensibles en el ID de la restricción, ya que podrían exponerse en mensajes de error. - En el cuadro Descripción, ingresa una descripción legible por humanos de la restricción. Esta se usa como mensaje de error cuando se infringe la política. Incluye detalles sobre el motivo por el cual se produjo el incumplimiento de la política y cómo resolverlo. No incluyas IIP ni datos sensibles en la descripción, ya que podrían exponerse en mensajes de error. Este campo puede contener hasta 2,000 caracteres.
-
En el cuadro Tipo de recurso, selecciona el nombre del recurso de REST Google Cloud
que contiene el objeto y el campo que quieres restringir, por ejemplo,
container.googleapis.com/NodePool. La mayoría de los tipos de recursos admiten hasta 20 restricciones personalizadas. Si intentas crear más, la operación fallará. - En Método de aplicación, selecciona si quieres aplicar la restricción en un método de REST CREATE o en los métodos CREATE y UPDATE. Si aplicas la restricción con el método UPDATE en un recurso que la incumple, la política de la organización bloqueará los cambios en ese recurso, a menos que el cambio resuelva el incumplimiento.
- Para definir una condición, haz clic en Editar condición.
-
En el panel Agregar condición, crea una condición de CEL que haga referencia a un recurso de servicio compatible, por ejemplo,
resource.management.autoUpgrade == false. Este campo puede contener hasta 1,000 caracteres. Para obtener detalles sobre el uso de CEL, consulta Common Expression Language. Para obtener más información sobre los recursos de servicio que puedes usar en las restricciones personalizadas, consulta Servicios compatibles con restricciones personalizadas. - Haz clic en Guardar.
- En Acción, selecciona si quieres permitir o rechazar el método evaluado en caso de cumplirse la condición.
- Haz clic en Crear restricción.
No todos los servicios de Google Cloud admiten ambos métodos. Para ver los métodos compatibles con cada servicio, busca el servicio en Servicios compatibles.
La acción de rechazo implica que la operación para crear o actualizar el recurso se bloquea si la condición se evalúa como verdadera.
La acción de permitir implica que la operación para crear o actualizar el recurso solo se permite si la condición se evalúa como verdadera. El resto de casos se bloquean, excepto los que se indican explícitamente en la condición.
Cuando ingreses un valor en cada campo, aparecerá a la derecha la configuración de YAML equivalente para esta restricción personalizada.
gcloud
- Para crear una restricción personalizada, crea un archivo YAML con el formato siguiente:
-
ORGANIZATION_ID: Es el ID de la organización, como123456789. -
CONSTRAINT_NAME: Es el nombre que quieres usar para la nueva restricción personalizada. Una restricción personalizada solo puede contener letras (mayúsculas y minúsculas) o números, por ejemplo,custom.allowInternalIdentitiesOnly. Este campo puede contener hasta 70 caracteres. -
RESOURCE_NAME: Es el nombre completamente calificado del recurso de Google Cloudque contiene el objeto y el campo que quieres restringir. Por ejemplo,iam.googleapis.com/AllowPolicy. -
CONDITION: Es una condición de CEL que se escribe con base en una representación de un recurso de servicio compatible. Este campo puede contener hasta 1,000 caracteres. Por ejemplo,"resource.bindings.all( binding, binding.members.all(member, MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) ) )". -
ACTION: Es la acción que se realiza si se cumple lacondition. Solo puede serALLOW. -
DISPLAY_NAME: Es un nombre simple para la restricción. Este campo puede contener hasta 200 caracteres. -
DESCRIPTION: Es una descripción simple de la restricción que se mostrará como un mensaje de error cuando se infrinja la política. Este campo puede contener hasta 2,000 caracteres. -
Después de crear el archivo YAML de una nueva restricción personalizada, debes configurarla con el objetivo de que esté
disponible para las políticas de la organización de tu empresa. Para configurar una restricción personalizada,
usa el
el comando
gcloud org-policies set-custom-constraint: -
Para verificar que la restricción personalizada exista, usa el
comando
gcloud org-policies list-custom-constraints:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: RESOURCE_NAME methodTypes: - CREATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
Reemplaza los valores que se indican a continuación:
Para obtener más información sobre los recursos disponibles para escribir condiciones, consulta Recursos admitidos.
La acción de permitir implica que, si la condición se evalúa como verdadera, se permite la operación para crear o actualizar el recurso. Esto también quiere decir que se bloquea el resto de casos, excepto el que se indica de forma explícita en la condición.
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
Reemplaza
CONSTRAINT_PATHpor la ruta de acceso completa al archivo de la restricción personalizada. Por ejemplo,/home/user/customconstraint.yaml.Una vez que se complete esta operación, tus restricciones personalizadas estarán disponibles en la lista de políticas de la organización de Google Cloud .
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
Reemplaza
ORGANIZATION_IDpor el ID del recurso de tu organización.Para obtener más información, consulta Visualiza las políticas de la organización .
Aplica la política de la organización personalizada:
Puedes aplicar una restricción cuando creas una política de la organización que haga referencia a ella y, luego, aplicas esa política a un recurso de Google Cloud .Consola
- En la consola de Google Cloud , ve a la página Políticas de la organización.
- En el selector de proyectos, elige el proyecto cuya política de la organización quieres configurar.
- En la lista de la página Políticas de la organización, selecciona una restricción para ver la página Detalles de la política de esa restricción.
- Si deseas configurar las políticas de la organización para este recurso, haz clic en Administrar política.
- En la página Editar política, selecciona Anular la política del superior.
- Haz clic en Agregar una regla.
- En la sección Aplicación, selecciona si quieres que se aplique o no esta política de la organización.
- Opcional: Para que la política de la organización sea condicional en una etiqueta, haz clic en Agregar condición. Ten en cuenta que, si agregas una regla condicional a una política de la organización, debes agregar una regla sin condición como mínimo; de lo contrario, la política no se puede guardar. Para obtener más información, consulta Configura una política de la organización con etiquetas.
- Haz clic en Probar cambios para simular el efecto de la política de la organización. Para obtener más información, consulta Prueba los cambios en políticas de la organización con Policy Simulator.
- Para aplicar la política de la organización en modo de ejecución de prueba, haz clic en Establecer política de ejecución de prueba. Para obtener más información, consulta Crea una política de la organización en modo de ejecución de prueba.
- Luego de verificar que la política de la organización en el modo de ejecución de prueba funciona según lo previsto, haz clic en Configurar política para configurar la política activa.
gcloud
- Para crear una política de la organización con reglas booleanas, crea un archivo YAML de política que haga referencia a la restricción:
-
PROJECT_ID: Es el proyecto en el que quieres aplicar tu restricción. -
CONSTRAINT_NAME: Es el nombre que definiste para tu restricción personalizada. Por ejemplo:custom.allowInternalIdentitiesOnly. -
Para aplicar la política de la organización en
el modo de ejecución de
prueba, ejecuta el comando siguiente con la marca
dryRunSpec: -
Luego de verificar que la política de la organización en modo de ejecución de prueba funciona según lo previsto, configura la política
activa con el comando
org-policies set-policyy la marcaspec:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true dryRunSpec: rules: - enforce: true
Reemplaza los valores que se indican a continuación:
gcloud org-policies set-policy POLICY_PATH --update-mask=dryRunSpec
Reemplaza
POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización. La política tarda hasta 15 minutos en aplicarse.gcloud org-policies set-policy POLICY_PATH --update-mask=spec
Reemplaza
POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización. La política tarda hasta 15 minutos en aplicarse.
Usa la restricción iam.allowedPolicyMemberDomains para implementar el uso compartido restringido al dominio
La restricción de dominio es una restricción heredada administrada con la lista constraint_type.
Puedes especificar un conjunto de principales de la organización o un ID de cliente de Google Workspace en la lista allowed_values de una restricción de dominio. Para obtener más información, consulta Conjunto principal de la organización en comparación con el ID de cliente de Google Workspace.
Tu conjunto de principales de la organización y tu ID de Google Workspace no se permiten automáticamente. Para permitir que las entidades principales de tu organización accedan a los recursos de esta, se debe incluir el conjunto de entidades principales de tu organización o el ID de Google Workspace como un conjunto de entidades principales permitidas.
La restricción de dominio no admite el rechazo de valores, y no se puede guardar una política de la organización con IDs en la lista denied_values.
Puedes hacer que una política de la organización que aplique la restricción de dominio sea condicional para cualquier recurso incluido en la lista de recursos compatibles. Por ejemplo, buckets de Cloud Storage, conjuntos de datos de BigQuery o VMs de Compute Engine.
Console
Para establecer una política de la organización que incluya una restricción de dominio, haz lo siguiente:
En la consola de Google Cloud , accede a la página Políticas de la organización.
En el selector de proyectos, selecciona el recurso de organización en el que deseas establecer la política de la organización.
En la página Políticas de la organización, selecciona Uso compartido restringido por dominio en la lista de restricciones.
En la página Detalles de la política, haz clic en Administrar política.
En Se aplica a, selecciona Anular la política del elemento superior.
Haz clic en Agregar una regla.
En Valores de la política, selecciona Personalizado.
En Tipo de política, selecciona Permitir.
En Valores personalizados, ingresa un conjunto de principales de la organización o un ID de cliente de Google Workspace en el campo.
Si deseas agregar varios IDs, haz clic en Nuevo valor de la política para crear un campo adicional.
Haz clic en Listo.
De manera opcional, haz clic en Agregar condición para que la restricción de dominio sea condicional en una etiqueta.
En el campo Título, ingresa un nombre para la condición.
En el campo Descripción, asigna una descripción a la condición. La descripción proporciona contexto sobre las etiquetas que se requieren y cómo afectan a los recursos.
Puedes usar el Generador de condiciones para crear una condición que requiera una etiqueta en particular para que la restricción surta efecto.
En el menú Tipo de condición de la pestaña Creador de condiciones, selecciona Etiqueta.
Selecciona el operador para tu condición. Para que coincida una etiqueta completa, usa el operador matches. Para hacer coincidir una clave y un valor de etiqueta, usa el operador coincide con el ID.
Si seleccionaste el operador coincide con, ingresa el nombre con espacio de nombres del valor de la etiqueta. Si seleccionaste el operador coincide con el ID, ingresa los IDs de clave y valor.
Puedes crear varias condiciones haciendo clic en Agregar. Si agregas otra condición, puedes configurar la lógica condicional para que se requieran todas las condiciones activando Y. Puedes configurar la lógica condicional para que solo se requiera que una de las condiciones sea verdadera. Para ello, activa O.
Para borrar una expresión, haz clic en la X grande a la derecha de los campos de condición.
Cuando termines de editar las condiciones, haz clic en Guardar.
Para aplicar la política, haz clic en Establecer política.
gcloud
Las políticas se pueden configurar a través de Google Cloud CLI. Para crear una política que incluya la restricción de dominio, ejecuta el siguiente comando:
Para establecer una política de la organización que incluya la restricción de dominio, ejecuta el siguiente comando:
gcloud org-policies set-policy POLICY_PATH
Donde POLICY_PATH es la ruta de acceso completa a tu archivo YAML de política de la organización, que debería verse de la siguiente manera:
name: organizations/ORGANIZATION_ID/policies/iam.allowedPolicyMemberDomains
spec:
rules:
- condition: # This condition applies to the values block.
expression: "resource.matchTag('ORGANIZATION_ID/environment', 'dev')"
values:
allowedValues:
- PRINCIPAL_SET
- values:
allowedValues:
- PRINCIPAL_SET
Reemplaza lo siguiente:
- ORGANIZATION_ID con el ID del recurso de la organización en el que se establecerá esta política.
- PRINCIPAL_SET para los identificadores de principal que deseas permitir.
Puedes incluir conjuntos de principales de la organización o IDs de cliente de Google Workspace. Por ejemplo,
is:principalSet://cloudresourcemanager.googleapis.com/organizations/01234567890123ois:C03g5e3bc
Solo las identidades especificadas en la lista de allowed_values se permitirán en las políticas de permiso después de que se aplique esta política de la organización. Para que se permitan, los principales deben estar en el conjunto de principales de la organización especificado o formar parte de un dominio de Google Workspace especificado.
Por ejemplo, si creaste una política de la organización que solo permitía el ID de cliente del dominio de Google Workspace de tu empresa, solo los principales asociados con ese dominio podrían agregarse a la política de permiso a partir de ese momento.
Ejemplo de mensaje de error
Cuando se viola la restricción administrada heredada iam.allowedPolicyMemberDomains debido a que se intenta agregar un principal que no está incluido en la lista allowed_values, la operación fallará y luego se mostrará un mensaje de error.
Console

gcloud
ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION: One or more users named in the policy do not belong to a permitted customer.
Cómo recuperar un conjunto principal de tipo organización
Puedes obtener el ID del recurso de tu organización con la consola de Google Cloud , gcloud CLI o la API de Cloud Resource Manager.
Console
Para obtener el ID de tu recurso de organización con la consola de Google Cloud , haz lo siguiente:
- Ve a la consola de Google Cloud :
- En el selector de proyectos que se encuentra en la parte superior de la página, selecciona tu recurso de organización.
- En el lado derecho, haz clic en Más y, luego, en Configuración.

En la página Configuración, se muestra el ID del recurso de tu organización.
gcloud
Para encontrar el ID del recurso de tu organización, ejecuta el siguiente comando:
gcloud organizations list
Este comando enumera todos los recursos de organización a los que perteneces y sus IDs correspondientes.
API
Para encontrar el ID de tu recurso de organización con la API de Cloud Resource Manager, usa el método organizations.search(), que incluye una consulta para tu dominio. Por ejemplo:
GET https://cloudresourcemanager.googleapis.com/v3/organizations:search{query=domain:altostrat.com}
La respuesta contiene los metadatos del recurso de la organización que pertenece a altostrat.com, lo que incluye el ID del recurso de la organización.
Después de obtener el ID del recurso de tu organización, debes usar el identificador correcto para el conjunto de principales que le pertenecen. Por ejemplo:
principalSet://iam.googleapis.com/organizations/01234567890123
Si ingresas el conjunto de principales de la organización, se les pueden otorgar roles en tu organización a los siguientes principales:
- Todos los grupos de identidades del personal de tu organización
- Todas las cuentas de servicio y los grupos de identidades para cargas de trabajo en cualquier proyecto de la organización
- Son todos los agentes de servicio asociados con los recursos de tu organización.
Para obtener más información sobre los identificadores de principales de IAM, consulta Identificadores de principales.
Recupera un ID de cliente de Google Workspace
Si ingresas el ID de cliente de Google Workspace, se les pueden otorgar roles en tu organización a los siguientes principales:
- Todas las identidades en todos los dominios asociados con tu ID de cliente de Google Workspace
- Todos los grupos de identidades del personal de tu organización
- Todas las cuentas de servicio y los grupos de identidades para cargas de trabajo en cualquier proyecto de la organización
- Son todos los agentes de servicio asociados con los recursos de tu organización.
El ID de cliente de Google Workspace que usa la restricción de dominio se puede obtener de las dos siguientes maneras:
gcloud
El comando gcloud organizations list se puede usar para ver todas las organizaciones en las que tienes el permiso resourcemanager.organizations.get:
gcloud organizations list
Con este comando, se mostrarán el DISPLAY_NAME, el ID (ID de la organización) y el DIRECTORY_CUSTOMER_ID. El ID de cliente de Google Workspace es el DIRECTORY_CUSTOMER_ID.
API
La API del directorio de Google Workspace se puede usar para recuperar un ID de cliente de Google Workspace.
Cuando hayas accedido como administrador de Google Workspace, puedes visitar la documentación del método de la API Customers: get y hacer clic en Ejecutar. Después de la autorización, la respuesta mostrará tu ID de cliente.
Como alternativa, puedes usar un cliente de API:
- Obtén un token de acceso de OAuth para el permiso
https://www.googleapis.com/auth/admin.directory.customer.readonly. Ejecuta el siguiente comando para consultar la API de directorio de Google Workspace:
curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \ -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
Con este comando, se mostrará una respuesta JSON que incluye la información del cliente. El ID de cliente de Google Workspace es el id.
Configura excepciones para el uso compartido restringido al dominio
Algunos Google Cloud servicios usan cuentas de servicio, agentes de servicio y otras cuentas para realizar acciones en tu nombre. El uso compartido restringido por dominio puede impedir que a estas cuentas se les otorguen automáticamente los roles de IAM que necesitan, lo que puede provocar que fallen ciertas acciones.
En la siguiente tabla, se enumeran las acciones en Google Cloud que podrían verse afectadas por el uso compartido restringido del dominio. También se enumeran las cuentas a las que se deben otorgar roles automáticamente para que estas acciones se realicen correctamente.
Si usas políticas de la organización personalizadas o la restricción administrada iam.managed.allowedPolicyMembers para implementar el uso compartido restringido al dominio, considera agregar estas cuentas como excepciones a tu restricción de uso compartido restringido al dominio. Para agregar una cuenta como excepción, agrega el identificador principal de la cuenta a la lista de miembros permitidos.
Si usas la restricción administrada heredada iam.allowedPolicyMemberDomains para implementar el uso compartido restringido al dominio, es posible que debas forzar el acceso a la cuenta para que estas cuentas realicen las acciones enumeradas.
| Acción | Identificador de principal |
|---|---|
| Habilita el receptor de registros de BigQuery para una cuenta de facturación | serviceAccount:bUNIQUE_ID@gcp-sa-logging.iam.gserviceaccount.com |
| Habilita el registro de acceso del almacenamiento | serviceAccount:cloud-storage-analytics@google.com |
| Usa Pub/Sub como un extremo para una app de Google Chat | serviceAccount:chat-api-push@system.gserviceaccount.com |
| Usa Pub/Sub para recibir notificaciones para desarrolladores en tiempo real de Google Play | serviceAccount:google-play-developer-notifications@system.gserviceaccount.com |
| Usa una URL firmada con Cloud CDN | serviceAccount:service-PROJECT_NUMBER@cloud-cdn-fill.iam.gserviceaccount.com |
| Autenticación de origen privado con Cloud CDN | serviceAccount:service-PROJECT_NUMBER@https-lb.iam.gserviceaccount.com |
Servicios públicos de Cloud Run
Cloud Run te permite hacer que los servicios sean públicos. Sin embargo, si implementas el uso compartido restringido del dominio, los usuarios ajenos a tu organización no podrán acceder a los servicios públicos de Cloud Run.
Para permitir que los usuarios accedan a los servicios públicos de Cloud Run, debes inhabilitar la verificación de IAM de Cloud Run Invoker para los servicios de Cloud Run. Para obtener más información, consulta Inhabilita el invocador de Cloud Run para servicios.
Compartir otros datos de forma pública
Si usas políticas de la organización personalizadas para implementar el uso compartido restringido al dominio, puedes agregar una excepción a tu política de la organización para permitir el uso compartido de datos públicos.
Compartir datos de forma pública involucra a los principales especiales allUsers y allAuthenticatedUsers. Si necesitas compartir datos de forma pública mientras usas el uso compartido restringido del dominio, debes agregar una excepción para estos principales.
Solo es posible agregar excepciones si usas políticas de la organización personalizadas para implementar el uso compartido restringido al dominio.
Para agregar una excepción para allUsers y allAuthenticatedUsers, crea una política de la organización personalizada condicional basada en etiquetas de recursos.
Crea una clave de etiqueta en el recurso de tu organización.
gcloud resource-manager tags keys create allUsersIngress \ --parent=organizations/ORGANIZATION_IDReemplaza
ORGANIZATION_IDpor el ID de tu organización.Crea un valor de etiqueta para la clave de etiqueta que creaste.
gcloud resource-manager tags values create True \ --parent=ORGANIZATION_ID/allUsersIngress \ --description="Allow allUsers to access internal Cloud Run services"Adjunta la etiqueta a los recursos que quieras compartir públicamente.
Crea una restricción personalizada con la función
memberSubjectMatchesde CEL en la expresión de condición de tu restricción.Por ejemplo, la siguiente expresión de condición restringe el otorgamiento de roles a los miembros de tu organización,
allUsersyallAuthenticatedUsers:name: organizations/ORGANIZATION_ID/customConstraints/custom.allowInternalAndSpecialIdentitiesOnly resourceTypes: iam.googleapis.com/AllowPolicy methodTypes: - CREATE - UPDATE condition: "resource.bindings.all( binding, binding.members.all(member, ( MemberInPrincipalSet(member, ['//cloudresourcemanager.googleapis.com/organizations/ORG_ID']) || MemberSubjectMatches(member, ['allUsers', 'allAuthenticatedUsers']) ) ) )" actionType: ALLOW displayName: Only allow organization members, allusers, and allAuthenticatedUsers to be granted rolesCrea una política de la organización que aplique la restricción personalizada.
name: organizations/ORGANIZATION_ID/policies/iam.allowedPolicyMemberDomains spec: rules: - allowAll: true condition: expression: resource.matchTag("ORGANIZATION_ID/allUsersIngress", "True") title: allowAllUsersIngressAplica la política de la organización.
gcloud org-policies set-policy POLICY_PATHReemplaza
POLICY_PATHpor la ruta de acceso y el nombre de archivo de la política de tu organización.
La política de la organización condicional te permite otorgar permisos a la identidad allUsers en los recursos etiquetados con allUsersIngress: true.
Fuerza el acceso a la cuenta
Si necesitas forzar el acceso a la cuenta de un proyecto que infringe las restricciones del dominio, haz lo siguiente:
Quita la política de la organización que contiene la restricción de dominio.
Otórgale el acceso a la cuenta al proyecto.
Vuelve a implementar la política de la organización con la restricción de dominio.
Como alternativa, puedes otorgar acceso a un Grupo de Google que contenga las cuentas de servicio relevantes de la siguiente manera:
Crea un Grupo de Google dentro del dominio admitido.
Usa el panel de administrador de Google Workspace para desactivar la restricción del dominio para ese grupo.
Agrega la cuenta de servicio al grupo.
Otorga acceso al grupo de Google en la política de IAM.