Crea y administra políticas de la organización personalizadas

La Política de la Organización de Google Cloud te brinda un control centralizado y programático sobre los recursos de tu organización. Como administrador de políticas de la organización, puedes definir una política de la organización, que es un conjunto de restricciones denominadas restricciones que se aplican recursos de Google Cloud y sus elementos subordinados en la Jerarquía de recursos de Google Cloud. Puedes aplicar políticas de la organización a nivel de la organización, carpeta o proyecto.

La política de la organización proporciona restricciones predefinidas para varios servicios de Google Cloud. Sin embargo, si quieres tener un mayor control de tus políticas de la organización, puedes crear políticas de la organización personalizadas.

En esta página, se describe cómo ver, crear y administrar organizaciones personalizadas y políticas de seguridad. Los administradores crean las políticas personalizadas de la organización para brindar un control más detallado y personalizable de los campos específicos que se estén restringidas por las políticas de tu organización.

Antes de comenzar

Para obtener más información sobre qué son las políticas y restricciones de la organización y cómo funcionan, consulta la Introducción al Servicio de políticas de la organización.

Roles obligatorios

Para obtener los permisos que necesitas a fin de administrar las políticas de la organización, pídele a tu administrador que te otorgue el rol de IAM de 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.

Este rol predefinido contiene los permisos necesarios para administrar las políticas de la organización. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para administrar las políticas de la organización:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos

Restricciones personalizadas

Se crea una restricción personalizada en un archivo YAML que especifica los recursos. métodos, condiciones y acciones sujetos a la restricción. Son específicas del servicio en el que aplicas la política de la organización. El las condiciones para tu restricción personalizada se definen con la expresión común Idioma (CEL).

Configura una restricción personalizada

Puedes crear una restricción personalizada y configurarla para su uso en las políticas de la organización mediante la consola de Google Cloud o Google Cloud CLI.

Consola

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

    Ir a Políticas de la organización

  2. Selecciona el selector de proyectos en la parte superior de la página.

  3. En el selector de proyectos, selecciona el recurso que deseas. para establecer la política de la organización.

  4. Haz clic en Restricción personalizada.

  5. En el cuadro Nombre visible, ingresa un nombre descriptivo para la restricción. La longitud máxima de este campo es 200 caracteres. No uses PII ni datos sensibles en los nombres visibles, ya que podría en mensajes de error.

  6. En el cuadro ID de restricción, ingresa el nombre que deseas para la nueva restricción personalizada. Una restricción personalizada debe comenzar con custom. y solo puede incluir letras mayúsculas, minúsculas o números, por ejemplo, custom.disableGkeAutoUpgrade. La longitud máxima de este campo es de 70 caracteres, sin contar el prefijo (por ejemplo, organizations/123456789/customConstraints/custom.). No incluyas PII ni datos sensibles en el ID de restricción, podría quedar expuesta en mensajes de error.

  7. En el cuadro Description, ingresa una descripción fácil de usar de la restricción que se mostrará como un mensaje de error cuando se infringe la política. La longitud máxima de este campo es 2000 caracteres. No incluyas PII ni datos sensibles en la descripción podría quedar expuesta en mensajes de error.

  8. En el cuadro Tipo de recurso, selecciona el nombre de la cuenta de Google Cloud. recurso REST que contiene el objeto y el campo que deseas restringir, para ejemplo, container.googleapis.com/NodePool. El máximo es de 20 restricciones personalizadas por tipo de recurso. Si intentas crear un perfil personalizado para un tipo de recurso que ya tiene 20 restricciones personalizadas. la operación falla.

  9. En Método de aplicación, selecciona si deseas aplicar la restricción de manera forzosa. en un método CREATE de REST, o en los métodos CREATE y UPDATE. No todos los servicios de Google Cloud admiten ambos métodos. Para ver para cada servicio, busca el servicio en Servicios compatibles.

  10. Para definir una condición, haz clic en Editar condición.

    1. En el panel Agregar condición, crea una condición de CEL que haga referencia a una recurso de servicio admitido, por ejemplo, resource.management.autoUpgrade == false. La longitud máxima de este campo es 1000 caracteres. Para obtener detalles sobre el uso de CEL, consulta Common Expression Language. Para ver más información sobre los recursos de servicio que puedes usar en tu consulta Servicios compatibles con restricciones personalizadas.

    2. Haz clic en Guardar.

  11. En Acción, selecciona si deseas permitir o rechazar el método evaluado si se cumple la condición anterior.

    La acción de rechazar significa que la operación para crear o actualizar el recurso se bloquea si la condición se evalúa como verdadera.

    La acción allow significa que la operación para crear o actualizar el el recurso solo está permitido si la condición se evalúa como verdadera. Cada otro caso, excepto los que se mencionan explícitamente en la condición, está bloqueado.

  12. Haz clic en Crear restricción.

