Las políticas de cortafuegos jerárquicas te permiten crear y aplicar una política de cortafuegos coherente en toda tu organización. Puedes asignar políticas de cortafuegos jerárquicas a toda la organización o a carpetas concretas. Estas políticas contienen reglas que pueden denegar o permitir conexiones de forma explícita, al igual que las reglas de cortafuegos de nube privada virtual (VPC).
Además, las reglas de políticas de cortafuegos jerárquicas pueden delegar la evaluación en políticas de nivel inferior o en reglas de cortafuegos de red de VPC con una acción goto_next
.
Las reglas de nivel inferior no pueden anular una regla de un nivel superior de la jerarquía de recursos. De esta forma, los administradores de toda la organización pueden gestionar las reglas de cortafuegos críticas en un mismo lugar.
Especificaciones
- Las políticas de cortafuegos jerárquicas se crean a nivel de organización y de carpeta. Al crear una política, las reglas no se aplican automáticamente a la organización ni a la carpeta.
- Las políticas, una vez creadas, se pueden aplicar a cualquier recurso de la organización (es decir, se pueden asociar a ellos).
- Las políticas de cortafuegos jerárquicas son contenedores de reglas de cortafuegos. Cuando asocias una política a la organización o a una carpeta, todas las reglas se aplican inmediatamente. Puedes intercambiar las políticas de un recurso, lo que intercambia de forma atómica todas las reglas de cortafuegos aplicadas a las instancias de máquina virtual (VM) de ese recurso.
- La evaluación de reglas es jerárquica y se basa en la jerarquía de recursos. Se evalúan todas las reglas asociadas a la organización, seguidas de las del primer nivel de carpetas, y así sucesivamente.
- Las reglas de las políticas de cortafuegos jerárquicas tienen una nueva acción
goto_next
que puedes usar para delegar la evaluación de las conexiones a niveles inferiores de la jerarquía.
Las reglas de políticas de cortafuegos jerárquicas se pueden usar para configurar la inspección de capa 7 del tráfico coincidente, como el servicio de detección y prevención de intrusiones.
Para crear una regla de política de cortafuegos, debes usar la
apply_security_profile_group
acción y el nombre del grupo de perfiles de seguridad. El tráfico que coincide con la regla de la política de cortafuegos se intercepta y se reenvía de forma transparente al endpoint del cortafuegos para que se inspeccione la capa 7 y viceversa. Para saber cómo crear una regla de política de cortafuegos, consulta Crear reglas de cortafuegos.
- Las reglas de las políticas de cortafuegos jerárquicas se pueden orientar a redes VPC y VMs específicas mediante recursos de destino para redes y cuentas de servicio de destino para VMs. De esta forma, puedes crear excepciones para grupos de máquinas virtuales. Las reglas de políticas de cortafuegos jerárquicas no admiten la segmentación por etiquetas de instancia.
- Cada regla de política de cortafuegos jerárquica puede incluir intervalos IPv4 o IPv6, pero no ambos.
- Para facilitar el cumplimiento y la depuración, las reglas de cortafuegos aplicadas a una instancia de VM se pueden auditar mediante la página de detalles de la red de VPC y la página de detalles de la interfaz de red de la instancia de VM.
Jerarquía de recursos
Las políticas de cortafuegos se crean y se aplican en pasos independientes. Puedes crear y aplicar políticas de cortafuegos a nivel de organización o de carpeta de la jerarquía de recursos. Una regla de política de cortafuegos puede bloquear o permitir conexiones, o bien aplazar la evaluación de la regla de cortafuegos a carpetas de nivel inferior o a reglas de cortafuegos de VPC definidas en redes de VPC.
Organización es el recurso de nivel superior de la jerarquía de recursos en Google Cloud donde puedes crear o asociar políticas de cortafuegos jerárquicas. Todas las carpetas y redes de VPC de la organización heredan esta política.
Las carpetas son recursos de nivel medio en la Google Cloud jerarquía de recursos, entre la organización y los proyectos, donde puedes crear o asignar políticas de cortafuegos jerárquicas. Todas las carpetas y redes de VPC de una carpeta heredan la política asociada.
Un proyecto se encuentra en una carpeta o en la organización. Puedes mover proyectos entre recursos de una organización. Los proyectos contienen redes de VPC. Las políticas de cortafuegos jerárquicas no se pueden asignar a proyectos, solo a la organización o a las carpetas.
Una red VPC es la Google Cloud partición para la comunicación aislada del espacio de direcciones IP internas. Este es el nivel en el que se especifican y aplican las rutas, las políticas de cortafuegos de red y las reglas de cortafuegos de VPC tradicionales. Las reglas de políticas de cortafuegos jerárquicas pueden anular o delegar la evaluación de conexiones en políticas y reglas de cortafuegos de red globales.
De forma predeterminada, todas las reglas de las políticas de cortafuegos jerárquicas se aplican a todas las VMs de todos los proyectos de la organización o carpeta a la que esté asociada la política. Sin embargo, puedes restringir las VMs que obtienen una regla determinada especificando redes o cuentas de servicio de destino.
En el siguiente diagrama se muestran los niveles de la jerarquía en los que se pueden aplicar las reglas de cortafuegos. Los cuadros amarillos representan políticas de cortafuegos jerárquicas que contienen reglas de cortafuegos, mientras que los cuadros blancos representan reglas de cortafuegos de VPC.
Detalles de la política de cortafuegos jerárquica
Las reglas de las políticas de cortafuegos jerárquicas se definen en un recurso de política de cortafuegos que actúa como contenedor de reglas de cortafuegos. Las reglas definidas en una política de cortafuegos no se aplican hasta que la política se asocia a un recurso (una organización o una carpeta).
Una sola política se puede asociar a varios recursos. Si modificas una regla de una política, el cambio se aplicará a todos los recursos asociados.
Solo se puede asociar una política de cortafuegos a un recurso. Las reglas de políticas de cortafuegos jerárquicas y las reglas de cortafuegos de VPC se evalúan en un orden bien definido.
Una política de cortafuegos que no está asociada a ningún recurso es una política de cortafuegos jerárquica no asociada.
Nombres de las políticas
Cuando creas una política, Google Cloud genera automáticamente un ID para la política. Además, también debes especificar un nombre corto para la política.
Cuando uses la interfaz gcloud
para actualizar una política, puedes hacer referencia al ID generado por el sistema o a una combinación del nombre abreviado y el ID de tu organización. Cuando utilice la API para actualizar la política, debe proporcionar el ID generado por el sistema.
Detalles de las reglas de las políticas de cortafuegos jerárquicas
Las reglas de políticas de cortafuegos jerárquicas funcionan igual que las reglas de políticas de cortafuegos y las reglas de cortafuegos de VPC, pero hay algunas diferencias:
Las políticas de cortafuegos jerárquicas admiten redes de destino, mientras que las políticas de cortafuegos de red globales no. Puedes especificar redes de destino para restringir una regla de política de cortafuegos a las VMs de las redes especificadas. Si especificas redes de VPC en la regla, podrás controlar qué redes se configuran con esa regla.
Si se combina con
goto_next
oallow
, especificar redes de destino te permite crear excepciones para redes concretas cuando quieras definir una política restrictiva.Las políticas de cortafuegos jerárquicas son recursos a nivel de organización, mientras que las políticas de cortafuegos de red globales son recursos a nivel de proyecto.
Reglas predefinidas
Cuando creas una política de cortafuegos jerárquica, Cloud Next Generation Firewall añade reglas predefinidas con la prioridad más baja a la política. Estas reglas se aplican a las conexiones que no coinciden con ninguna regla definida explícitamente en la política, lo que provoca que esas conexiones se transfieran a políticas o reglas de red de nivel inferior.
Para obtener información sobre los distintos tipos de reglas predefinidas y sus características, consulte Reglas predefinidas.
roles de Gestión de Identidades y Accesos
Los roles de gestión de identidades y accesos rigen las siguientes acciones en relación con las políticas de cortafuegos jerárquicas:
- Crear una política que se aplique a un recurso concreto
- Asociar una política a un recurso concreto
- Modificar una política
- Ver las reglas de cortafuegos efectivas de una red o una VM concretas
En la siguiente tabla se describen los roles necesarios para cada paso:
Habilidad | Rol necesario |
---|---|
Crear una política de cortafuegos jerárquica | Rol compute.orgFirewallPolicyAdmin en el recurso en el que se aplicará la política |
Asociar una política a un recurso | compute.orgSecurityResourceAdmin en el recurso de destino y el rol compute.orgFirewallPolicyAdmin o compute.orgFirewallPolicyUser en el recurso en el que se encuentra la política o en la propia política. |
Modificar la política añadiendo, actualizando o eliminando reglas de cortafuegos de la política | compute.orgFirewallPolicyAdmin rol en el recurso en el que se encuentra la política o en la propia política |
Eliminar la política | compute.orgFirewallPolicyAdmin rol en el recurso en el que se encuentra la política o en la propia política |
Ver las reglas de cortafuegos efectivas de una red de VPC | Cualquiera de los siguientes roles de la red: compute.networkAdmin compute.networkViewer compute.securityAdmin compute.viewer |
Ver las reglas de cortafuegos vigentes de una VM en una red | Cualquiera de los siguientes roles de la VM: compute.instanceAdmin compute.securityAdmin compute.viewer |
Los siguientes roles son relevantes para las políticas de cortafuegos jerárquicas.
Nombre de rol | Descripción |
---|---|
compute.orgFirewallPolicyAdmin | Se puede conceder en un recurso o en una política concreta. Si se concede en un recurso, permite a los usuarios crear, actualizar y eliminar políticas de cortafuegos jerárquicas y sus reglas. Si se concede en una política concreta, permite al usuario actualizar las reglas de la política, pero no crearla ni eliminarla. Este rol también permite al usuario asociar una política a un recurso si también tiene el rol compute.orgSecurityResourceAdmin en ese recurso. |
compute.orgSecurityResourceAdmin | Concedido a nivel de organización o a una carpeta, permite a los administradores de nivel de carpeta asociar una política a ese recurso. Los administradores también deben tener el rol compute.orgFirewallPolicyUser o compute.orgFirewallPolicyAdmin en el recurso propietario de la política o en la propia política para poder usarla. |
compute.orgFirewallPolicyUser | Se concede en un recurso o en una política individual y permite a los administradores usar la política o las políticas individuales asociadas al recurso. Los usuarios también deben tener el rol compute.orgSecurityResourceAdmin en el recurso de destino para asociar una política a ese recurso. |
compute.securityAdmin compute.viewer compute.networkUser compute.networkViewer |
Permite a los usuarios ver las reglas de cortafuegos aplicadas a la red o a la instancia. Incluye el permiso compute.networks.getEffectiveFirewalls
para redes y el permiso compute.instances.getEffectiveFirewalls para instancias. |
En el siguiente ejemplo, Joe puede crear, modificar y eliminar cualquier política de cortafuegos jerárquica en la carpeta policies
, pero no puede adjuntar la política de cortafuegos jerárquica a una carpeta porque no tiene el rol orgSecurityResourceAdmin
en ninguna carpeta.
Sin embargo, como José ha concedido permisos a María para usar policy-1
, ella puede enumerar y asociar esa política de cortafuegos jerárquica con la carpeta dev-projects
o con cualquiera de sus elementos secundarios. El rol orgFirewallPolicyUser
no concede permiso para asociar las políticas a ninguna carpeta. El usuario también debe tener el rol orgSecurityResourceAdmin
en la carpeta de destino.
Gestionar recursos de políticas de cortafuegos jerárquicas
Como una política de cortafuegos jerárquica solo define un conjunto de reglas de cortafuegos y no dónde se aplican, puedes crear estos recursos en una parte diferente de la jerarquía de los recursos a los que se aplican. De esta forma, puedes asociar un único recurso de política de cortafuegos jerárquica a varias carpetas de la organización.
En el ejemplo siguiente, policy-1
se aplica a las carpetas dev-projects
y corp-projects
, por lo que se aplica a todos los proyectos de esas carpetas.
Modificar las reglas de una política
Puede añadir, quitar y modificar reglas en una política. Cada cambio se realiza de forma individual. No hay ningún mecanismo para actualizar reglas en lote en una política. Los cambios se aplican aproximadamente en el orden en que se ejecutan los comandos, aunque no se garantiza que sea así.
Si vas a hacer cambios importantes en una política de cortafuegos jerárquica y necesitas asegurarte de que se apliquen al mismo tiempo, puedes clonar la política en una política temporal y asignarla a los mismos recursos. Después, puedes hacer los cambios que quieras en el original y volver a asignarlo a los recursos. Para saber cómo hacerlo, consulta el artículo Clonar reglas de una política a otra.
En el siguiente ejemplo, policy-1
está adjunto a la carpeta dev-projects
y quieres hacer varios cambios que se apliquen de forma atómica. Crea una política llamada scratch-policy
y, a continuación, copia todas las reglas de policy-1
en scratch-policy
para editarlas. Cuando hayas terminado de editar, copia todas las reglas de scratch-policy
a policy-1
.
Mover una política
Las políticas de cortafuegos jerárquicas, al igual que los proyectos, dependen de un recurso de carpeta o de organización. A medida que evoluciona tu esquema de carpetas, es posible que tengas que mover una política de cortafuegos jerárquica a una carpeta nueva, quizás antes de eliminar una carpeta. Las políticas de una carpeta se eliminan si se elimina la carpeta.
En el siguiente diagrama se muestra cómo mover una política entre asociaciones de recursos o la evaluación de reglas en la política.
Asociar una política de cortafuegos jerárquica a una carpeta
Una política de cortafuegos jerárquica no se aplica a menos que esté asociada a una organización o a una carpeta. Una vez asociada, se aplica a todas las máquinas virtuales de todas las redes de esa organización o carpeta.
Cambios en la jerarquía de recursos
Los cambios en la jerarquía de recursos pueden tardar un tiempo en propagarse por el sistema. Te recomendamos que evites actualizar simultáneamente los adjuntos de políticas de cortafuegos jerárquicas y la jerarquía de recursos, ya que es posible que las redes no hereden inmediatamente la política de cortafuegos jerárquica definida en la nueva ubicación de la jerarquía.
Por ejemplo, si vas a mover la carpeta dept-A
de la carpeta dev-projects
a la carpeta eng-projects
y vas a cambiar la asociación de policy-1
a eng-projects
en lugar de a dev-projects
, asegúrate de no desasociar policy-1
de dev-projects
al mismo tiempo. Si la carpeta dev-projects
pierde su asociación con la política de cortafuegos jerárquica antes de que se actualice la ascendencia de todas las redes de VPC que contiene, durante un breve periodo de tiempo, esas redes de VPC no estarán protegidas por policy-1
.
Usar políticas de cortafuegos jerárquicas con VPC compartida
En los casos de VPC compartida, una interfaz de VM conectada a una red de un proyecto del host se rige por las reglas de la política de cortafuegos jerárquica del proyecto del host, no del proyecto de servicio.
Aunque los proyectos de servicio estén en una carpeta diferente a la del proyecto del host, las interfaces de VM de la red compartida seguirán heredando las reglas de la carpeta del proyecto del host.
Usar políticas de cortafuegos jerárquicas con el emparejamiento entre redes de VPC
En los casos de emparejamiento de redes de VPC, la interfaz de la VM asociada a cada una de las redes de VPC hereda las políticas de la jerarquía de las redes de VPC correspondientes. A continuación, se muestra un ejemplo de emparejamiento entre redes de VPC en el que las redes de VPC emparejadas pertenecen a organizaciones diferentes.
Siguientes pasos
- Para crear y modificar reglas y políticas de cortafuegos jerárquicas, consulta Usar políticas de cortafuegos jerárquicas.
- Para ver ejemplos de implementaciones de políticas de cortafuegos jerárquicas, consulta Ejemplos de políticas de cortafuegos jerárquicas.