Configurar políticas de segurança hierárquicas

Nesta página, descrevemos como configurar políticas de segurança hierárquicas para proteger sua organização, pastas ou projetos. Antes de configurar políticas de segurança hierárquicas, familiarize-se com as informações na visão geral das políticas de segurança hierárquicas.

Configurar permissões do IAM para políticas de segurança hierárquicas

As operações a seguir exigem que você tenha o papel do Identity and Access Management (IAM) Administrador da política de segurança da organização do Compute (roles/compute.orgSecurityPolicyAdmin) no nó da hierarquia de recursos de destino ou na própria política, se ela já existir:

  • Criar uma política de segurança hierárquica
  • Modificar uma política de segurança hierárquica adicionando, atualizando ou excluindo regras
  • Excluir uma política de segurança hierárquica

As operações a seguir exigem que você tenha o papel do IAM Administrador de recursos da organização do Compute (roles/compute.orgSecurityResourceAdmin) no nó de hierarquia do recurso de destino, além do papel Administrador de políticas de segurança da organização do Compute (roles/compute.orgSecurityPolicyAdmin) ou Usuário de políticas de segurança da organização do Compute (roles/compute.orgSecurityPolicyUser) no nó de hierarquia do recurso de destino ou na própria política:

  • Associar uma política de segurança hierárquica a um nó de hierarquia de recursos

Por fim, confira na tabela a seguir uma lista de operações diversas que você pode realizar se tiver uma das funções listadas:

Operações Papéis
Visualizar todas as regras efetivas do Google Cloud Armor para um recurso de back-end
Visualizar os recursos de back-end efetivos cobertos por uma organizationSecurityPolicy

Configurar políticas de segurança hierárquicas

As seções a seguir explicam como criar políticas de segurança hierárquicas, associá-las a nós da hierarquia de recursos, movê-las entre nós, excluí-las e como visualizar todas as regras de política de segurança do Cloud Armor que se aplicam a um recurso protegido.

Criar uma política de segurança hierárquica

Crie uma política de segurança hierárquica usando o comando gcloud compute org-security-policies create. Você cria a política de segurança hierárquica em uma organização ou pasta usando a flag --organization ou --folder, junto com o ORGANIZATION_ID ou FOLDER_ID correspondente. Use os exemplos a seguir para criar políticas de segurança hierárquicas, substituindo POLICY_NAME pelo nome que você quer dar à nova política de segurança:

  • Crie uma política de segurança hierárquica no nível da organização:

    gcloud compute org-security-policies create \
        --organization=ORGANIZATION_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    
  • Crie uma política de segurança hierárquica no nível da pasta:

    gcloud compute org-security-policies create \ 
        --folder=FOLDER_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    

Associar uma política de segurança a um nó da hierarquia de recursos

Se você já tiver uma política de segurança, associe-a a um nó da hierarquia de recursos usando o gcloud compute org-security-policies associations create comando.

  • Associe uma política de segurança hierárquica a uma organização:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --organization=ORGANIZATION_ID \
        --name=ASSOCIATION_NAME
    
  • Associe uma política de segurança hierárquica a uma pasta:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --folder=FOLDER_ID \
        --name=ASSOCIATION_NAME
    
  • Associe uma política de segurança hierárquica a um projeto:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --project-number=PROJECT_ID \
        --name=ASSOCIATION_NAME
    

Substitua:

  • POLICY_ID: o ID da política de segurança
  • ORGANIZATION_ID: o ID da organização
  • ASSOCIATION_NAME: o nome da associação
  • FOLDER_ID: o ID da pasta
  • PROJECT_ID: o ID do projeto

Excluir projetos das políticas de segurança hierárquicas

Além disso, é possível excluir projetos das políticas de segurança hierárquicas no nível da pasta e excluir projetos e pastas das políticas de segurança hierárquicas no nível da organização:

  • É possível excluir projetos de uma política de segurança hierárquica usando o comando gcloud compute org-security-policies associations create com a flag --excluded-projects.

    O exemplo de comando a seguir associa a política de segurança example-policy à organização 10000001, excluindo o projeto com o ID 2000000002:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-projects="projects/2000000002" \
        --organization=10000001
    
  • É possível excluir pastas de uma política de segurança hierárquica no nível da organização usando o comando gcloud compute org-security-policies associations create com a flag --excluded-folders.

    O exemplo de comando a seguir associa a política de segurança example-policy à organização 10000001, excluindo a pasta com o ID 3000000003:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-folders="folders/3000000003" \
        --organization=10000001
    

Mover uma política de segurança hierárquica

É possível mudar o pai de uma política de segurança hierárquica usando o comando gcloud compute org-security-policies move para mover a política de segurança hierárquica para um nó diferente na hierarquia de recursos pai. Você fornece a origem como a primeira flag e o destino como a segunda. Mover uma política de segurança hierárquica muda a propriedade dela, não o recurso a que ela está associada. Somente organizações e pastas podem ter políticas de segurança hierárquicas. Portanto, não é possível movê-las para projetos.

No exemplo a seguir, você move uma política de segurança hierárquica da organização ORGANIZATION_ID para a pasta FOLDER_ID:

gcloud compute org-security-policies move policy-1 \
    --organization ORGANIZATION_ID \
    --folder FOLDER_ID

Excluir uma política de segurança hierárquica