Cuando ingreses un valor en cada campo, aparecerá a la derecha la configuración de YAML equivalente para esta restricción personalizada.

gcloud

A fin de crear una restricción personalizada con Google Cloud CLI, crea un archivo YAML para la restricción personalizada:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- METHOD1
- METHOD2
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION

Reemplaza lo siguiente:

  • ORGANIZATION_ID: el ID de la organización, como 123456789.

  • CONSTRAINT_NAME: el nombre que deseas para tu nueva restricción personalizada. Una restricción personalizada debe comenzar con custom. y solo puede incluir letras mayúsculas, minúsculas o números, por ejemplo, custom.disableGkeAutoUpgrade. La longitud máxima de este campo es de 70 caracteres, sin contar el prefijo (por ejemplo, organizations/123456789/customConstraints/custom.).

  • RESOURCE_NAME: el nombre completamente calificado del recurso de REST de Google Cloud que contiene el objeto y el campo que deseas restringir. Por ejemplo, container.googleapis.com/NodePool Existe un límite máximo de 20 restricciones personalizadas por tipo de recurso. Si intentas crear un perfil personalizado para un tipo de recurso que ya tiene 20 restricciones personalizadas, el la operación falla. Para obtener más información sobre los recursos de servicio que puedes usar En tus restricciones personalizadas, consulta Servicios compatibles con restricciones personalizadas.

  • METHOD1,METHOD2: una lista de métodos de RESTful para aplicar la restricción. Puede ser CREATE o CREATE y UPDATE. No todos los servicios de Google Cloud admiten ambos métodos. Para consulta los métodos admitidos para cada servicio, encuentra el servicio en Servicios admitidos.

  • CONDITION: Una condición de CEL que hace referencia a un recurso de servicio admitido, por ejemplo, "resource.management.autoUpgrade == false" La longitud máxima de este campo es 1000 caracteres. Para obtener detalles sobre el uso de CEL, consulta Common Expression Language.

  • ACTION: la acción que se realiza si se cumple condition. Puede ser ALLOW o DENY.

    La acción de rechazar significa que, si la condición se evalúa como verdadera, para crear o actualizar el recurso, está bloqueada.

    La acción allow significa que, si la condición se evalúa como verdadera, que la operación para crear o actualizar el recurso esté permitida. Esto también significa que todos los demás casos, excepto el que se menciona explícitamente, en el está bloqueada.

  • DISPLAY_NAME: un nombre descriptivo para la restricción. La longitud máxima de este campo es 200 caracteres.

  • DESCRIPTION: una descripción fácil de usar de la restricción que se mostrará como un mensaje de error cuando se infringe la política. La longitud máxima de este campo es 2000 caracteres.

Después de crear una nueva restricción personalizada mediante Google Cloud CLI, debes configurarla a fin de que esté disponible para las políticas de la 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
Reemplaza CONSTRAINT_PATH por la ruta completa a tu restricción personalizada archivo. Por ejemplo, /home/user/customconstraint.yaml. Una vez completadas, encontrarás tus restricciones personalizadas como políticas de organización disponibles en tu lista de políticas de la organización de Google Cloud. Para verificar que la restricción personalizada exista, usa el comando gcloud org-policies list-custom-constraints:
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
Reemplaza ORGANIZATION_ID con el ID de tu recurso de la organización. Para obtener más información, consulta Visualiza las políticas de la organización.

