Os grupos de endereços permitem-lhe combinar vários endereços IP e intervalos de endereços IP numa única unidade lógica com nome, que pode usar em vários produtos. Este documento mostra como usar grupos de endereços com políticas de segurança do Google Cloud Armor. Precisa de uma subscrição ativa do Google Cloud Armor Enterprise para usar grupos de endereços.
Antes de começar
Antes de configurar grupos de endereços, tem de ativar primeiro a API Network Security networksecurity.googleapis.com
.
Funções de IAM
Para criar e gerir um grupo de endereços, precisa da função de administrador de rede de computação (roles/compute.networkAdmin
). Também pode definir uma função personalizada com um conjunto equivalente de autorizações.
A tabela seguinte fornece uma lista de autorizações da gestão de identidade e de acesso (IAM) necessárias para realizar um conjunto de tarefas em grupos de endereços.
Tarefa | Nome da função de IAM | Autorizações de IAM |
---|---|---|
Crie e faça a gestão de grupos de endereços | Administrador de rede de Calcular (roles/compute.networkAdmin )
|
networksecurity.addressGroups.* |
Descubra e veja grupos de endereços | Utilizador da rede de computação (roles/compute.networkUser ) |
networksecurity.addressGroups.list
|
Para mais informações sobre as funções que incluem autorizações de IAM específicas, consulte o índice de funções e autorizações de IAM.
Use grupos de endereços ao nível do projeto
As secções seguintes explicam como usar a Google Cloud consola ou a CLI Google Cloud para criar e modificar grupos de endereços ao nível do projeto, e como usar grupos de endereços ao nível do projeto com as suas políticas de segurança.
Crie ou modifique grupos de endereços ao nível do projeto
As secções seguintes explicam como criar grupos de endereços ao nível do projeto, como adicionar e remover endereços de grupos de endereços ao nível do projeto e como eliminar grupos de endereços ao nível do projeto.
Crie um grupo de endereços com âmbito do projeto
Quando cria um grupo de endereços, tem de especificar a respetiva capacidade e versão do endereço IP através dos flags --capacity
e --type
, respetivamente. Não pode alterar estes valores depois de criar o grupo de moradas.
Além disso, a capacidade máxima do Cloud Armor pode ser superior à capacidade máxima de outros produtos, como a firewall de nova geração do Google Cloud. Por conseguinte, se quiser usar o mesmo grupo de endereços em mais do que um produto, tem de definir a capacidade como inferior ou igual à capacidade máxima mais baixa entre esses produtos.
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione o seu projeto.
- Clique em Criar grupo de moradas.
- No campo Nome, introduza um nome.
- (Opcional): no campo Descrição, adicione uma descrição.
- Para Âmbito, escolha Global.
- Em Tipo, escolha IPv4 ou IPv6.
Para Finalidade, escolha Cloud Armor; em alternativa, escolha Firewall e Cloud Armor se também planear usar o grupo de endereços com políticas de firewall de nova geração do Google Cloud.
Para mais informações sobre como escolher uma finalidade, consulte a especificação do grupo de endereços.
No campo Capacidade, introduza a capacidade do grupo de endereços.
No campo Endereços IP, liste os endereços IP ou os intervalos de IP que quer incluir no grupo de endereços separados por vírgulas. Por exemplo,
1.1.1.0/24,1.2.0.0
.O número de endereços IP ou intervalos de IP não pode exceder a capacidade configurada.
Clique em Criar.
gcloud
O exemplo seguinte usa o comando
gcloud network-security address-groups create
para criar um grupo de endereços denominado GROUP_NAME
com uma capacidade de 1000 endereços IPv4
, que podem ser usados com o Cloud Armor ou o Cloud NGFW:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 1000 \ --type IPv4 \ --purpose DEFAULT,CLOUD_ARMOR
Em alternativa, pode criar um grupo de endereços com uma capacidade maior definindo o objetivo exclusivamente como CLOUD_ARMOR
. No exemplo seguinte,
cria um grupo de endereços com uma capacidade de 10 000 intervalos de IPv6
endereços IP:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 10000 \ --type IPv6 \ --purpose CLOUD_ARMOR
Adicione itens a um grupo de endereços com âmbito do projeto
Depois de criar um grupo de endereços, pode adicionar artigos.
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione o seu projeto.
- Para editar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Edit.
- No campo Endereços IP, adicione os novos itens à lista de endereços IP separados por vírgulas. Em alternativa, pode clicar em Importar endereços para carregar um ficheiro CSV com uma lista de endereços IP.
- Clique em Guardar.
gcloud
No exemplo seguinte, usa o comando
gcloud network-security address-groups add-items
para adicionar os endereços IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
ao grupo de endereços GROUP_NAME
. Fornece uma lista de itens separados por vírgulas com a flag --item
:
gcloud network-security address-groups add-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Remova itens de um grupo de endereços ao nível do projeto
Siga estes passos para remover itens de um grupo de endereços:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione o seu projeto.
- Para editar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Edit.
- No campo Endereços IP, elimine os itens que quer remover da lista de endereços IP separados por vírgulas.
- Clique em Guardar.
gcloud
O exemplo seguinte usa o comando
gcloud network-security address-groups remove-items
para remover os endereços IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
que adicionou no comando anterior:
gcloud network-security address-groups remove-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Clone um grupo de endereços com âmbito do projeto
Siga estes passos para clonar itens de um grupo de endereços:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione o seu projeto.
- Para clonar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Clonar.
- No campo Nome, introduza o nome do grupo de moradas clonado a criar.
- Clique em Clonar.
gcloud
No exemplo seguinte, usa o comando
gcloud network-security address-groups clone-items
para clonar os endereços IP de um grupo de endereços de origem
SOURCE_GROUP_NAME
para um grupo de endereços de destino GROUP_NAME
:
gcloud network-security address-groups clone-items GROUP_NAME \ --location global \ --source SOURCE_GROUP_NAME
Elimine um grupo de endereços com âmbito do projeto
Não pode eliminar um grupo de endereços se for referenciado por um recurso, incluindo uma política de firewall ou uma política de segurança. Siga estes passos para eliminar um grupo de endereços:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione o seu projeto.
- Selecione a caixa de verificação junto ao grupo de moradas que quer eliminar. Certifique-se de que o grupo de endereços selecionado não é referenciado por nenhuma firewall ou política de segurança.
- Clique em Eliminar e, de seguida, clique novamente em Eliminar para confirmar.
gcloud
O exemplo seguinte usa o comando
gcloud network-security address-groups delete
para eliminar um grupo de endereços denominado GROUP_NAME
.
gcloud network-security address-groups delete GROUP_NAME \ --location global
Use grupos de endereços com âmbito do projeto com políticas de segurança
Depois de criar um grupo de endereços e adicionar-lhe endereços IP, pode usá-lo com qualquer política de segurança de back-end do Cloud Armor existente. Os exemplos que se seguem mostram duas formas diferentes de usar grupos de moradas.
Recuse um grupo de endereços IP
Para este exemplo, imagine que tem um grupo de endereços IP denominado
MALICIOUS_IPS
com 10 000 endereços IP que sabe que são
maliciosos. Pode negar todos estes endereços IP através de uma única regra de política de segurança deny
com a seguinte condição de correspondência:
evaluateAddressGroup('MALICIOUS_IPS', origin.ip)
Reutilize um grupo de intervalos de endereços IP em várias políticas de segurança
Para este exemplo, imagine que tem a mesma lista de 10 000 endereços IP do exemplo anterior, mas que alguns dos endereços IP são conhecidos por serem motores de rastreio da Web. Quer bloquear todos estes endereços IP de alguns serviços de back-end, mas permitir que os motores de rastreio da Web acedam a outros serviços de back-end para melhorar a otimização do motor de pesquisa (SEO). Siga estes passos para negar o acesso de todos os endereços a BACKEND_SERVICE_1
, ao mesmo tempo que permite que os intervalos de endereços IP 66.249.77.32/27
e 66.249.77.64/27
acedam a BACKEND_SERVICE_2
:
- Crie uma política de segurança do back-end denominada
POLICY_1
e anexe-a aBACKEND_SERVICE_1
. Em
POLICY_1
, crie uma regradeny
com a seguinte condição de correspondência:evaluateAddressGroup('MALICIOUS_IPS', origin.ip)
Crie uma segunda política de segurança do back-end denominada
POLICY_2
e anexe-a aBACKEND_SERVICE_2
.Em
POLICY_2
, crie uma regradeny
com a seguinte condição de correspondência, que exclui66.249.77.32/27
e66.249.77.64/27
:evaluateAddressGroup('MALICIOUS_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
Use um grupo de endereços para fazer a correspondência com os endereços IP dos utilizadores
Para usar um grupo de endereços para fazer a correspondência com os endereços IP do cliente de origem ("utilizador"), tem de configurar userIpRequestHeaders[]
na política de segurança.
É importante ter em atenção que, nas seguintes condições, recebe o endereço IP de origem do pedido e não o endereço IP do cliente de origem, porque o valor de origin.user_ip
é predefinido para o valor de origin.ip
:
- Não configurar a opção
userIpRequestHeaders[]
. - Os cabeçalhos configurados não estão presentes.
- Os cabeçalhos configurados contêm valores de endereço IP inválidos.
Para este exemplo, imagine que tem um grupo de endereços IP denominado
MALICIOUS_IPS
com 10 000 endereços IP que sabe que são
maliciosos. Além disso, usa um proxy a montante, que inclui informações sobre os clientes de origem no cabeçalho. Pode negar todos estes endereços IP através de uma única regra deny
da política de segurança com a seguinte condição de correspondência:
evaluateAddressGroup('MALICIOUS_IPS', origin.user_ip)
Para mais informações sobre os endereços IP dos utilizadores, consulte a secção Atributos.
Use grupos de moradas ao nível da organização
As secções seguintes explicam como criar e modificar grupos de endereços com âmbito da organização através da Google Cloud consola ou da CLI Google Cloud, e como usar grupos de endereços com âmbito da organização com as suas políticas de segurança.
Crie ou modifique grupos de moradas ao nível da organização
Pode usar grupos de endereços com âmbito da organização com políticas de segurança ao nível do serviço e políticas de segurança hierárquicas.
As secções seguintes explicam como criar grupos de moradas ao nível da organização, como adicionar e remover moradas de grupos de moradas ao nível da organização e como eliminar grupos de moradas ao nível da organização.
Crie um grupo de endereços ao nível da organização
Quando cria um grupo de endereços, tem de especificar a respetiva capacidade e versão do endereço IP através dos flags --capacity
e --type
, respetivamente. Não pode alterar estes valores depois de criar o grupo de moradas.
Além disso, a capacidade máxima do Cloud Armor pode ser superior à capacidade máxima de outros produtos, como a firewall de nova geração do Google Cloud. Por conseguinte, se quiser usar o mesmo grupo de endereços em mais do que um produto, tem de definir a capacidade como inferior ou igual à capacidade máxima mais baixa entre esses produtos.
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione a sua organização.
- Clique em Criar grupo de moradas.
- No campo Nome, introduza um nome.
- Opcional: no campo Descrição, adicione uma descrição.
- Para Âmbito, escolha Global.
- Em Tipo, escolha IPv4 ou IPv6.
Para Finalidade, escolha Cloud Armor; em alternativa, escolha Cloud NGFW e Cloud Armor se também planear usar o grupo de endereços com políticas de firewall de nova geração na nuvem.
Para mais informações sobre como escolher uma finalidade para um grupo de endereços, consulte a Especificação.
No campo Capacidade, introduza a capacidade do grupo de endereços.
No campo Endereços IP, liste os endereços IP ou os intervalos de IP que quer incluir no grupo de endereços separados por vírgulas. Por exemplo,
1.1.1.0/24,1.2.0.0
.O número de endereços IP ou intervalos de IP não pode exceder a capacidade configurada.
Clique em Criar.
gcloud
O exemplo seguinte usa o comando gcloud network-security org-address-groups create
para criar um grupo de endereços com âmbito da organização denominado GROUP_NAME
com uma capacidade de 1000 endereços IPv4, que pode ser usado com o Cloud Armor ou o Cloud NGFW:
gcloud beta network-security org-address-groups create GROUP_NAME \ --location global \ --description "org address group description" \ --capacity 1000 \ --type IPv4 \ --purpose DEFAULT,CLOUD_ARMOR
Em alternativa, pode criar um grupo de endereços ao nível da organização com uma capacidade superior definindo a finalidade exclusivamente como CLOUD_ARMOR
. No exemplo seguinte, cria um grupo de endereços com uma capacidade de 10 000 intervalos de endereços IP IPv6:
gcloud beta network-security org-address-groups create GROUP_NAME \ --location global \ --description "org address group description" \ --capacity 10000 \ --type IPv6 \ --purpose CLOUD_ARMOR
Adicione itens a um grupo de moradas ao nível da organização
Depois de criar um grupo de endereços ao nível da organização, pode adicionar itens.
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione a sua organização.
- Para editar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Edit.
- No campo Endereços IP, adicione os novos itens à lista de endereços IP separados por vírgulas. Em alternativa, pode clicar em Importar endereços para carregar um ficheiro CSV com uma lista de endereços IP.
- Clique em Guardar.
gcloud
No exemplo seguinte, usa o comando
gcloud network-security org-address-groups add-items
para adicionar os endereços IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
ao grupo de endereços com âmbito da organização GROUP_NAME
. Fornece uma lista de itens separados por vírgulas com a flag --items
:
gcloud network-security org-address-groups add-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Remova itens de um grupo de endereços ao nível da organização
Siga estes passos para remover itens de um grupo de endereços com âmbito na organização:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione a sua organização.
- Para editar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Edit.
- No campo Endereços IP, elimine os itens que quer remover da lista de endereços IP separados por vírgulas.
- Clique em Guardar.
gcloud
O exemplo seguinte usa o comando
gcloud network-security org-address-groups remove-items
para remover os endereços IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
que adicionou no comando anterior:
gcloud network-security org-address-groups remove-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Clone um grupo de moradas ao nível da organização
Siga estes passos para clonar itens de um grupo de endereços:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione a sua organização.
- Para clonar um grupo de moradas, clique no nome do grupo de moradas.
- Clique em Clonar.
- No campo Nome, introduza o nome do grupo de moradas clonado a criar.
- Clique em Clonar.
gcloud
No exemplo seguinte, usa o comando gcloud network-security org-address-groups clone-items
para clonar os endereços IP de um grupo de endereços de origem SOURCE_GROUP_NAME
num grupo de endereços de destino GROUP_NAME
:
gcloud network-security org-address-groups clone-items GROUP_NAME \ --location global \ --source SOURCE_GROUP_NAME
Elimine um grupo de endereços com âmbito da organização
Não pode eliminar um grupo de endereços ao nível da organização se for referenciado por um recurso, incluindo uma política de firewall ou uma política de segurança. Siga os passos seguintes para eliminar um grupo de moradas:
Consola
- Na Google Cloud consola, aceda à página Grupos de endereços.
- No menu do seletor de projetos, se disponível, selecione a sua organização.
- Selecione a caixa de verificação junto ao grupo de moradas que quer eliminar. Certifique-se de que o grupo de endereços selecionado não é referenciado por nenhuma política de firewall ou de segurança.
- Clique em Eliminar e, de seguida, clique novamente em Eliminar para confirmar.
gcloud
O exemplo seguinte usa o comando
gcloud network-security org-address-groups delete
para eliminar um grupo de endereços denominado GROUP_NAME
.
gcloud network-security org-address-groups delete GROUP_NAME \ --location global
Use grupos de endereços com âmbito da organização com políticas de segurança
Depois de criar um grupo de endereços e adicionar-lhe endereços IP, pode usá-lo com qualquer política de segurança de back-end do Cloud Armor existente. Os exemplos seguintes mostram duas formas diferentes de usar grupos de moradas.
Recuse um grupo de endereços IP para todos os serviços de back-end numa organização
Para este exemplo, imagine que tem um grupo de endereços IP ao nível da organização denominado MALICIOUS_IPS
com 10 000 endereços IP que sabe serem maliciosos. Pode negar todos estes endereços IP para todos os serviços de back-end na sua organização através de uma única política de segurança hierárquica. Crie uma política de segurança hierárquica e, em seguida, adicione uma regra com a seguinte condição de correspondência:deny
evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip)
Por último, associe a política de segurança hierárquica a todos os serviços de back-end na sua organização, substituindo POLICY_NAME
pelo nome da sua política de segurança hierárquica e ORGANIZATION_ID
pelo ID da sua organização:
gcloud beta compute org-security-policies associations create \ --security-policy=POLICY_NAME \ --organization=ORGANIZATION_ID
Reutilize um grupo de intervalos de endereços IP para todos os serviços de back-end numa organização
Para este exemplo, imagine que tem a mesma lista de 10 000 endereços IP do exemplo anterior, mas que alguns dos endereços IP são conhecidos por serem motores de rastreio da Web. Quer bloquear os endereços IP do motor de rastreio não Web de aceder a todos os serviços de back-end na sua organização, mas quer permitir que as políticas de segurança ao nível do projeto determinem se os motores de rastreio da Web podem aceder aos seus serviços de back-end para melhorar a otimização do motor de pesquisa (SEO).
Siga estes passos para negar o acesso de todos os endereços a
BACKEND_SERVICE_1
, ao mesmo tempo que permite que os intervalos de endereços IP
66.249.77.32/27
e 66.249.77.64/27
acedam a
BACKEND_SERVICE_2
:
- Crie uma política de segurança do back-end denominada
BACKEND_POLICY_1
. Adicione uma regra
deny
aBACKEND_POLICY_1
com a seguinte condição de correspondência, que bloqueia todos os endereços IP emMALICIOUS_IPS
:evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip)
Use o seguinte comando para associar
BACKEND_POLICY_1
aBACKEND_SERVICE_1
:gcloud compute backend-services update BACKEND_SERVICE_1 \ --security-policy BACKEND_POLICY_1
Crie uma segunda política de segurança do back-end denominada
BACKEND_POLICY_2
.Adicione uma regra
deny
aBACKEND_POLICY_2
com a seguinte condição de correspondência, que bloqueia todos os endereços IP emMALICIOUS_IPS
, exceto66.249.77.32/27
e66.249.77.64/27
:evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip, [`66.249.77.32/27`, `66.249.77.64/27`])
Use o seguinte comando para associar
BACKEND_POLICY_2
aBACKEND_SERVICE_2
. SubstituaORG_ID
pelo ID da sua organização:gcloud compute backend-services update BACKEND_SERVICE_2 \ --security-policy BACKEND_POLICY_2
Use um grupo de endereços para fazer a correspondência com os endereços IP dos utilizadores para todos os serviços de back-end numa organização
Para este exemplo, imagine que tem um grupo de endereços IP denominado
MALICIOUS_IPS
com 10 000 endereços IP que sabe que são
maliciosos. Além disso, usa um proxy a montante, que inclui informações sobre o endereço IP do cliente de origem no cabeçalho. Pode negar o acesso de todos estes endereços IP a todos os serviços de back-end na sua organização através de uma única regra de política de segurança deny
com a seguinte condição de correspondência:
evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.user_ip)
Para mais informações sobre os endereços IP dos utilizadores, consulte a secção Atributos.