Antes de excluir uma política de segurança hierárquica, é preciso excluir todas as associações que ela tem com os nós da hierarquia de recursos. No exemplo a seguir, você usa o comando gcloud compute org-security-policies associations delete para remover a associação chamada ASSOCIATION_NAME entre a política de segurança hierárquica com o nome POLICY_NAME e a organização ORGANIZATION_ID:

gcloud compute org-security-policies associations delete ASSOCIATION_NAME \
    --security-policy=POLICY_NAME \
    --organization=ORGANIZATION_ID

Se essa não for a única associação da política de segurança, repita a etapa anterior para cada associação. Quando a política de segurança hierárquica não tem associações, é possível excluí-la usando o gcloud compute org-security-policies delete comando, como no exemplo a seguir:

gcloud compute org-security-policies delete POLICY_NAME \
    --organization=ORGANIZATION_ID

Visualizar todas as regras efetivas do Cloud Armor para um recurso protegido

É possível conferir todas as regras de políticas de segurança do Cloud Armor que se aplicam a um recurso protegido usando o gcloud compute backend-services get-effective-security-policies comando.

gcloud compute backend-services get-effective-security-policies PROTECTED_RESOURCE

Substitua PROTECTED_RESOURCE pelo nome do recurso protegido que você quer verificar.

Ao executar o comando gcloud compute backend-services get-effective-security-policies em um serviço de back-end dentro de um projeto que herda uma política de segurança hierárquica, a resposta pode incluir essa política, mesmo que o tipo desse serviço de back-end específico não seja compatível com políticas de segurança hierárquicas. Para conferir uma lista de configurações de back-end compatíveis com políticas de segurança hierárquicas, consulte a visão geral das políticas de segurança hierárquicas.

Casos de uso

As seções a seguir descrevem casos de uso para políticas de segurança hierárquicas.

Negar o tráfego de um conjunto de endereços IP para todos os balanceadores de carga de aplicativo na sua organização

É possível usar políticas de segurança hierárquicas para gerenciar uma lista de endereços IP que não têm permissão para acessar toda a rede da organização ou para negar o tráfego de uma região ou país específico. Isso pode ajudar a resolver problemas de segurança específicos da empresa ou manter a conformidade. As etapas a seguir mostram como criar uma política de segurança hierárquica no nível da organização que nega o tráfego do intervalo de endereços IP 192.0.2.0/24:

  1. Crie uma política de segurança hierárquica chamada org-level-deny-ip-policy, anexada a uma organização com ID 1000000001:

     gcloud compute org-security-policies create \
         --organization=1000000001 \
         --type=CLOUD_ARMOR \
         --description= "this org policy denies a set of IP addresses for all resources" \
         --short-name=org-level-deny-ip-policy
    
  2. Adicione uma regra na prioridade 1000 com uma condição de correspondência para o intervalo de endereços IP 192.0.2.0/24 e uma ação deny:

     gcloud compute org-security-policies rules create 1000 \
         --action=deny \
         --security-policy=org-level-deny-ip-policy \
         --organization=1000000001 \
         --description "Deny traffic from 192.0.2.0/24" \
         --src-ip-ranges "192.0.2.0/24"
    
  3. Por fim, associe a política de segurança à organização, negando solicitações do endereço IP 192.0.2.0/24 a todos os serviços na organização:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-deny-ip-policy \
         --organization=ORGANIZATION_ID
    

Conceder a um conjunto de endereços IP de origem acesso a alguns projetos na sua organização

É possível conceder acesso a alguns projetos da sua organização a um ou vários endereços IP. Isso é útil quando você tem um proxy upstream confiável que quer excluir da avaliação de regras apenas para alguns dos seus projetos. No exemplo a seguir baseado no Cloud CDN, você usa uma política de segurança hierárquica no nível da pasta para conceder ao intervalo de endereços IP 192.0.2.0/24 acesso aos projetos chamados project-1, project-2 e project-3 na organização 10000001:

  1. Use os comandos a seguir para mover project-1, project-2 e project-3 para uma pasta com o ID 20000002:

    gcloud projects move project-1 --folder=20000002
    gcloud projects move project-2 --folder=20000002
    gcloud projects move project-3 --folder=20000002
    
  2. Use o comando a seguir para criar uma política de segurança chamada org-level-proxy-filtering:

     gcloud compute org-security-policies create \
         --folder=20000002 \
         --type=CLOUD_ARMOR \
         --short-name=org-level-proxy-filtering
    
  3. Adicione uma regra na prioridade 1000 com uma condição de correspondência para o intervalo de endereços IP 192.0.2.0/24 e uma ação da regra goto_next. Se uma solicitação corresponder a essa condição, o Cloud Armor vai parar de avaliar as regras dentro dessa política de segurança:

     gcloud compute org-security-policies rules create 1000 \
         --action=goto_next \
         --security-policy=org-level-proxy-filtering \
         --organization=10000001 \
         --src-ip-ranges="192.0.2.0/24"
    
  4. Opcional: para aplicar regras de política de segurança a esses projetos para solicitações que não são de 192.0.2.0/24, adicione mais regras com uma prioridade menor que 1000. É possível fazer isso depois.

  5. Use o comando a seguir para associar a política à pasta com o ID 20000002, em que você moveu os projetos na etapa 1:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-proxy-filtering \
         --folder=20000002
    

A seguir