Actualizar una restricción personalizada

Para actualizar una restricción personalizada, edita la restricción la consola de Google Cloud, o creando un nuevo archivo YAML y usando set-custom-constraint vuelve a ejecutar el comando de gcloud CLI. No hay y el control de versiones de las restricciones personalizadas, por lo que este reemplaza el control “compute.vmExternalIpAccess”. Si ya se aplicó la restricción personalizada, la restricción personalizada actualizada restricción se aplica de inmediato.

Console

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

    Ir a Políticas de la organización

  2. Selecciona el selector de proyectos en la parte superior de la página.

  3. En el selector de proyectos, selecciona el recurso que deseas. para actualizar la política de la organización.

  4. Selecciona la restricción que quieres editar de la lista que se encuentra en Página de Políticas de la organización En la página Detalles de la política .

  5. Haz clic en Editar restricción.

  6. Hacer cambios en el nombre visible, la descripción, el método de aplicación condición y acción. No puedes cambiar el ID ni el recurso de restricción cuando se crea la restricción.

  7. Haz clic en Guardar cambios.

gcloud

Para editar una restricción personalizada existente con Google Cloud CLI, crea un archivo YAML nuevo que contenga los cambios que deseas realizar:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- METHOD1
- METHOD2
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION

Reemplaza lo siguiente:

  • ORGANIZATION_ID: el ID de la organización, como 123456789.

  • CONSTRAINT_NAME: el nombre que deseas para tu nueva restricción personalizada. Una restricción personalizada debe comenzar con custom. y solo puede incluir letras mayúsculas, minúsculas o números, por ejemplo, custom.disableGkeAutoUpgrade. La longitud máxima de este campo es de 70 caracteres, sin contar el prefijo (por ejemplo, organizations/123456789/customConstraints/custom.).

  • RESOURCE_NAME: el nombre completamente calificado del recurso de REST de Google Cloud que contiene el objeto y el campo que deseas restringir. Por ejemplo, container.googleapis.com/NodePool Para ver más información sobre los recursos de servicio que puedes usar en tu consulta Servicios compatibles con restricciones personalizadas.

  • METHOD1,METHOD2: una lista de métodos de RESTful para aplicar la restricción. Puede ser CREATE o CREATE y UPDATE. No todos los servicios de Google Cloud admiten ambos métodos. Para consulta los métodos admitidos para cada servicio, encuentra el servicio en Servicios admitidos.

  • CONDITION: Una condición de CEL que hace referencia a un recurso de servicio admitido, por ejemplo, "resource.management.autoUpgrade == false" La longitud máxima de este campo es 1000 caracteres. Para obtener detalles sobre el uso de CEL, consulta Common Expression Language.

  • ACTION: la acción que se realiza si se cumple condition. Puede ser ALLOW o DENY.

  • DISPLAY_NAME: un nombre descriptivo para la restricción. La longitud máxima de este campo es 200 caracteres.

  • DESCRIPTION: una descripción fácil de usar de la restricción que se mostrará como un mensaje de error cuando se infringe la política. La longitud máxima de este campo es 2000 caracteres.

Después de crear una nueva restricción personalizada mediante Google Cloud CLI, debes configurarla a fin de que esté disponible para las políticas de la 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
Reemplaza CONSTRAINT_PATH por la ruta completa a tu restricción personalizada archivo. Por ejemplo, /home/user/customconstraint.yaml. Una vez completadas, encontrarás tus restricciones personalizadas como políticas de organización disponibles en tu lista de políticas de la organización de Google Cloud. Para verificar que la restricción personalizada exista, usa el comando gcloud org-policies list-custom-constraints:
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
Reemplaza ORGANIZATION_ID con el ID de tu recurso de la organización. Para obtener más información, consulta Visualiza las políticas de la organización.

