Esta página descreve como criar um perímetro de serviço.
Antes de começar
Leia sobre a configuração de perímetros de serviço.
Leia acerca da gestão de redes VPC em perímetros de serviço.
Leia acerca da concessão de acesso aos VPC Service Controls.
Se quiser configurar o acesso externo aos seus serviços protegidos quando criar o seu perímetro, crie um ou mais níveis de acesso antes de criar o perímetro.
Crie um perímetro de serviço
Esta secção descreve como criar um perímetro de serviço, adicionar projetos ou redes VPC ao perímetro e proteger serviços.
Quando cria um perímetro de serviço, pode, opcionalmente, permitir o acesso aos serviços protegidos a partir de fora do perímetro e especificar que serviços são acessíveis a outros serviços e utilizadores dentro do perímetro. Se preferir, pode configurar estas definições depois de criar um perímetro.
Depois de criar um perímetro de serviço ou atualizar um perímetro de serviço existente, pode demorar até 30 minutos para que as alterações se propaguem e entrem em vigor. Durante este período,
o perímetro pode bloquear pedidos com a seguinte mensagem de erro: Error 403: Request is prohibited by organization's policy.
Consola
No menu de navegação da Google Cloud consola, clique em Segurança e, de seguida, clique em VPC Service Controls.
Se lhe for pedido, selecione a sua organização, pasta ou projeto.
Selecione uma política de acesso existente ou crie uma nova política de acesso. Certifique-se de que o âmbito da política de acesso inclui todos os projetos e redes VPC que quer adicionar ao perímetro.
Na página VPC Service Controls, selecione um modo de aplicação do perímetro. Por predefinição, o Modo aplicado está selecionado. Se quiser criar um perímetro de teste de execução, clique em Modo de teste de execução.
Os perímetros aplicados impedem ativamente o acesso a serviços protegidos. Os perímetros de teste registam violações do perímetro como se os serviços estivessem protegidos, mas não impedem o acesso a esses serviços. Para mais informações sobre os modos de execução forçada e de teste, leia acerca dos perímetros de serviço.
Clique em Novo perímetro.
Na página Criar um perímetro de serviço, no campo Título, introduza um nome para o perímetro.
Um nome do perímetro pode ter um comprimento máximo de 50 carateres, tem de começar com uma letra e só pode conter letras latinas ASCII (a-z, A-Z), números (0-9) ou sublinhados (
_
). O nome do perímetro é sensível a maiúsculas e minúsculas e tem de ser exclusivo numa política de acesso.Opcional: no campo Descrição, introduza uma descrição para o perímetro.
Para Tipo de perímetro, selecione Normal.
Para o Modo de aplicação, selecione um modo de aplicação de perímetro. As opções disponíveis são Execução de ensaio e Aplicado.
Clique em Continuar.
Para adicionar projetos ou redes VPC que quer manter seguros dentro do perímetro, faça o seguinte:
Para adicionar projetos ao perímetro, clique em Adicionar projetos.
No painel Adicionar projetos, selecione os projetos que quer proteger.
Clique em Adicionar projetos selecionados. Os projetos adicionados aparecem na secção Projetos.
Para adicionar redes VPC ao perímetro, clique em Adicionar redes.
Na lista de projetos, clique no projeto que contém as redes VPC.
No painel Adicionar redes de VPC, selecione as redes de VPC que quer proteger.
Clique em Adicionar redes selecionadas. As redes adicionadas aparecem na secção Redes VPC.
Clique em Continuar.
Para selecionar os serviços que quer manter seguros dentro do perímetro, faça o seguinte:
No painel Serviços restritos, clique em Adicionar serviços.
No painel Adicionar serviços, selecione os serviços que quer proteger.
Clique em Adicionar serviços selecionados.
Clique em Continuar.
Opcional: se quiser definir que serviços são acessíveis a partir de pontos finais de rede no interior de um perímetro, no painel Serviços acessíveis por VPC, selecione uma das opções disponíveis:
Todos os serviços: esta opção permite todos os Google Cloud serviços.
Nenhum serviço: esta opção não permite nenhum dos Google Cloud serviços.
Todos os serviços restritos: esta opção permite apenas os Google Cloud serviços que protegeu neste perímetro.
Serviços selecionados: esta opção permite apenas os Google Cloud serviços que selecionou.
Clique em Adicionar serviços.
No painel Adicionar serviços, selecione os serviços que quer permitir.
Clique em Adicionar serviços selecionados.
Para incluir adicionalmente todos os serviços restritos que o perímetro protege nos serviços selecionados, clique no botão Incluir todos os serviços restritos para o ativar.
Clique em Continuar.
Também pode adicionar serviços acessíveis depois de criar um perímetro.
Para mais informações, consulte o artigo Serviços acessíveis da VPC.
Opcional: para permitir o acesso a recursos protegidos a partir do exterior do perímetro através de níveis de acesso, faça o seguinte:
No painel Níveis de acesso, clique em Adicionar níveis de acesso.
Também pode adicionar níveis de acesso depois de criar um perímetro.
Selecione as caixas de verificação correspondentes aos níveis de acesso que quer aplicar ao perímetro.
Clique em Adicionar níveis de acesso selecionados.
Clique em Continuar.
Para permitir o acesso a recursos dentro de um perímetro a partir de clientes de API fora do perímetro, faça o seguinte:
No painel Regras de entrada, clique em Adicionar uma regra de entrada.
No campo Título, introduza um título para a regra de entrada.
Na secção De, especifique as origens fora do perímetro que requerem acesso. Pode especificar projetos, níveis de acesso e redes VPC como origens.
Na secção Para, especifique os recursos dentro do perímetro aos quais as fontes podem aceder.
Clique em Continuar.
Para ver a lista de atributos de regras de entrada, consulte o artigo Referência de regras de entrada.
Para permitir o acesso que envolve um cliente da API ou recursos dentro do perímetro a recursos fora de um perímetro, faça o seguinte:
No painel Regras de saída, clique em Adicionar uma regra de saída.
No campo Título, introduza um título para a regra de saída.
Na secção De, especifique as origens no perímetro que requerem acesso.
Na secção Para, especifique os recursos fora do perímetro aos quais as fontes podem aceder.
Para ver a lista de atributos das regras de saída, consulte o artigo Referência das regras de saída.
Clique em Criar.
gcloud
Para criar um novo perímetro no modo aplicado, use o comando gcloud access-context-manager perimeters create
.
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED-SERVICES \ --ingress-policies=INGRESS-FILENAME.yaml \ --egress-policies=EGRESS-FILENAME.yaml \ [--access-levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Para criar um novo perímetro no modo de teste, use o comando gcloud access-context-manager perimeters dry-run create
.
gcloud access-context-manager perimeters dry-run create NAME \ --perimeter-title=TITLE \ --perimeter-type=TYPE \ --perimeter-resources=RESOURCES \ --perimeter-restricted-services=RESTRICTED-SERVICES \ --perimeter-ingress-policies=INGRESS-FILENAME.yaml \ --perimeter-egress-policies=EGRESS-FILENAME.yaml \ [--perimeter-access-levels=LEVELS] \ [--perimeter-enable-vpc-accessible-services] \ [--perimeter-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Substitua o seguinte:
NAME é o nome do perímetro.
Um nome do perímetro pode ter um comprimento máximo de 50 carateres, tem de começar com uma letra e só pode conter letras latinas ASCII (a-z, A-Z), números (0-9) ou sublinhados (
_
). O nome do perímetro é sensível a maiúsculas e minúsculas e tem de ser exclusivo numa política de acesso.TITLE é o título legível do perímetro.
TYPE é o tipo de perímetro. Por exemplo, um perímetro "normal" ou um perímetro "ponte".
RESOURCES é uma lista separada por vírgulas de um ou mais números de projetos ou nomes de redes VPC. Por exemplo:
projects/12345
ou//compute.googleapis.com/projects/my-project/global/networks/vpc1
. Apenas são permitidos projetos e redes de VPC. Formato do projeto:projects/project_number
. Formato de VPC://compute.googleapis.com/projects/project-id/global/networks/network_name
. Se especificar projetos, apenas são suportados números de projetos. Não pode usar o nome nem o ID do projeto.RESTRICTED-SERVICES é uma lista separada por vírgulas de um ou mais serviços. Por exemplo:
storage.googleapis.com
oustorage.googleapis.com,bigquery.googleapis.com
.INGRESS-FILENAME é um ficheiro JSON ou YAML que contém os valores dos atributos de origem, identidade, projeto e serviço. Para ver a lista de atributos de regras de entrada, consulte a Referência de regras de entrada.
EGRESS-FILENAME é um ficheiro JSON ou YAML que contém os valores dos atributos de identidade, projeto e serviço. Para ver a lista de atributos das regras de saída, consulte a referência das regras de saída.
POLICY_NAME é o nome numérico da política de acesso da sua organização. Por exemplo,
330193482019
. Só precisa de incluir o nome da política se não tiver definido uma política de acesso predefinida.
Opções adicionais:
--access-levels
ou--perimeter-access-levels
só é necessário se quiser adicionar níveis de acesso quando criar o perímetro. LEVELS é uma lista separada por vírgulas de um ou mais níveis de acesso que quer aplicar ao perímetro de serviço.Também pode adicionar níveis de acesso depois de criar o perímetro.
--enable-vpc-accessible-services
e--vpc-allowed-services
, ou--perimeter-enable-vpc-accessible-services
e--perimeter-vpc-allowed-services
, são necessários apenas se quiser adicionar serviços acessíveis através da VPC quando criar o perímetro. ACCESSIBLE-SERVICES é uma lista separada por vírgulas de um ou mais serviços aos quais quer permitir que as redes no interior do seu perímetro acedam. O acesso a quaisquer serviços que não estejam incluídos nesta lista é impedido.Só pode tornar um serviço acessível se também o proteger quando configurar o perímetro.
Para incluir rapidamente todos os serviços protegidos por um perímetro, especifique
RESTRICTED-SERVICES
na lista para ACCESSIBLE-SERVICES. Por exemplo,--perimeter-vpc-allowed-services=RESTRICTED-SERVICES
.Também pode definir serviços acessíveis por VPC depois de criar o perímetro.
Por exemplo, o comando seguinte cria um novo perímetro do modo de teste denominado ProdPerimeter
que inclui os projetos example-project
e example-project2
, e restringe as APIs Cloud Storage e BigQuery.
gcloud access-context-manager perimeters \ dry-run create ProdPerimeter --perimeter-title="Production Perimeter" \ --perimeter-type="regular" \ --perimeter-resources=projects/12345,projects/67890 \ --perimeter-restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --perimeter-ingress-policies=ingress.yaml \ --perimeter-egress-policies=egress.yaml \ --policy=330193482019
API
Para criar um perímetro de serviço, chame o comando
accessPolicies.servicePerimeters.create
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters
Onde:
- POLICY_NAME é o nome numérico da política de acesso da sua organização. Por exemplo,
330193482019
.
Corpo do pedido
O corpo do pedido tem de incluir um recurso ServicePerimeter
que define o perímetro de serviço.
Para o recurso ServicePerimeter
, especifique PERIMETER_TYPE_REGULAR
para
perimeterType
.
Modo de execução de ensaio
O perímetro proposto tem de ser incluído como spec
e useExplicitDryRunSpec
definido como verdadeiro.
Corpo da resposta
Se for bem-sucedido, o corpo da resposta da chamada contém um recurso Operation
que fornece detalhes sobre a operação POST
.
O que se segue?
- Saiba como testar o impacto de um perímetro de serviço através do modo de teste.
- Saiba como gerir os perímetros de serviço existentes.
- Saiba como resolver problemas comuns do VPC Service Controls.
- Conclua este codelab para saber como proteger projetos e os respetivos serviços através dos VPC Service Controls.
- Saiba como configurar e ver o painel de controlo de violações.