Restringir identidades por dominio

El uso compartido restringido al dominio te permite limitar el uso compartido de recursos en función de un dominio o un recurso de la organización. Cuando está activo el uso compartido restringido por dominio, solo se pueden conceder roles de gestión de identidades y accesos en tu organización a las entidades que pertenezcan a dominios u organizaciones permitidos. Google Cloud

Hay tres tipos de políticas de organización que puedes usar para restringir las identidades por dominio:

  • La restricción gestionada iam.managed.allowedPolicyMembers
  • Políticas de organización personalizadas que hacen referencia al iam.googleapis.com/AllowPolicy recurso
  • La restricción gestionada antigua iam.allowedPolicyMemberDomains

Antes de empezar

Elige el método que vas a usar para implementar el uso compartido restringido al dominio. Para obtener más información sobre las ventajas y desventajas de cada método, consulta el artículo 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, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Usa la restricción iam.managed.allowedPolicyMembers para implementar el uso compartido restringido al dominio

Consola

  1. En la Google Cloud consola, ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. En el selector de proyectos, selecciona el proyecto, la carpeta o la organización para los que quieras editar la política de la organización. En la página Políticas de organización que aparece, se muestra una lista filtrable de restricciones de políticas de organización disponibles para este recurso.

  3. En la lista, selecciona la restricción gestionada Restringir los miembros de la política permitidos en las políticas de permisos de gestión de identidades y accesos.

  4. En la página Detalles de la política, haz clic en Gestionar política.

  5. En la página Editar política, selecciona Anular política del recurso superior.

  6. Selecciona Añadir regla y, a continuación, actualiza la regla de la política de organización:

  7. En Implementación obligatoria, selecciona Activada.

  8. Si quieres que la política de la organización dependa de una etiqueta, haz clic en Añadir condición. Si añades una regla condicional a una política de organización, debes añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

  9. En la sección Parámetros, configure los miembros y los conjuntos de principales a los que se les deben poder asignar roles en su organización y, a continuación, haga clic en Guardar.

  10. Si quieres ver una vista previa del efecto del cambio en la política de tu 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 organización, consulta el artículo Probar los cambios en las políticas de organización con el simulador de políticas.

  11. Para aplicar la política de la organización en modo de prueba de funcionamiento, haz clic en Definir política de prueba de funcionamiento. Para obtener más información, consulta Crear una política de organización en modo de prueba.

  12. Una vez que hayas verificado que la política de organización en modo de prueba funciona como se espera, define la política activa haciendo clic en Definir política.

gcloud

  1. Crea un archivo YAML para definir la política de la organización:

    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
    

    Haz los cambios siguientes:

    • ORG_ID: el ID numérico de tu organización de Google Cloud.

    • CONSTRAINT_NAME: el nombre de la restricción que quieras definir.

    • ALLOWED_MEMBER_1: ALLOWED_MEMBER_2: los miembros a los que se les deben poder asignar roles en tu organización. Por ejemplo, user:example-user@example.com.

    • ALLOWED_PRINCIPAL_SET_1: ALLOWED_PRINCIPAL_SET_2: los conjuntos de principales a los que se les deberían poder asignar roles en tu organización. Por ejemplo, //cloudresourcemanager.googleapis.com/organizations/0123456789012.

    Si quieres que la política de organización dependa de una etiqueta, añade un bloque condition al rules. Si añade una regla condicional a una política de organización, debe añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

  2. Define la política con el comando org-policies set-policy y la marca spec:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    Sustituye POLICY_PATH por la ruta completa al archivo YAML de la política de tu organización.

Para saber cómo probar la política en el modo de prueba antes de aplicarla, consulta Crear una política de organización en el modo de prueba.

Para saber cómo simular la política antes de aplicarla, consulta Probar cambios en las políticas de la organización con el simulador de políticas.

REST

Para definir 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"
          ]
        }
      }
    ]
  }
}