Borrar una restricción personalizada

Puedes borrar una restricción personalizada con la consola de Google Cloud o Google Cloud CLI.

Console

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

    Ir a Políticas de la organización

  2. Selecciona el selector de proyectos en la parte superior de la página.

  3. En el selector de proyectos, selecciona el recurso que deseas. para borrar la política de la organización.

  4. Selecciona la restricción que deseas borrar de la lista Página de Políticas de la organización En la página Detalles de la política .

  5. Haz clic en Borrar.

  6. Para confirmar que deseas borrar la restricción, haz clic en Borrar.

gcloud

Para borrar una restricción personalizada, usa el org-policies delete-custom-constraint. Comando de la CLI de gcloud:

gcloud org-policies delete-custom-constraint custom.CONSTRAINT_NAME \
  --organization=ORGANIZATION_ID

Reemplaza lo siguiente:

  • ORGANIZATION_ID: el ID de la organización, como 123456789.

  • CONSTRAINT_NAME: Es el nombre del elemento personalizado. “compute.vmExternalIpAccess”. Por ejemplo, custom.disableGkeAutoUpgrade

El resultado es similar a este:

Deleted custom constraint [organizations/123456789/customConstraints/custom.disableGkeAutoUpgrade]

Si borras una restricción personalizada, todas las políticas que se hayan creado con esa restricción sigue existiendo, pero se ignora. No puedes crear otra a una restricción personalizada con el mismo nombre que una que se borró.

Prueba y analiza los cambios en las políticas de la organización

Recomendamos que pruebes y ejecutes de prueba todos los cambios las políticas de la organización, para comprender mejor el estado de su entorno y cómo lo afectan los cambios.

Policy Simulator para la política de la organización te ayuda a comprender el efecto de un y política de la organización en tu entorno actual. Con esta herramienta, Puedes revisar todos los parámetros de configuración de los recursos para ver dónde se producen incumplimientos, antes de se aplica en tu entorno de producción. Para obtener instrucciones detalladas, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.

Cuando comprendas el efecto actual, podrás crear una política de la organización en modo de prueba de validación para comprender el impacto y los posibles incumplimientos de una política a lo largo de los próximos 30 días. Una política de la organización en modo de ejecución de prueba es un tipo de política de la organización en la que los incumplimientos de la política se registran, pero las acciones infractoras no se rechacen. Puedes crear una política de la organización modo de ejecución de prueba a partir de una restricción personalizada con la consola de Google Cloud o Google Cloud CLI. Para obtener instrucciones detalladas, consulta Crea una política de la organización en modo de prueba de validación.

Aplica una política de la organización personalizada

Una vez que se configura una restricción personalizada, esta funciona de manera idéntica a la restricción predefinida booleanas. Google Cloud verifica primero las restricciones personalizadas cuando y evaluar si se permite una solicitud de usuario. Si los usuarios de la organización personalizada cuando las políticas rechazan la solicitud, esta se rechaza. Luego, Google Cloud comprobaciones de políticas predefinidas de la organización que se aplican a ese recurso.

Puedes aplicar una restricción booleana si creas una política de la organización que haga referencia a ella y si aplicas esa política a un recurso de Google Cloud.

Consola

Para aplicar una restricción booleana, sigue estos pasos:

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

    Ir a Políticas de la organización

  2. Selecciona el selector de proyectos en la parte superior de la página.
  3. En el selector de proyectos, selecciona el proyecto para el que deseas configurar la política de la organización.
  4. Selecciona tu restricción de la lista en la página de las políticas de la organización. Debería aparecer la página Detalles de la política para esa restricción.
  5. Si deseas configurar las políticas de la organización para este recurso, haz clic en Administrar política.
  6. En la página Editar política, selecciona Anular la política del elemento superior.
  7. Haz clic en Agregar una regla.
  8. En Aplicación, selecciona si la aplicación de esta política de la organización debe estar activada o desactivada.
  9. De manera opcional, haz clic en Agregar condición para que la política de la organización sea condicional en una etiqueta. Ten en cuenta que 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 puede guardar. Para obtener más información, consulta Configura una política de la organización con etiquetas.
  10. Si se trata de una restricción personalizada, puedes hacer clic en Probar cambios para simular el efecto de esta política de la organización. Para obtener más información, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
  11. Para finalizar y aplicar la política de la organización, haz clic en Establecer política. La política tardará hasta 15 minutos en aplicarse.

