En esta página, se muestra cómo usar una política de la organización en el modo de ejecución de prueba para supervisar cómo un cambio en la política afectaría tus flujos de trabajo antes de que se aplique.
Una política de la organización en modo de prueba de validación se crea y aplica de manera similar a otras políticas de la organización, y los incumplimientos de la política se registran en el registro de auditoría, pero no se rechazan las acciones que incumplen la política.
Antes de comenzar
Para usar una política de la organización en el modo de ejecución de prueba, debes tener habilitada la facturación para tu proyecto Google Cloud . Para obtener información sobre cómo verificar si la facturación está habilitada para un proyecto, consulta Verifica el estado de facturación de tus proyectos.
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 para 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 a proyectos, carpetas y organizaciones.
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.
Puedes delegar la administración de las políticas de la organización agregando condiciones de IAM a la vinculación del rol de administrador de políticas de la organización. Para controlar los recursos en los que un principal puede administrar políticas de la organización, puedes hacer que la vinculación de roles dependa de una etiqueta en particular. Para obtener más información, consulta Usa restricciones.
Limitaciones
Las únicas restricciones de políticas de la organización disponibles para usarse en políticas de la organización de prueba de validación son las siguientes:
- Restringe el uso de recursos
- Uso de extremo restringido
- Restringe las versiones de TLS
- Restringe los conjuntos de algoritmos de cifrado TLS
- Restricciones personalizadas
- Restricciones administradas
Si intentas crear una política de la organización en modo de ejecución de prueba con cualquier otra restricción, se generará un error.
Crea una política de la organización en modo de ejecución de prueba
Cómo usar parámetros de lista
Puedes crear una política de la organización en modo de prueba para una restricción con la consola deGoogle Cloud o Google Cloud CLI. En los siguientes ejemplos, se muestra cómo crear una política de la organización en modo de prueba que audite el efecto de la restricción administrada compute.managed.restrictProtocolForwardingCreationForTypes
.
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 recurso para el que deseas configurar la política de la organización.
Selecciona la restricción Restricts the use of protocol forwarding de la lista en la página Organization policies.
Selecciona la pestaña Ejecución de prueba.
Haz clic en Administrar la política de prueba de validación.
En la página Editar política de prueba, selecciona Anular la política del elemento superior.
Haz clic en Agregar regla.
En Aplicación, selecciona Activado.
En Parámetros, selecciona Editar
.En el panel Editar valores de parámetros, selecciona Definido por el usuario.
En el cuadro Valores definidos por el usuario, ingresa
EXTERNAL
y, luego, haz clic en Guardar.Haz 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.
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. También puedes establecer la política en vivo haciendo clic en Establecer política.
Para verificar el estado de tu política de la organización en el modo de prueba de validación, ve a la pestaña Prueba de validación de una restricción de política de la organización.
En el caso de los proyectos a los que se les aplicó una política de la organización en modo de ejecución de prueba, puedes ver los registros de auditoría haciendo clic en Ver registros de rechazo. En el caso de esta política de la organización, los registros de auditoría muestran incumplimientos como si la restricción Restringe el uso del reenvío de protocolos se aplicara para permitir solo las implementaciones de reenvío de protocolos EXTERNAL
.
gcloud
Para crear una política de la organización en modo de prueba, crea un archivo YAML que defina la restricción con dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.restrictProtocolForwardingCreationForTypes dryRunSpec: rules: - enforce: true parameters: allowedSchemes: - EXTERNAL
Reemplaza lo siguiente:
RESOURCE_TYPE
conorganizations
,folders
oprojects
.RESOURCE_ID
con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Esta política de la organización no aplicará la restricción compute.managed.restrictProtocolForwardingCreationForTypes
, pero los registros de auditoría mostrarán incumplimientos como si lo hiciera.
Puedes establecer una política de la organización activa y una política de la organización de prueba en el mismo archivo YAML si defines spec
y dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.restrictProtocolForwardingCreationForTypes spec: rules: - values: allowedValues: - INTERNAL - EXTERNAL dryRunSpec: rules: - values: allowedValues: - INTERNAL
Para aplicar una política de la organización en modo de ejecución de prueba, usa el comando org-policies set policy
. Para actualizar una política de la organización existente en el modo de ejecución de prueba con restricciones nuevas, usa la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Reemplaza lo siguiente:
POLICY_PATH
con la ruta de acceso completa al archivo YAML de la política de la organización.UPDATE_MASK
conspec
para actualizar solo la política activa odryRunSpec
para actualizar solo la política de la organización en el modo de prueba. También puedes usar*
para actualizar los camposspec
ydryRunSpec
. Si este campo no se configura cuando se actualiza una política de la organización existente, este comando generará un error y no se actualizará la política de la organización.
Puedes verificar que la política de la organización en modo de ejecución de prueba esté configurada con el comando org-policies describe
. El campo dryRunSpec
solo aparece si existe en la política de la organización.
Esta política de la organización aplicaría la restricción compute.managed.restrictProtocolForwardingCreationForTypes
de modo que se permitan todos los valores. Sin embargo, los registros de auditoría muestran los incumplimientos como si solo se permitieran las implementaciones de reenvío de protocolos INTERNAL
.
Cómo usar reglas booleanas
Puedes crear una política de la organización en modo de prueba para una restricción con reglas booleanas usando la consola de Google Cloud o Google Cloud CLI. En los siguientes ejemplos, se muestra cómo crear una política de la organización en modo de prueba que audite el efecto de una política de la organización personalizada.
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 recurso para el que deseas configurar la política de la organización.
Selecciona la política de la organización personalizada que deseas aplicar de la lista en la página Políticas de la organización.
Selecciona la pestaña Ejecución de prueba.
Haz clic en Administrar la política de prueba de validación.
En la página Editar política de ejecución de prueba, selecciona Anular la política del elemento superior.
Haz clic en Agregar regla.
En Aplicación, selecciona Activado y, luego, haz clic en Listo.
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. Una vez que verifiques que la política de la organización en modo de prueba funciona según lo previsto, puedes establecer la política activa haciendo clic en Establecer política.
Para verificar el estado de tu política de la organización en el modo de prueba de validación, ve a la pestaña Prueba de validación de una restricción de política de la organización.
En el caso de los proyectos a los que se les aplicó una política de la organización en modo de ejecución de prueba, puedes ver los registros de auditoría haciendo clic en Ver registros de rechazo. En el caso de esta política de la organización, los registros de auditoría muestran los incumplimientos como si se aplicara la política de la organización personalizada.
gcloud
Para crear una política de la organización en modo de prueba, crea un archivo YAML que defina la restricción con dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME dryRunSpec: rules: - enforce: true
Reemplaza lo siguiente:
RESOURCE_TYPE
conorganizations
,folders
oprojects
.RESOURCE_ID
con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.CONSTRAINT_NAME
por el nombre de tu restricción personalizada Por ejemplo,custom.disableGkeAutoUpgrade
Esta política de la organización no aplicará la restricción personalizada, pero los registros de auditoría mostrarán incumplimientos como si lo hiciera.
Puedes establecer una política de la organización activa y una política de la organización en modo de prueba en el mismo archivo YAML si defines spec
y dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: false dryRunSpec: rules: - enforce: true
Para aplicar una política de la organización en modo de ejecución de prueba, usa el comando org-policies set policy
. Para actualizar una política de la organización existente en el modo de ejecución de prueba con restricciones nuevas, usa la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Reemplaza lo siguiente:
POLICY_PATH
con la ruta de acceso completa al archivo YAML de la política de la organización.UPDATE_MASK
conspec
para actualizar solo la política activa odryRunSpec
para actualizar solo la política de la organización en el modo de prueba. También puedes usar*
para actualizar los camposspec
ydryRunSpec
. Si este campo no se configura cuando se actualiza una política de la organización existente, este comando generará un error y no se actualizará la política de la organización.
Puedes verificar que se haya establecido una política de la organización en modo de ejecución de prueba con el comando org-policies describe
. El campo dryRunSpec
solo aparece si existe en la política de la organización.
Esta política de la organización no aplica la restricción personalizada. Sin embargo, los registros de auditoría muestran incumplimientos de la restricción personalizada.
Cómo crear una política de la organización en modo de ejecución de prueba a partir de una política activa
Puedes usar una política de la organización existente como punto de partida para una política de la organización en modo de prueba de validación. Es posible que desees hacerlo para ver qué impacto tendría en tu entorno un cambio en tu política existente.
Puedes crear una política de la organización en modo de prueba basada en una política existente con la consola de Google Cloud o Google Cloud CLI.
Console
En la consola de Google Cloud , ve a la página Políticas de la organización.
En el selector de proyectos, selecciona un recurso que ya tenga configurada la restricción Restrict Resource Service Usage.
Selecciona la restricción Restringir el uso de servicios del recurso de la lista que se encuentra en la página Políticas de la organización.
Selecciona la pestaña En vivo.
Haz clic en Administrar política.
Haz clic en Agregar regla.
En Valores de la política, selecciona Personalizado.
En Tipo de política, selecciona Rechazar.
En el cuadro Valores personalizados, ingresa
appengine.googleapis.com
.Haz clic en Listo y, luego, en Establecer política de prueba.
gcloud
Para crear una política de organización en modo de prueba basada en una política de organización activa existente, obtén la política actual del recurso con el comando org-policies describe
. Por ejemplo:
gcloud org-policies describe gcp.restrictServiceUsage \ --project=PROJECT_ID
Reemplaza PROJECT_ID
por el ID del proyecto o el número del proyecto en el que se configura esta política de la organización.
El resultado debería ser similar al siguiente:
name: projects/123456789012/policies/gcp.restrictServiceUsage spec: etag: CJy93KEGEKCJw/QB rules: - values: allowedValues: - compute.googleapis.com updateTime: '2023-04-12T21:11:56.512804Z'
Copia el resultado de este comando en un archivo temporal. Edita este archivo para quitar los campos etag
y updateTime
, y cambia el campo spec
a dryRunSpec
. Realiza los cambios que desees en la configuración de la restricción que quieras probar en tu política de la organización en el modo de prueba de validación.
El archivo YAML terminado debería verse de la siguiente manera:
name: projects/123456789012/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Para aplicar la política de la organización en el modo de ejecución de prueba, usa org-policies set policy
con la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Reemplaza POLICY_PATH
por la ruta de acceso completa al archivo YAML de la política de la organización temporal.
Borra una política de la organización en modo de ejecución de prueba
Puedes borrar una política de la organización en modo de prueba con la consola de Google Cloud o la CLI de Google Cloud.
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 recurso para el que deseas configurar la política de la organización.
Selecciona la restricción Restringir el uso de servicios del recurso de la lista que se encuentra en la página Políticas de la organización.
Selecciona la pestaña Ejecución de prueba.
Haz clic en Borrar política de prueba de validación.
gcloud
Para borrar una política de la organización en modo de prueba de validación, crea un archivo YAML que defina la política de la organización sin una especificación de prueba de validación. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com
Reemplaza lo siguiente:
RESOURCE_TYPE
pororganizations
,folders
oprojects
.RESOURCE_ID
con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Luego, usa el comando org-policies set policy
con la marca --update-mask
establecida en dryRunSpec
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Esto actualiza la política de la organización existente para quitar la especificación de ejecución de prueba y, luego, ignora la parte activa de la especificación.
Para borrar las políticas de la organización activas y las políticas de la organización en modo de prueba simultáneamente, usa el comando org-policies delete
. Por ejemplo:
gcloud org-policies delete CONSTRAINT_NAME \ --RESOURCE_TYPE=RESOURCE_ID
Reemplaza lo siguiente:
CONSTRAINT_NAME
por el nombre de la restricción que deseas borrar. Por ejemplo,gcp.restrictServiceUsage
RESOURCE_TYPE
pororganizations
,folders
oprojects
.RESOURCE_ID
con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Evaluación efectiva de las políticas de la organización en el modo de prueba de validación
Las políticas de la organización en modo de prueba de validación se heredan de manera similar a otras políticas de la organización. Si se establece una política de la organización en modo de prueba en un recurso de organización, todos los recursos descendientes la heredan, a menos que se anule en un nivel inferior de la jerarquía.
La evaluación de la política vigente muestra el resultado de las políticas de la organización que se combinan en ese recurso. Por lo tanto, los ajustes a la política de la organización activa se reflejan en la política de la organización vigente en el modo de ejecución de prueba, si la política del modo de ejecución de prueba se hereda en lugar de establecerse de forma local.
Por ejemplo, considera un recurso de organización, Organization A
, con una política de la organización activa establecida en enforced: false
y una política de la organización en modo de prueba establecido en enforced: true
. Un recurso secundario, Folder B
, también establece la política de la organización activa en enforced: false
y hereda la política de la organización en el modo de prueba de validación. En Folder B
, la política establecida como activa significa que la evaluación de la política vigente de la política de la organización en modo de ejecución de prueba también es enforce: false
, lo que anula la política de la organización en modo de ejecución de prueba establecida en su organización principal.
Es un recurso secundario de Folder B
y Project X
que establece la política en vivo en enforced: true
. De manera similar al comportamiento en Folder B
, la evaluación efectiva de la política de la organización en el modo de prueba de validación para Project X
es enforced: true
, ya que se estableció la política activa.
Otro recurso secundario de Folder B
, Project Y
, establece la política de la organización en el modo de ejecución de prueba en enforced: true
. Hereda la política de la organización de su recurso principal, por lo que la evaluación vigente es enforced: false
para la política activa y enforced: true
para la política de la organización en el modo de prueba.
Recurso | Establece la política de la organización activa | Política de la organización activa vigente | Cómo establecer una política de la organización en modo de ejecución de prueba | Política de la organización vigente en modo de ejecución de prueba |
---|---|---|---|---|
Organización A | enforced: false |
enforced: false |
enforced: true |
enforced: true |
Carpeta B | enforced: false |
enforced: false |
Ninguno | enforced: false |
Carpeta C | Ninguno | enforced: false |
Ninguno | enforced: true |
Proyecto X | enforced: true |
enforced: true |
Ninguno | enforced: true |
Proyecto Y | Ninguno | enforced: false |
enforced: true |
enforced: true |
Analiza los efectos de una política de la organización en el modo de ejecución de prueba
Una política de la organización en modo de ejecución de prueba no bloquea ninguna operación cuando se aplica. Para ver el efecto que tendría tu política de la organización, puedes consultar los registros de auditoría de políticas de la organización.
Los registros de auditoría de las políticas de la organización para las políticas de la organización activas y las políticas de la organización en modo de ejecución de prueba se generan en función de si las políticas aplicadas en un recurso determinado permiten o rechazan la operación. En la siguiente tabla, se describen las situaciones en las que se genera un registro de auditoría de la política de la organización:
Política de la organización activa | Política de la organización en modo de ejecución de prueba | Se generó el registro de auditoría |
---|---|---|
Permitir | Permitir | No |
Permitir | Rechazar | Registro de auditoría solo en modo de ejecución de prueba |
Rechazar | Permitir | Registro de auditoría en modo de ejecución de prueba y en vivo |
Rechazar | Rechazar | Registro de auditoría en modo de ejecución de prueba y en vivo |
Los incumplimientos de la política de la organización en el modo de ejecución de prueba aparecen junto con los incumplimientos en el modo activo en los registros de auditoría. Por ejemplo:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 7,
"message": "PERMISSION_DENIED"
},
"authenticationInfo": {},
"requestMetadata": {
"callerIp": "1.2.3.4",
"requestAttributes": {},
"destinationAttributes": {}
},
"serviceName": "appengine.googleapis.com",
"methodName": "google.api.appengine.v1.appengine.apps.services.get",
"resourceName": "projects/sur-project-test-3",
"metadata": {
"constraint": "constraints/gcp.restrictServiceUsage",
"checkedValue": "appengine.googleapis.com",
"liveResult": "ALLOWED",
"@type": "type.googleapis.com/google.cloud.audit.OrgPolicyDryRunAuditMetadata",
"dryRunResult": "DENIED"
}
},
"insertId": "1f2bvoxcmg1",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "sur-project-test-3",
"service": "appengine.googleapis.com",
"method": "google.api.appengine.v1.appengine.apps.services.get"
}
},
"timestamp": "2022-06-16T19:42:58.244990928Z",
"severity": "WARNING",
"logName": "projects/sur-project-test-3/logs/cloudaudit.googleapis.com%2Fpolicy",
"receiveTimestamp": "2022-06-16T19:42:59.572025716Z"
}
Puedes usar el Explorador de registros para consultar solo los incumplimientos de políticas de la organización en el modo de prueba.
Console
En la consola de Google Cloud , puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría de tu Google Cloud proyecto, carpeta o organización:
En la Google Cloud consola, ve a la página Logging> Explorador de registros.
Selecciona un Google Cloud proyecto, una carpeta o una organización existentes.
En el panel Compilador de consultas, sigue estos pasos:
En Tipo de recurso, selecciona el recurso de Google Cloud cuyos registros de auditoría quieres consultar.
En Nombre del registro, selecciona el tipo de registro de auditoría policy.
En el panel Consulta, ingresa lo siguiente:
protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"
Si tienes problemas cuando intentas ver registros en el Explorador de registros, consulta la información acerca de la solución de problemas.
Para obtener más información sobre las consultas con el Explorador de registros, visita Compila consultas en el Explorador de registros.
gcloud
Google Cloud CLI proporciona una interfaz de línea de comandos para la API de Logging. Proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un ID del proyecto, el identificador del proyecto que proporciones debe hacer referencia al nombre del proyecto que se encuentra seleccionado.
Para leer las entradas del registro de auditoría de incumplimientos de la política de la organización en el modo de prueba, ejecuta el siguiente comando:
gcloud logging read protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED" \ --RESOURCE_TYPE=RESOURCE_ID \
Reemplaza lo siguiente:
RESOURCE_TYPE
pororganization
,folder
oproject
.RESOURCE_ID
con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Agrega lamarca --freshness
a tu comando para leer los registros que tienen más de 1 día de antigüedad.
Para obtener más información del uso de gcloud CLI, consulta gcloud logging read
.
Si tienes muchos proyectos en tu organización, puedes usar receptores agregados para agregar y enrutar las entradas del registro de auditoría de todos los proyectos de tu organización a una tabla de BigQuery. Para obtener más información sobre cómo crear receptores agregados, consulta Recopila y enruta registros a nivel de la organización a destinos compatibles.
¿Qué sigue?
Para obtener más información sobre cómo crear y administrar restricciones de políticas de la organización, consulta Usa restricciones.