Haz los cambios siguientes:

  • ORG_ID: el ID numérico de tu organización de Google Cloud.

  • CONSTRAINT_NAME: el nombre de la restricción que quieras definir.

  • ALLOWED_MEMBER_1: ALLOWED_MEMBER_2: los miembros a los que se les deben poder asignar roles en tu organización. Por ejemplo, user:example-user@example.com.

  • ALLOWED_PRINCIPAL_SET_1: ALLOWED_PRINCIPAL_SET_2: los conjuntos de principales a los que se les deberían poder asignar roles en tu organización. Por ejemplo, //cloudresourcemanager.googleapis.com/organizations/0123456789012.

Si quieres que la política de organización dependa de una etiqueta, añade un bloque condition al rules. Si añade una regla condicional a una política de organización, debe añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

Para saber cómo probar la política en el modo de prueba antes de aplicarla, consulta Crear una política de organización en el modo de prueba.

Para saber cómo simular la política antes de aplicarla, consulta Probar cambios en las políticas de la organización con el simulador de políticas.

Usar políticas de organización personalizadas para implementar el uso compartido restringido al dominio

  1. Crea una restricción personalizada que limite los principales a los que se pueden asignar roles en tu organización:

    1. Usa la memberInPrincipalSetfunción CEL con el principal de tu organización para restringir la concesión de roles a los miembros de tu organización. Para saber cómo encontrar el ID de tu organización, consulta Obtener el ID de un recurso de organización.

      Por ejemplo, la siguiente restricción limita la concesión de roles a los miembros de tu organización:

      name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly
      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 roles
      
    2. También puede acotar la restricción añadiendo funciones CEL adicionales, unidas con operadores lógicos (&&, || o !). Puede añadir cualquiera de las siguientes funciones:

      Por ejemplo, la siguiente restricción limita la concesión de roles a los miembros de tu organización y a admin@example.com:

      name: organizations/ORG_ID/customConstraints/custom.allowInternalIdentitiesOnly
      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
      
  2. Configura la restricción personalizada:

    Una vez que hayas creado el archivo YAML de una nueva restricción personalizada, debes configurarla para que esté disponible en las políticas de organización de tu organización. Para configurar una restricción personalizada, usa el comando gcloud org-policies set-custom-constraint:
    gcloud org-policies set-custom-constraint CONSTRAINT_PATH
    Sustituye CONSTRAINT_PATH por la ruta completa a tu archivo de restricciones personalizadas. Por ejemplo, /home/user/customconstraint.yaml. Una vez completado el proceso, las restricciones personalizadas estarán disponibles como políticas de organización en la lista de Google Cloud políticas de organización. Para verificar que la restricción personalizada existe, usa el comando gcloud org-policies list-custom-constraints:
    gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
    Sustituye ORGANIZATION_ID por el ID del recurso de tu organización. Para obtener más información, consulta Ver políticas de la organización.
  3. Aplica la política de organización personalizada:

    Para aplicar una restricción, crea una política de organización que haga referencia a ella y, a continuación, aplica esa política de organización a un Google Cloud recurso.

    Consola

    1. En la Google Cloud consola, ve a la página Políticas de la organización.

      Ir a Políticas de organización

    2. En el selector de proyectos, elige el proyecto para el que quieras definir la política de organización.
    3. En la lista de la página Políticas de organización, selecciona la restricción para ver la página Detalles de la política correspondiente.
    4. Para configurar la política de la organización de este recurso, haz clic en Gestionar política.
    5. En la página Editar política, selecciona Anular política del recurso superior.
    6. Haz clic en Añadir regla.
    7. En la sección Aplicación, selecciona si quieres activar o desactivar la aplicación de esta política de la organización.
    8. Opcional: Para que la política de la organización dependa de una etiqueta, haz clic en Añadir condición. Ten en cuenta que, si añades una regla condicional a una política de organización, debes añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.
    9. Haz clic en Probar cambios para simular el efecto de la política de la organización. La simulación de políticas no está disponible para las restricciones gestionadas antiguas. Para obtener más información, consulta el artículo Probar los cambios en las políticas de la organización con el simulador de políticas.
    10. Para finalizar y aplicar la política de organización, haz clic en Definir política. La política tarda hasta 15 minutos en aplicarse.

    gcloud

    Para crear una política de organización con reglas booleanas, crea un archivo YAML de política que haga referencia a la restricción:

          name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
          spec:
            rules:
            - enforce: true
        

    Haz los cambios siguientes:

    • PROJECT_ID: el proyecto en el que quieras aplicar la restricción.
    • CONSTRAINT_NAME: el nombre de la restricción que quieras aplicar. Por ejemplo, compute.disableAllIpv6.

    Para aplicar la política de la organización que contiene la restricción, ejecuta el siguiente comando:

        gcloud org-policies set-policy POLICY_PATH
        

    Sustituye POLICY_PATH por la ruta completa al archivo YAML de la política de tu 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 dominios es una restricción gestionada antigua que usa la lista constraint_type. Los IDs de cliente de Google Workspace y los IDs de recurso de organización se pueden añadir y quitar de la lista allowed_values de una restricción de dominio. Google Cloud La restricción de dominio no admite valores denegados y no se puede guardar una política de organización con IDs en la lista denied_values.

