En esta página se muestra cómo usar una política de la organización en modo de prueba para monitorizar cómo afectaría un cambio en la política a tus flujos de trabajo antes de que se aplique.
Las políticas de la organización en modo de prueba se crean y se aplican de forma similar a otras políticas de la organización, y las infracciones de la política se registran en la auditoría, pero no se deniegan las acciones infractoras.
Antes de empezar
Para usar una política de organización en el modo de prueba, debes tener habilitada la facturación en tu Google Cloud proyecto. Para obtener información sobre cómo comprobar si la facturación está habilitada en un proyecto, consulta el artículo Verificar el estado de facturación de los proyectos.
Para obtener más información sobre qué son las políticas y las restricciones de la organización y cómo funcionan, consulta el artículo Introducción al servicio de políticas de la organización.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar las políticas de la organización, 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.
Este rol predefinido contiene los permisos necesarios para gestionar las políticas de la organización. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para gestionar las políticas de la organización, se necesitan los siguientes permisos:
-
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 u otros roles predefinidos.
Puedes delegar la administración de las políticas de organización añadiendo condiciones de gestión de identidades y accesos a la vinculación del rol de administrador de políticas de organización. Para controlar los recursos en los que una entidad puede gestionar las políticas de la organización, puedes hacer que la vinculación de roles dependa de una etiqueta concreta. Para obtener más información, consulta Usar restricciones.
Limitaciones
Las únicas restricciones de las políticas de organización que se pueden usar en las políticas de organización de prueba son las siguientes:
- Restringir el uso de recursos
- Restringir el uso de endpoints
- Restringir versiones de TLS
- Restringir los conjuntos de cifrado TLS
- Restricciones personalizadas
- Restricciones gestionadas
Si intentas crear una política de la organización en modo de prueba con cualquier otra restricción, se producirá un error.
Crear una política de la organización en modo de prueba de funcionamiento
Usar parámetros de lista
Puedes crear una política de la organización en modo de prueba para una restricción mediante laGoogle Cloud consola o la CLI de Google Cloud. 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 gestionada compute.managed.restrictProtocolForwardingCreationForTypes
.
Consola
En la Google Cloud consola, ve a la página Políticas de la organización.
En el selector de proyectos, selecciona el recurso para el que quieras definir la política de la organización.
Selecciona la restricción Restricts the use of protocol forwarding (Restringe el uso del reenvío de protocolos) en la lista de la página Organization policies (Políticas de organización).
Selecciona la pestaña Prueba.
Haz clic en Gestionar política de prueba de funcionamiento.
En la página Editar política de prueba de funcionamiento, seleccione Anular política del recurso superior.
Haz clic en Añadir regla.
En Implementación obligatoria, selecciona Activada.
En Parámetros, selecciona Editar
.En el panel Editar valores de parámetros, seleccione Definido por el usuario.
En el cuadro Valores definidos por el usuario, introduzca
EXTERNAL
y, a continuación, haga 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 Probar los cambios en las políticas de la organización con el simulador de políticas.
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. También puedes definir la política activa haciendo clic en Definir política.
Para verificar el estado de la política de tu organización en el modo de prueba, ve a la pestaña Prueba de una restricción de la política de la organización.
En los proyectos a los que se les haya aplicado una política de organización en modo de prueba, puedes ver los registros de auditoría haciendo clic en Ver registros de rechazo. En el caso de esta política de organización, los registros de auditoría muestran las infracciones como si se aplicara la restricción Restricts the use of protocol forwarding (Restringe el uso del reenvío de protocolos) para permitir solo las implementaciones de reenvío de protocolos EXTERNAL
.
gcloud
Para crear una política de 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
Haz los cambios siguientes:
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 organización no aplicará la restricción compute.managed.restrictProtocolForwardingCreationForTypes
, pero los registros de auditoría mostrarán las infracciones como si lo hiciera.
Puedes definir una política de organización activa y una política de organización de prueba en el mismo archivo YAML si defines tanto spec
como 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 organización en modo de prueba, usa el comando org-policies set policy
. Para actualizar una política de organización en modo de prueba con nuevas restricciones, usa la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Haz los cambios siguientes:
POLICY_PATH
con la ruta completa al archivo YAML de la política de tu organización.UPDATE_MASK
conspec
para actualizar solo la política activa odryRunSpec
para actualizar solo la política de la organización en modo de prueba. También puedes usar*
para actualizar los camposspec
ydryRunSpec
. Si no se define este campo al actualizar una política de organización, se producirá un error y la política de organización no se actualizará.
Para comprobar que la política de la organización está definida en modo de prueba, usa el comando org-policies describe
. El campo dryRunSpec
solo aparece si existe en la política de la organización.
Esta política de organización aplicaría la restricción compute.managed.restrictProtocolForwardingCreationForTypes
de forma que se permitieran todos los valores. Sin embargo, los registros de auditoría muestran las infracciones como si solo se permitieran las implementaciones de reenvío de protocolos INTERNAL
.
Usar reglas booleanas
Puedes crear una política de la organización en modo de prueba para una restricción con reglas booleanas mediante la Google Cloud consola o la CLI de Google Cloud. En los siguientes ejemplos se muestra cómo crear una política de organización en modo de prueba que audite el efecto de una política de organización personalizada.
Consola
En la Google Cloud consola, ve a la página Políticas de la organización.
En el selector de proyectos, selecciona el recurso para el que quieras definir la política de la organización.
Selecciona la política de organización personalizada que quieras aplicar de la lista de la página Políticas de organización.
Selecciona la pestaña Prueba.
Haz clic en Gestionar política de prueba de funcionamiento.
En la página Editar política de prueba, selecciona Anular política del recurso superior.
Haz clic en Añadir regla.
En Cumplimiento, selecciona Activado y, a continuación, haz clic en Hecho.
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. Una vez que hayas verificado que la política de la organización en modo de prueba funciona correctamente, puedes definir la política activa haciendo clic en Definir política.
Para verificar el estado de la política de tu organización en el modo de prueba, ve a la pestaña Prueba de una restricción de la política de la organización.
En los proyectos a los que se les haya aplicado una política de organización en modo de prueba, puedes ver los registros de auditoría haciendo clic en Ver registros de rechazo. En el caso de esta política de organización, los registros de auditoría muestran las infracciones como si se aplicara la política de organización personalizada.
gcloud
Para crear una política de 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
Haz los cambios siguientes:
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
con el nombre de tu restricción personalizada. Por ejemplo,custom.disableGkeAutoUpgrade
.
Esta política de organización no aplicará la restricción personalizada, pero los registros de auditoría mostrarán las infracciones como si lo hiciera.
Puedes definir una política de organización activa y una política de 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 organización en modo de prueba, usa el comando org-policies set policy
. Para actualizar una política de organización en modo de prueba con nuevas restricciones, usa la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=UPDATE_MASK
Haz los cambios siguientes:
POLICY_PATH
con la ruta completa al archivo YAML de la política de tu organización.UPDATE_MASK
conspec
para actualizar solo la política activa odryRunSpec
para actualizar solo la política de la organización en modo de prueba. También puedes usar*
para actualizar los camposspec
ydryRunSpec
. Si no se define este campo al actualizar una política de organización, se producirá un error y la política de organización no se actualizará.
Para comprobar que se ha definido una política de la organización en modo de prueba, usa 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 infracciones de la restricción personalizada.
Crear una política de la organización en modo de prueba de funcionamiento a partir de una política activa
Puedes usar una política de la organización como punto de partida para crear una política de la organización en modo de prueba. Puede que quieras hacerlo para ver qué impacto tendría en tu entorno un cambio en tu política actual.
Puedes crear una política de la organización en modo de prueba a partir de una política ya creada mediante la Google Cloud consola o la CLI de Google Cloud.
Consola
En la Google Cloud consola, 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 Restringir el uso del servicio de recursos.
Selecciona la restricción Restringir el uso del servicio de recursos de la lista de la página Políticas de organización.
Selecciona la pestaña En directo.
Haz clic en Gestionar política.
Haz clic en Añadir regla.
En Valores de la política, seleccione Personalizada.
En Tipo de política, selecciona Denegar.
En el cuadro Valores personalizados, introduce
appengine.googleapis.com
.Haz clic en Hecho y, a continuación, en Definir política de prueba.
gcloud
Para crear una política de organización en modo de prueba a partir de una política de organización activa, 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
Sustituye PROJECT_ID
por el ID o el número del proyecto en el que se ha configurado esta política de organización.
La salida debería ser similar a la 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
. Haz los cambios que quieras en la configuración de la restricción para probarla en la política de tu organización en el modo de prueba de funcionamiento.
El archivo YAML final debería tener un aspecto 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 organización en el modo de prueba de funcionamiento, usa org-policies set policy
con la marca --update-mask
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
Sustituye POLICY_PATH
por la ruta completa al archivo YAML de la política de tu organización temporal.
Eliminar una política de la organización en el modo de prueba de funcionamiento
Puedes eliminar una política de la organización en modo de prueba con la Google Cloud consola o la CLI de Google Cloud.
Consola
En la Google Cloud consola, ve a la página Políticas de la organización.
En el selector de proyectos, selecciona el recurso para el que quieras definir la política de la organización.
Selecciona la restricción Restringir el uso del servicio de recursos de la lista de la página Políticas de organización.
Selecciona la pestaña Prueba.
Haz clic en Eliminar política de prueba de funcionamiento.
gcloud
Para eliminar una política de la organización en modo de prueba de funcionamiento, crea un archivo YAML que defina la política de la organización sin una especificación de prueba de funcionamiento. Por ejemplo:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage spec: rules: - values: allowedValues: - container.googleapis.com
Haz los cambios siguientes:
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
.
A continuación, usa el comando org-policies set policy
con la marca --update-mask
definida como dryRunSpec
. Por ejemplo:
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
De esta forma, se actualiza la política de la organización para eliminar la especificación de prueba y se ignora la parte activa de la especificación.
Para eliminar al mismo tiempo las políticas de organización activas y las políticas de organización en modo de prueba, usa el comando org-policies delete
. Por ejemplo:
gcloud org-policies delete CONSTRAINT_NAME \ --RESOURCE_TYPE=RESOURCE_ID
Haz los cambios siguientes:
CONSTRAINT_NAME
con el nombre de la restricción que quieras eliminar. Por ejemplo,gcp.restrictServiceUsage
.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
.
Evaluación eficaz de las políticas de la organización en el modo de prueba
Las políticas de la organización en modo de prueba de funcionamiento se heredan de forma similar a otras políticas de la organización. Si se define una política de organización en modo de prueba en un recurso de organización, todos los recursos descendientes la heredarán, a menos que se anule en un nivel inferior de la jerarquía.
La evaluación de la política en vigor muestra el resultado de las políticas de organización que se han combinado en ese recurso. Por lo tanto, los ajustes que se hagan en la política de la organización activa se reflejarán en la política de la organización efectiva en el modo de prueba de funcionamiento si la política de prueba de funcionamiento se hereda en lugar de definirse de forma local.
Por ejemplo, supongamos que tienes un recurso de organización, Organization A
, con una política de organización activa definida como enforced: false
y una política de organización en modo de prueba definida como enforced: true
. Un recurso secundario, Folder B
, también define la política de la organización activa como enforced: false
y hereda la política de la organización en modo de prueba de funcionamiento. En Folder B
, la política activa definida significa que la evaluación de la política de organización en modo de prueba de funcionamiento también es enforce: false
, lo que anula la política de organización en modo de prueba de funcionamiento definida en su organización superior.
Un recurso secundario de Folder B
, Project X
, asigna la política de contenido en directo a enforced: true
. Al igual que en Folder B
, la evaluación efectiva de la política de la organización en el modo de prueba de funcionamiento de Project X
es enforced: true
, ya que la política activa está definida.
Otro recurso secundario de Folder B
, Project Y
, define la política de la organización en modo de prueba de funcionamiento como enforced: true
. Hereda la política de organización de su recurso de nivel superior, por lo que la evaluación efectiva es enforced: false
para la política activa y enforced: true
para la política de organización en el modo de prueba de funcionamiento.
Recurso | Definir la política de organización en directo | Política de organización en directo en vigor | Definir una política de organización en modo de prueba de funcionamiento | Política de la organización aplicable en modo 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 |
Project 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 organización en el modo de prueba de funcionamiento
Una política de la organización en modo de prueba no bloquea ninguna operación cuando se aplica. Para ver el efecto que tendría la política de tu organización, puedes consultar los registros de auditoría de la política de la organización.
Los registros de auditoría de políticas de la organización de las políticas de la organización activas y de las políticas de la organización en modo de prueba se generan en función de si las políticas aplicadas a un recurso determinado permiten o deniegan la operación. En la siguiente tabla se describen las situaciones en las que se genera un registro de auditoría de políticas de la organización:
Política de organización activa | Política de organización en modo de prueba | Registro de auditoría generado |
---|---|---|
Permitir | Permitir | No |
Permitir | Denegar | Registro de auditoría solo en modo de prueba |
Denegar | Permitir | Registro de auditoría en modo activo y de prueba |
Denegar | Denegar | Registro de auditoría en modo activo y de prueba |
Las infracciones de la política de la organización en modo de ejecución de prueba aparecen junto con las infracciones en 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 las infracciones de políticas de organización en modo de prueba.
Consola
En la Google Cloud consola, puedes usar el Explorador de registros para obtener las entradas del registro de auditoría de tu Google Cloud proyecto, carpeta u organización:
En la Google Cloud consola, ve a la página Registro> Explorador de registros.
Selecciona un proyecto, una carpeta o una organización Google Cloud .
En el panel Creador de consultas, haga lo siguiente:
En Tipo de recurso, selecciona el Google Cloud recurso cuyos registros de auditoría quieras ver.
En Nombre del registro, selecciona el tipo de registro de auditoría policy.
En el panel Consulta, introduce lo siguiente:
protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"
Si tienes problemas para ver los registros en el Explorador de registros, consulta la información sobre solución de problemas.
Para obtener más información sobre cómo hacer consultas con el Explorador de registros, consulta el artículo Crear consultas en el Explorador de registros.
gcloud
La CLI de Google Cloud proporciona una interfaz de línea de comandos a la API Logging. Indica un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un ID de proyecto, el identificador de proyecto que proporciones debe hacer referencia al nombre del proyecto seleccionado.
Para leer las entradas del registro de auditoría de la política de la organización en modo de prueba de las infracciones, ejecuta el siguiente comando:
gcloud logging read protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED" \ --RESOURCE_TYPE=RESOURCE_ID \
Haz los cambios siguientes:
RESOURCE_TYPE
conorganization
,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
.
Añade la marca --freshness
al comando para leer los registros que tengan más de un día de antigüedad.
Para obtener más información sobre el uso de la herramienta de línea de comandos gcloud, consulta gcloud logging read
.
Si tu organización tiene muchos proyectos, puedes usar receptores agregados para agregar y enrutar las entradas de 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 Recopilar y enrutar registros a nivel de organización a destinos admitidos.
Siguientes pasos
Para obtener más información sobre cómo crear y gestionar restricciones de políticas de la organización, consulta Usar restricciones.