En esta página, se muestra cómo usar una política de la organización en modo de ejecución de prueba para supervisar cómo un cambio de política afectaría a tus flujos de trabajo antes de que se aplique.
Una política de la organización en modo de ejecución de prueba se crea y aplica de manera similar a otras políticas de la organización y los incumplimientos de la política se registran que las acciones infractoras no se rechacen.
Antes de comenzar
Para usar una política de la organización en modo de ejecución de prueba, debes tener habilitada la facturación tu proyecto de 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 y cómo funcionan, consulta 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
Limitaciones
Las únicas restricciones de políticas de la organización disponibles para usar en una prueba de validación las políticas de la organización son:
Intentas crear una política de la organización en modo de prueba de validación con cualquier otro limitación da como resultado un error.
Crea una política de la organización en modo de prueba de validación
Enumera restricciones
Puedes crear una política de la organización en modo de prueba de validación para una restricción de lista
con la consola de Google Cloud o Google Cloud CLI. Los siguientes ejemplos:
demostraremos cómo crear una política de la organización en modo de prueba de validación que audite
efecto de la restricción de lista gcp.restrictServiceUsage
.
Console
En la consola de Google Cloud, ve a la página Políticas de la organización.
En el selector de proyectos, elige el recurso que deseas configurar. la política de la organización.
Selecciona la restricción Restrict Resource Service Usage 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 política de prueba de validación.
En la página Editar política de prueba de validación, selecciona Anular la política del superior.
En Aplicación de la política, haz clic en Reemplazar.
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
compute.googleapis.com
y, luego, Haz clic en Listo.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.
Para aplicar la política de la organización en modo de prueba de validación, haz clic Establece la política de prueba de validación. También puedes establecer la política activa haciendo clic Configura la política.
Puedes verificar el estado de la política de tu organización en modo de prueba de validación mediante Dirígete a la pestaña Ejecución de prueba de una restricción de la política de la organización.
Para los proyectos que tienen una política de la organización en modo de ejecución de prueba aplicada a
para verlos, haz clic en Ver registros de rechazo para ver los registros de auditoría. Para
esta política de la organización, los registros de auditoría muestran los incumplimientos
Se aplica la restricción Restrict Resource Service Usage para denegar
compute.googleapis.com
gcloud
Para crear una política de la organización en modo de prueba, crea un archivo YAML
define la restricción con dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage dryRunSpec: rules: - values: deniedValues: - compute.googleapis.com
Reemplaza lo siguiente:
RESOURCE_TYPE
conorganizations
,folders
, oprojects
.RESOURCE_ID
por el ID de la organización, la carpeta ID, ID del proyecto o número de proyecto, según el tipo de recurso especificadas enRESOURCE_TYPE
.
Esta política de la organización no aplicará de manera forzosa las gcp.restrictServiceUsage
restricción, pero los registros de auditoría muestran los incumplimientos como si lo hicieran.
Puedes establecer una política de la organización activa y una de prueba
en el mismo archivo YAML, si defines spec
y dryRunSpec
. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com dryRunSpec: rules: - values: allowedValues: - compute.googleapis.com - appengine.googleapis.com
Para aplicar una política de la organización en modo de prueba de validación, usa el
Comando org-policies set policy
. Actualiza 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
por la ruta completa a tu archivo YAML de la política de la organización.UPDATE_MASK
conspec
para solo actualizar política activa, odryRunSpec
para actualizar solo la política de la organización en modo de ejecución de prueba. También puedes usar*
para actualizarspec
ydryRunSpec
. Si este campo no se configura cuando se actualiza un de la organización, este comando generará un error la política de la organización no se actualizará.
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
aparece solo si
existe en la política de la organización.
Esta política de la organización aplicaría gcp.restrictServiceUsage
restricción de manera que solo se permita container.googleapis.com
. Sin embargo,
los registros de auditoría muestran incumplimientos de compute.googleapis.com
y
appengine.googleapis.com
.
Restricciones booleanas
Puedes crear una política de la organización en modo de prueba de validación para una restricción booleana con la consola de Google Cloud o Google Cloud CLI. Los siguientes ejemplos: demostraremos cómo crear una política de la organización en modo de prueba de validación que audite efecto de una política de la organización personalizada booleana.
Console
En la consola de Google Cloud, ve a la página Políticas de la organización.
En el selector de proyectos, elige el recurso que deseas configurar. la política de la organización.
Selecciona de la lista la política de la organización personalizada que quieres aplicar de manera forzosa. en la página Políticas de la organización.
Selecciona la pestaña Ejecución de prueba.
Haz clic en Administrar política de prueba de validación.
En la página Editar política de prueba de validación, selecciona Anular la política del superior.
Haz clic en Agregar regla.
En Aplicación, selecciona Activada y, luego, haz clic en Listo.
Para aplicar la política de la organización en modo de prueba de validación, haz clic Establece la política de prueba de validación. Una vez que verifiques que la política de la organización modo de ejecución de prueba funciona según lo previsto, puedes establecer la política activa haciendo clic Configura la política.
Puedes verificar el estado de la política de tu organización en modo de prueba de validación mediante Dirígete a la pestaña Ejecución de prueba de una restricción de la política de la organización.
Para los proyectos que tienen una política de la organización en modo de ejecución de prueba aplicada a para verlos, haz clic en Ver registros de rechazo para ver los registros de auditoría. Para esta política de la organización, los registros de auditoría muestran los incumplimientos se aplique la política personalizada de la organización.
gcloud
Para crear una política de la organización en modo de prueba, crea un archivo YAML
define 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
por el ID de la organización, la carpeta ID, ID del proyecto o número de proyecto, según el tipo de recurso especificadas enRESOURCE_TYPE
.CONSTRAINT_NAME
por el nombre del elemento personalizado “compute.vmExternalIpAccess”. Por ejemplo,custom.disableGkeAutoUpgrade
Esta política de la organización no aplicará la restricción personalizada, pero los registros de auditoría muestran los incumplimientos como si lo hicieran.
Puedes establecer una política de la organización activa y una política de la organización en
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 prueba de validación, usa el
Comando org-policies set policy
. Actualiza 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
por la ruta completa a tu archivo YAML de la política de la organización.UPDATE_MASK
conspec
para solo actualizar política activa, odryRunSpec
para actualizar solo la política de la organización en modo de ejecución de prueba. También puedes usar*
para actualizarspec
ydryRunSpec
. Si este campo no se configura cuando se actualiza un de la organización, este comando generará un error la política de la organización no se actualizará.
Puedes verificar que se configure una política de la organización en modo de prueba de validación mediante
el comando org-policies describe
El campo dryRunSpec
aparece solo si
existe en la política de la organización.
Esta política de la organización no aplica la restricción personalizada de manera forzosa. Sin embargo, los registros de auditoría muestran incumplimientos de la restricción personalizada.
Crea una política de la organización en modo de prueba de validación a partir de una política activa
Puedes usar una política de la organización existente como punto de partida para un política de la organización en modo de prueba de validación. Es posible que quieras hacer esto para ver afecta a un cambio en la política existente que tendría en tu entorno.
Puedes crear una política de la organización en modo de prueba política 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, elige un recurso que ya tenga la Restringe el uso de servicios de recursos configurado en él.
Selecciona la restricción Restrict Resource Service Usage de la lista. 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 ejecución de prueba.
gcloud
Para crear una política de la organización en modo de prueba de validación a partir de una
de la organización, 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 proyecto.
la cantidad del proyecto en el que se configuró 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. Editar este archivo en
quita los campos etag
y updateTime
, y cambia el campo spec
a
dryRunSpec
Realiza los cambios que quieras en la configuración de restricciones
quieres probar en la política de tu organización
en modo de prueba de validación.
El archivo YAML terminado debería ser similar al siguiente:
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 modo de prueba de validación, usa el
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 a tu
archivo YAML de la política de la organización temporal.
Borrar una política de la organización en modo de prueba de validación
Puedes borrar una política de la organización en modo de prueba de validación con el 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, elige el recurso que deseas configurar. la política de la organización.
Selecciona la restricción Restrict Resource Service Usage de la lista. 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, crea un archivo YAML define 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
conorganizations
,folders
oprojects
RESOURCE_ID
por el ID de la organización, la carpeta ID, ID del proyecto o número de proyecto, según el tipo de recurso especificadas enRESOURCE_TYPE
.
Luego, usa el comando org-policies set policy
con --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 prueba de validación especificación e 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 ejecución de prueba al mismo tiempo, 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 quieres borrar. Por ejemplo,gcp.restrictServiceUsage
RESOURCE_TYPE
conorganizations
,folders
oprojects
RESOURCE_ID
por el ID de la organización, la carpeta ID, ID del proyecto o número de proyecto, según el tipo de recurso especificadas enRESOURCE_TYPE
.
Evaluación eficaz de las políticas de la organización en modo de prueba de validación
Las políticas de la organización en modo de ejecución de prueba se heredan de manera similar a otras las políticas de la organización. Si una política de la organización en modo de ejecución de prueba se configura recurso de organización, lo heredan todos los recursos subordinados, a menos que y se anulan en un nivel inferior de la jerarquía.
Una evaluación eficaz de las políticas muestra el resultado de las políticas de la organización que se combinan en ese recurso. Por lo tanto, los ajustes en el entorno política de la organización se reflejan en la política vigente de la organización modo de ejecución de prueba, si la política de modo de prueba se hereda en lugar de establecerse de forma local.
Por ejemplo, considera un recurso de organización, Organization A
, con un elemento
una política de la organización establecida en enforced: false
y una política de la organización en
el modo de ejecución 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 el
política de la organización
en modo de prueba de validación. En Folder B
, la política activa establecida significa
la evaluación efectiva de las políticas de la organización en modo de prueba
y también enforce: false
, lo que anula la política de la organización en modo de ejecución de prueba establecida en
a su organización principal.
Un recurso secundario de Folder B
, Project X
, establece la política activa en
enforced: true
Al igual que el comportamiento en Folder B
, la red
de la política de la organización en modo de prueba de validación para Project X
es
enforced: true
, porque se estableció la política activa
Otro recurso secundario de Folder B
, Project Y
, establece la política de la organización.
en modo de ejecución de prueba a enforced: true
. Hereda la política de la organización de
su recurso superior, por lo que la evaluación efectiva es enforced: false
para
la política activa y enforced: true
para la política de la organización en prueba
.
Recurso | Configurar la política de la organización activa | Política vigente de la organización activa | Establecer la política de la organización en modo de prueba de validación | Política de la organización vigente en modo de prueba de validación |
---|---|---|---|---|
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 |
Analizar los efectos de una política de la organización en modo de prueba de validación
Una política de la organización en modo de prueba de validación no bloquea ninguna operación cuando de manera forzosa. Para ver el efecto que tendría la política de tu organización, puedes consultar los registros de auditoría de las políticas de la organización
Registros de auditoría de las políticas de la organización para las políticas y la organización activas Las políticas en modo de ejecución de prueba se generan en función de si se permite la operación o rechazan a través de las políticas que se aplican a un recurso determinado. La siguiente tabla describe las situaciones en las que se genera un registro de auditoría de las políticas 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ó un registro de auditoría |
---|---|---|
Permitir | Permitir | No |
Permitir | Denegar | Registro de auditoría solo en modo de ejecución de prueba |
Denegar | Permitir | Registros de auditoría en modo en vivo y de ejecución de prueba |
Denegar | Denegar | Registros de auditoría en modo en vivo y de ejecución de prueba |
Las infracciones de la política de la organización en modo de ejecución de prueba aparecen junto con las infracciones 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 las políticas de la organización en la ejecución de prueba infracciones del modo.
Console
En la consola de Google Cloud, puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría de tu carpeta, organización o proyecto de Google Cloud:
En la consola de Google Cloud, ve a Página Logging> Explorador de registros.
Selecciona una organización, una carpeta o un proyecto existente de Google Cloud.
En el panel Compilador de consultas, sigue estos pasos:
En Tipo de recurso, selecciona el recurso de Google Cloud cuyos registros de auditoría deseas ver.
En Nombre del registro, selecciona el tipo de registro de auditoría política.
En el panel Consulta, ingresa lo siguiente:
protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"
Si tienes problemas para ver los registros en En el Explorador de registros, consulta la información para solucionar problemas.
Para obtener más información de 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 el identificador de proyecto que proporciones debe hacer referencia al valor seleccionado actualmente el nombre del proyecto.
Lee las entradas del registro de auditoría de la política de la organización en modo de prueba de validación incumplimientos, 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
conorganization
,folder
oproject
RESOURCE_ID
por el ID de la organización, la carpeta ID, ID del proyecto o número de proyecto, según el tipo de recurso especificadas enRESOURCE_TYPE
.
Agrega la marca --freshness
a tu comando para leer registros más detallados
hace más de 1 día.
Para obtener más información del uso de gcloud CLI, consulta gcloud logging read
.
Si tienes muchos proyectos bajo tu organización, puedes usar receptores agregados para agregar y enrutar las entradas del registro de auditoría de todos los proyectos en tu organización en una tabla de BigQuery. Para obtener más información sobre la creación de receptores agregados, consulta Recopila y enruta registros a nivel de la organización a destinos compatibles.
¿Qué sigue?
Obtén más información para crear y administrar políticas de la organización Para obtener más información, consulta Usa restricciones.