gcloud

Para crear una política de la organización que aplique una restricción booleana, crea un archivo de política en formato YAML que haga referencia a la restricción:

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

Reemplaza lo siguiente:

  • PROJECT_ID: el proyecto en el que deseas aplicar tu restricción.
  • CONSTRAINT_NAME: el nombre que definiste para tu restricción personalizada. Por ejemplo: custom.disableGkeAutoUpgrade

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
    

Reemplaza POLICY_PATH por la ruta de acceso completa al archivo YAML de la política de la organización. La política tardará hasta 15 minutos en aplicarse.

Restricción de ejemplo

Puedes definir restricciones personalizadas similares a las predefinidas que se proporcionan por Google. Un archivo YAML de restricción personalizado típico es similar al siguiente:

name: organizations/1234567890123/customConstraints/custom.disableGkeAutoUpgrade
resourceTypes:
- container.googleapis.com/NodePool
methodTypes:
- CREATE
- UPDATE
condition: "resource.management.autoUpgrade == false"
actionType: ALLOW
displayName: Disable GKE auto upgrade
description: Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.

Common Expression Language

El Servicio de políticas de la organización usa Common Expression Language (CEL) para lo siguiente: evaluar condiciones en restricciones personalizadas. CEL es una herramienta de código abierto lenguaje completo que implementa semántica común para evaluar la expresión.

Cada servicio que admite restricciones personalizadas crea un conjunto particular de sus recursos y los campos de estos recursos disponibles. Los campos disponibles están bien escritos y pueden hacer referencia directamente a través de restricciones personalizadas.

Puedes crear condiciones de CEL que hagan referencia a campos de recursos de servicio según el tipo de campo. El Servicio de políticas de la organización admite un subconjunto de tipos de datos CEL, expresiones y macros. En las siguientes secciones, se enumeran los tipos de datos expresiones comunes y macros que funcionan con ellas.

Si deseas obtener detalles sobre qué expresiones y macros están disponibles para cada servicio, consulta ver Servicios compatibles con restricciones personalizadas.

El siguiente ejemplo de JSON muestra cada uno de los posibles tipos de campo a los que puedes hacer referencia con restricciones personalizadas:

{
  integerValue: 1
  stringValue: "A text string"
  booleanValue: true
  nestedValue: {
    nestedStringValue: "Another text string"
  }
  listValue: [foo, bar]
  mapValue["costCenter"] == "123"
}