La política de la organización permitirá todos los dominios asociados a una cuenta de Google Workspace o a un recurso de organización que se incluyan en la allowed_values. La política de la organización denegará el acceso a todos los demás dominios.

Puedes crear una política de organización que aplique la restricción de dominios de forma condicional a cualquier recurso incluido en la lista de recursos admitidos. Por ejemplo, los contenedores de Cloud Storage, los conjuntos de datos de BigQuery o las VMs de Compute Engine.

Consola

Para definir una política de organización que incluya una restricción de dominios, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. En el selector de proyectos, selecciona el recurso de organización en el que quieras definir la política de la organización.

  3. En la página Políticas de organización, selecciona Compartir restringido por dominio en la lista de restricciones.

  4. En la página Detalles de la política, haz clic en Gestionar política.

  5. En Se aplica a, selecciona Anular política del recurso superior.

  6. Haz clic en Añadir regla.

  7. En Valores de la política, selecciona Personalizado.

  8. En Tipo de política, selecciona Permitir.

    .
  9. En Valores personalizados, introduce un ID de recurso de organización o un ID de cliente de Google Workspace en el campo.

    Si introduces el ID de recurso de la organización, los siguientes principales podrán tener roles en tu organización:

    • Todos los grupos de identidades de Workforce de tu organización
    • Todas las cuentas de servicio y los grupos de identidades de carga de trabajo de cualquier proyecto de la organización
    • Todos los agentes de servicio asociados a recursos de tu organización.

    Al introducir el ID de cliente de Google Workspace, se pueden asignar roles en tu organización a los siguientes principales:

    • Todas las identidades de todos los dominios asociados a tu ID de cliente de Google Workspace
    • Todos los grupos de identidades de Workforce de tu organización
    • Todas las cuentas de servicio y los grupos de identidades de carga de trabajo de cualquier proyecto de la organización
    • Todos los agentes de servicio asociados a recursos de tu organización.
  10. Si quieres añadir varios IDs, haz clic en Nuevo valor de política para crear un campo adicional.

  11. Haz clic en Listo.

  12. Si quieres que la restricción de dominio dependa de una etiqueta, haz clic en Añadir condición.

    1. En el campo Título, introduce un nombre para la condición.

    2. En el campo Descripción, describe la condición. La descripción proporciona contexto sobre las etiquetas obligatorias y cómo afectan a los recursos.

    3. Puede usar el Creador de condiciones para crear una condición que requiera una etiqueta concreta para que la restricción surta efecto.

      1. En el menú Tipo de condición de la pestaña Creador de condiciones, selecciona Etiqueta.

      2. Seleccione el operador de la condición. Para que coincida una etiqueta completa, usa el operador matches. Para asociar una clave de etiqueta y un valor de etiqueta, usa el operador coincide con el ID.

      3. Si ha seleccionado el operador coincide, introduzca el valor del nombre con espacio de nombres de la etiqueta. Si ha seleccionado el operador coincide con el ID, introduzca los IDs de clave y valor.

      4. Puedes crear varias condiciones haciendo clic en Añadir. Si añades otra condición, puedes definir la lógica condicional para que se cumplan todas activando Y. Puedes definir la lógica condicional para que solo se cumpla una de las condiciones activando O.

      5. Para eliminar una expresión, haz clic en la X grande situada a la derecha de los campos de condición.

      6. Cuando haya terminado de editar las condiciones, haga clic en Guardar.

  13. Para aplicar la política, haz clic en Definir política.

