Esta página contém informações sobre 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 |
---|---|
Ver todas as regras efetivas do Google Cloud Armor para um recurso de back-end |
|
Ver os recursos de back-end efetivos cobertos por um 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 Google 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 beta 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 beta 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 beta 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, poderá associá-la a um nó da hierarquia de recursos usando o comando gcloud beta compute org-security-policies associations create
. Substitua:
POLICY_ID
: o ID da política de segurançaPOLICY_NAME
: o nome da política de segurançaORGANIZATION_ID
: o ID da organizaçãoFOLDER_ID
: o ID da pastaPROJECT_ID
: o ID do projetoAssocie uma política de segurança hierárquica a uma organização:
gcloud beta 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 beta 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 beta compute org-security-policies associations create \ --security-policy=POLICY_ID \ --project-number=PROJECT_ID \ --name=ASSOCIATION_NAME
Excluir projetos de 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
beta compute org-security-policies associations create
com a sinalização--excluded-projects
.O exemplo de comando a seguir associa a política de segurança
example-policy
à organização10000001
, excluindo o projeto com o ID2000000002
:gcloud beta 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
beta 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ção10000001
, excluindo a pasta com o ID3000000003
:gcloud beta 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
gcloud beta 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 os recursos
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, uma política de segurança hierárquica é movida da organização ORGANIZATION_ID
para a pasta FOLDER_ID
:
gcloud beta 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
beta 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 beta 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 comando compute org-security-policies delete
, como no exemplo a seguir:
gcloud beta compute org-security-policies delete POLICY_NAME \ --organization=ORGANIZATION_ID
Ver todas as regras efetivas do Google Cloud Armor para um recurso protegido
É possível conferir todas as regras da política de segurança do Google Cloud Armor que se aplicam a
um recurso protegido usando o comando
gcloud beta compute backend-services get-effective-security-policies
. No
exemplo a seguir, substitua RESOURCE_NAME
pelo nome
do recurso protegido que você quer verificar:
gcloud beta compute backend-services get-effective-security-policies PROTECTED_RESOURCE
Quando você executa o comando gcloud beta compute get-effective-security-policies
em um serviço de back-end em um projeto que herda uma política de segurança hierárquica, a resposta pode incluir a política de segurança hierárquica, mesmo que o tipo específico do serviço de back-end 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 você 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
:
Crie uma política de segurança hierárquica chamada
org-level-deny-ip-policy
, anexada a uma organização com ID 1000000001:gcloud beta compute org-security-policies create \ --organization=1000000001 \ --type=CLOUD_ARMOR \ --description= "this is an org policy to deny a set of IP addresses for all resources" \ --short-name=org-level-deny-ip-policy
Adicione uma regra na prioridade
1000
com uma condição de correspondência para o intervalo de endereços IP192.0.2.0/24
e uma açãodeny
:gcloud beta 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"
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 beta 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
Você pode 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
:
Use os seguintes comandos para mover
project-1
,project-2
eproject-3
para uma pasta com o ID20000002
:gcloud projects move project-1 --folder=20000002 gcloud projects move project-2 --folder=20000002 gcloud projects move project-3 --folder=20000002
Use o comando a seguir para criar uma política de segurança chamada
org-level-proxy-filtering
:gcloud beta compute org-security-policies create \ --folder=20000002 \ --type=CLOUD_ARMOR \ --short-name=org-level-proxy-filtering
Adicione uma regra na prioridade
1000
com uma condição de correspondência para o intervalo de endereços IP192.0.2.0/24
e uma ação de regragoto_next
. Se uma solicitação corresponder a essa condição, o Google Cloud Armor vai parar de avaliar as regras nessa política de segurança:gcloud beta 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"
Opcional: se você quiser 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 que1000
. Você pode fazer isso mais tarde.Use o comando a seguir para associar a política à pasta com o ID
20000002
, para onde você moveu os projetos na etapa 1:gcloud beta compute org-security-policies associations create \ --security-policy=org-level-proxy-filtering \ --folder=20000002