Para cada expresión de CEL, la restricción personalizada se aplica cuando la condición se evalúa como true. Puedes combinar expresiones con y (&&) o (||) para crear una consulta compleja. Cuando crees el archivo YAML o JSON para tu restricción, encierra la consulta completa entre comillas dobles (").

Número entero

Los campos de números enteros, como integerValue en el ejemplo anterior, permiten operadores de comparación que se usarán en las condiciones. Por ejemplo:

resource.integerValue == 1
resource.integerValue > 5
resource.integerValue < 10

String

Los campos de cadena, como stringValue en el ejemplo anterior, se pueden evaluar mediante un literal de string, una expresión regular o una expresión CEL. Por ejemplo:

resource.stringValue == "abc"
// stringValue is exactly "abc".

resource.stringValue.matches("dev$")
// stringValue matches a regular expression, which specifies the string ends
// with the word "dev".

resource.stringValue.startsWith("startValue")
// stringValue starts with "startValue".

resource.stringValue.endsWith("endValue")
// stringValue ends with "endValue".

resource.stringValue.contains("fooBar")
// stringValue contains "fooBar".

Los campos anidados, como nestedStringValue en el ejemplo anterior, deben tener a la que se hace referencia con la ruta de acceso completa. Por ejemplo:

resource.nestedValue.nestedStringValue == "foo"
// nestedValue contains the object nestedStringValue, which has a value of "foo".

Booleano

Los campos booleanos, como booleanValue en el ejemplo anterior, contienen un valor booleano valor, ya sea true o false.

Lista

Los campos de lista, como listValue en el ejemplo anterior, se pueden evaluar por el tamaño de la lista, su contenido y si se trata existe en cualquier lugar de la lista.

Por ejemplo:

resource.listValue.size() >= 1 && resource.listValue[0] == "bar"
// listValue has size greater than or equal to one, and the first element is "bar".

resource.listValue.exists(value, value == "foo")
// listValue has at least one element that is exactly "foo".

resource.listValue.all(value, value.contains("foo"))
// listValue is a list of values that are all exactly "foo".

Mapa

Los campos de asignación, como mapValue en el ejemplo anterior, son pares clave-valor. que pueden evaluarse en función de la existencia y el valor de elementos particulares.

Por ejemplo:

has(resource.mapValue.foo) && resource.mapValue.foo == "bar"
// mapValue contains the key "foo", and that key has the value "bar".

Soluciona errores de CEL

Se muestra una condición creada con expresiones no válidas o tipos no coincidentes se mostrará un error cuando intentes configurar la restricción personalizada. Por ejemplo, dado la siguiente restricción personalizada no válida, que compara una cadena con un número entero:

name: organizations/1234567890123/customConstraints/custom.badConfig
resourceTypes:
- dataproc.googleapis.com/Cluster
methodTypes:
- CREATE
- UPDATE
condition: "resource.config.masterConfig.numInstances == 'mismatch'"
actionType: ALLOW
displayName: Number of instances is a string
description: Demonstrate that type mismatches cause an error.

Se producirá un error si intentas configurar esa restricción con el Google Cloud CLI:

ERROR: (gcloud.org-policies.set-custom-constraint) INVALID_ARGUMENT: Custom constraint condition [resource.config.masterConfig.numInstances == "mismatch"] is invalid. Error: ERROR: <input>:1:15: found no matching overload for '_==_' applied to '(int, string)' (candidates: (%A0, %A0))
 | resource.config.masterConfig.numInstances == "mismatch"
 | ..........................................^.

En la consola de Google Cloud, los errores de sintaxis CEL no válidos se marcarán con un ícono de Error. Destacando este ícono muestra un cuadro de información sobre el error de sintaxis.

El Servicio de políticas de la organización compila y valida las condiciones que creas, de modo que muestra un si la condición no es sintácticamente correcta. Sin embargo, hay ciertas condiciones que compilan, pero generan un error cuando Google Cloud intenta para aplicar las restricciones. Por ejemplo, si configuras una restricción con una que intenta acceder a un índice de lista o a una clave de mapa que no existe, el restricción falla y muestra un error en el momento de la aplicación, y bloquea cualquier intento de crear un recurso.

Al crear condiciones que dependan de los elementos de la lista o del mapa, te recomendamos iniciar la condición con una comprobación que garantice que la condición sea válida en todos diferentes. Por ejemplo, revisa list.size() antes de hacer referencia a una lista en particular. o usa has() antes de hacer referencia a un elemento del mapa.

Servicios compatibles

Cada servicio define el conjunto de campos de restricciones personalizados que se pueden usar para aplicar políticas de la organización en sus recursos de servicio. Para obtener una lista de servicios que admiten restricciones personalizadas, consulta Servicios compatibles con restricciones personalizadas.

Para obtener más información sobre cómo configurar un análisis de políticas de la organización, consulta Hallazgos de vulnerabilidades de las políticas de la organización.

¿Qué sigue?