gcloud

Las políticas se pueden definir mediante Google Cloud CLI. Para crear una política que incluya la restricción de dominio, ejecuta el siguiente comando:

Para definir 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 completa al archivo YAML de la política de tu organización, que debería tener un aspecto similar al siguiente:

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

Haz los cambios siguientes:

  • ORGANIZATION_ID con el ID del recurso de organización en el que se va a definir esta política.
  • PRINCIPAL_SET para los identificadores principales de Cloud Identity que quieras permitir, incluido el ID del recurso de organización. Por ejemplo, is:principalSet://iam.googleapis.com/organizations/01234567890123.

    Los IDs de cliente de Google Workspace deben usarse para todas las demás identidades que quieras permitir. Por ejemplo, is:C03g5e3bc.

Una vez que se haya aplicado esta política de la organización, solo se permitirán las identidades que pertenezcan al ID de recurso de la organización o al dominio de Google Workspace de la lista de allowed_values en las políticas de permiso. Los usuarios y grupos humanos de Google Workspace deben ser elementos secundarios de ese recurso de organización o formar parte de ese dominio de Google Workspace, y las cuentas de servicio de IAM deben ser elementos secundarios de un recurso de organización asociado al dominio de Google Workspace en cuestión.

Por ejemplo, si creaste una política de organización con solo el ID de cliente de Google Workspace de tu empresa, solo se podrían añadir principales de ese dominio a la política de permiso a partir de ese momento.

Ejemplo de mensaje de error

Si se infringe la restricción gestionada antigua iam.allowedPolicyMemberDomains al intentar añadir una entidad principal que no esté incluida en la lista allowed_values, la operación fallará y se mostrará un mensaje de error.

Consola

Captura de pantalla de la consola

gcloud

ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION:
One or more users named in the policy do not belong to a permitted customer.

Obtener el ID de recurso de una organización

Puedes obtener el ID de tu recurso de organización mediante la Google Cloud consola, la CLI de gcloud o la API Cloud Resource Manager.

consola

Para obtener el ID de tu recurso de organización mediante la consola Google Cloud , sigue estos pasos:

  1. Ve a la Google Cloud consola:

    Ir a la Google Cloud consola

  2. En el selector de proyectos de la parte superior de la página, selecciona el recurso de tu organización.
  3. En la parte derecha, haz clic en Más y, a continuación, en Configuración.

En la página Configuración se muestra el ID del recurso de tu organización.

gcloud

Para encontrar el ID de recurso de tu organización, ejecuta el siguiente comando:

gcloud organizations list

Este comando muestra todos los recursos de organización a los que perteneces y sus correspondientes IDs de recursos de organización.

API

Para encontrar el ID de tu recurso de organización con la API Cloud Resource Manager, usa el método organizations.search() e 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 organización que pertenece a altostrat.com, incluido el ID del recurso de organización.

Una vez que tengas el ID de 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

Para obtener más información sobre los identificadores de principales de gestión de identidades y accesos, consulta Identificadores de principales.

Obtener un ID de cliente de Google Workspace

El ID de cliente de Google Workspace que usa la restricción de dominio se puede obtener de dos formas:

gcloud

El comando gcloud organizations list se puede usar para ver todas las organizaciones para las que tienes el permiso resourcemanager.organizations.get:

gcloud organizations list

Este comando devolverá DISPLAY_NAME, ID (ID de organización) y DIRECTORY_CUSTOMER_ID. El ID de cliente de Google Workspace es DIRECTORY_CUSTOMER_ID.

API

La API Directory de Google Workspace se puede usar para obtener un ID de cliente de Google Workspace.

Cuando hayas iniciado sesión 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.

También puedes usar un cliente de API:

  1. Obtén un token de acceso OAuth para el permiso https://www.googleapis.com/auth/admin.directory.customer.readonly.
  2. Ejecuta el siguiente comando para consultar la API Directory 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"
    

Este comando devolverá una respuesta JSON que incluirá la información del cliente. El ID de cliente de Google Workspace es id.

Configurar excepciones para el uso compartido restringido al dominio

Algunos servicios Google Cloud 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 se concedan automáticamente a estas cuentas los roles de gestión de identidades y accesos que necesitan, lo que puede provocar que se produzcan errores en determinadas acciones.

En la siguiente tabla se enumeran las acciones de Google Cloud que podrían verse afectadas por el uso compartido restringido por dominio. También se indican las cuentas a las que se deben conceder roles automáticamente para que estas acciones se completen correctamente.

Si usas políticas de organización personalizadas o la restricción gestionada iam.managed.allowedPolicyMembers para implementar el uso compartido restringido por dominio, considera la posibilidad de añadir estas cuentas como excepciones a tu restricción de uso compartido restringido por dominio. Para añadir una cuenta como excepción, añade el identificador principal de la cuenta a la lista de miembros permitidos.

Si usas la restricción gestionada antigua iam.allowedPolicyMemberDomains para implementar el uso compartido restringido al dominio, es posible que tengas que forzar el acceso a la cuenta para que estas cuentas puedan realizar las acciones indicadas.

Acción Identificador principal
Vincular Google Analytics 360 con BigQuery serviceAccount:analytics-processing-dev@system.gserviceaccount.com
Habilitar un sumidero de registros de BigQuery en una cuenta de facturación serviceAccount:bUNIQUE_ID@gcp-sa-loggingiam.gserviceaccount.com
Habilitar el registro de acceso al almacenamiento serviceAccount:cloud-storage-analytics@google.com
Habilitar la API de Firebase
  • serviceAccount:service-PROJECT_NUMBER@gcp-sa-firebase.iam.gserviceaccount.com
  • serviceAccount:firebase-service-account@firebase-sa-management.iam.gserviceaccount.com
Usar Pub/Sub como endpoint de una aplicación de Google Chat serviceAccount:chat-api-push@system.gserviceaccount.com
Usar Pub/Sub para recibir notificaciones para desarrolladores en tiempo real de Google Play serviceAccount:google-play-developer-notifications@system.gserviceaccount.com
Usar 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 públicos los servicios. Sin embargo, si implementas el uso compartido restringido por 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 comprobación de IAM del invocador de Cloud Run en los servicios de Cloud Run. Para obtener más información, consulta Inhabilitar el invocador de Cloud Run para los servicios.

Compartir otros datos públicamente

Si usas políticas de organización personalizadas para implementar el uso compartido restringido por dominio, puedes añadir una excepción a tu política de organización para permitir el uso compartido público de datos.

Para compartir datos públicamente, se utilizan las entidades especiales allUsers y allAuthenticatedUsers. Si necesitas compartir datos públicamente mientras usas la función de compartir con restricciones de dominio, debes añadir una excepción para estos principales. Solo puedes añadir excepciones si usas políticas de organización personalizadas para implementar el uso compartido restringido al dominio.

Para añadir una excepción para allUsers y allAuthenticatedUsers, usa la función memberSubjectMatches de CEL en la expresión de condición de tu restricción.

Por ejemplo, la siguiente expresión de condición restringe la concesión de roles a los miembros de tu organización, allUsers y allAuthenticatedUsers:

name: organizations/ORG_ID/customConstraints/custom.allowInternalAndSpecialIdentitiesOnly
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 roles

Forzar el acceso a la cuenta

Si necesitas forzar el acceso a una cuenta para un proyecto que infringe las restricciones de dominio, sigue estos pasos:

  1. Quita la política de organización que contenga la restricción de dominio.

  2. Concede acceso a la cuenta al proyecto.

  3. Implementa de nuevo la política de organización con la restricción de dominio.

También puedes conceder acceso a un grupo de Google que contenga las cuentas de servicio correspondientes:

  1. Crea un grupo de Google en el dominio permitido.

  2. Usa el panel de administración de Google Workspace para desactivar la restricción de dominio de ese grupo.

  3. Añade la cuenta de servicio al grupo.

  4. Concede acceso al grupo de Google en la política de permiso.