Como gerenciar perímetros de serviço

Esta página descreve como gerenciar os perímetros de serviço no VPC Service Controls. Consulte os detalhes sobre a criação de novos perímetros de serviço em Como criar perímetros de serviço.

Esta página inclui as seguintes seções:

Antes de começar

Listar e descrever perímetros de serviço

Liste todos os perímetros de serviço em uma organização:

Console

  1. No menu de navegação do Console do Google Cloud, clique em Segurança e em VPC Service Controls.

    Acessar a página "VPC Service Controls"

  2. Na página VPC Service Controls, na tabela, clique no nome do perímetro de serviço que você quer visualizar.

gcloud

Para listar os perímetros de serviço da sua organização, use o comando list:

gcloud access-context-manager perimeters list \
  [--policy=POLICY_NAME]

Em que:

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Você deve ver uma lista dos perímetros de sua organização. Por exemplo:

NAME           TITLE
ProdPerimeter  Production Perimeter

Para visualizar detalhes sobre um perímetro de serviço, use o comando describe:

gcloud access-context-manager perimeters \
  describe PERIMETER_NAME \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço com os detalhes que você quer conhecer.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Você deve ver os detalhes sobre o perímetro. Por exemplo:

accessLevels:
- accessPolicies/626111171578/accessLevels/corpAccess
resources:
- projects/111584792408
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
title: Production Perimeter

Listar perímetros de serviço (formatados)

A ferramenta de linha de comando gcloud permite conseguir uma lista dos perímetros de serviço nos formatos YAML ou JSON.

Para ver uma lista formatada de perímetros, use o comando list.

gcloud access-context-manager perimeters list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

Em que:

  • FORMAT é um dos seguintes valores:

    • list (formato YAML)

    • json (formato JSON)

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

A saída YAML será similar a esta:

- name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- name: accessPolicies/165717541651/servicePerimeters/Private
  spec: {'resources': ['projects/136109111311'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com', 'logging.googleapis.com']}
  status: {'resources': ['projects/136109111311', 'projects/401921913171'], 'restrictedServices': ['bigquery.googleapis.com']}
  title: Private
  useExplicitDryRunSpec: True
- name: accessPolicies/165717541651/servicePerimeters/OnpremBridge
  perimeterType: PERIMETER_TYPE_BRIDGE
  status: {'resources': ['projects/167410821371']}
  title: OnpremBridge

A saída JSON será similar a esta:

[
  {
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/Private",
    "spec": {
      "resources": [
        "projects/136109111311"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com",
        "logging.googleapis.com"
      ]
    },
    "status": {
      "resources": [
        "projects/136109111311",
        "projects/401921913171"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com"
      ]
    },
    "title": "Private",
    "useExplicitDryRunSpec": true
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

Como atualizar um perímetro de serviço

É possível adicionar novos projetos do Google Cloud ou removê-los de um perímetro de serviço. É possível alterar a lista de serviços restritos do Google Cloud. e alterar o Título e a Descrição de um perímetro de serviço. Para fazer isso, você precisa fornecer a lista completa de recursos.

Nesta seção, descrevemos como atualizar os perímetros de serviço individuais. Para atualizar todos os perímetros de serviço da sua organização em uma operação, consulte Como fazer alterações em massa nos perímetros de serviço.

Depois de atualizar um perímetro de serviço, pode levar até 30 minutos para que as alterações sejam propagadas e entrem em vigor.

Console

  1. No menu de navegação do Console do Google Cloud, clique em Segurança e em VPC Service Controls.

    Acessar a página "VPC Service Controls"

  2. Na página VPC Service Controls, na tabela, clique no nome do perímetro de serviço que você quer modificar.

  3. Na página Editar perímetro de serviço da VPC, atualize o perímetro de serviço.

  4. Clique em Salvar.

gcloud

Para adicionar novos projetos a um perímetro, use o comando update e especifique os recursos a serem adicionados:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-resources=PROJECTS \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço com os detalhes que você quer conhecer.

  • PROJECTS é uma lista delimitada por vírgulas de um ou mais IDs de projeto. Por exemplo, projects/100712 ou projects/100712,projects/233130.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Para atualizar a lista de serviços restritos, use o comando update e especifique os serviços a serem adicionados como uma lista delimitada por vírgulas:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço com os detalhes que você quer conhecer.

  • SERVICES é uma lista delimitada por vírgulas de um ou mais serviços. Por exemplo, storage.googleapis.com ou storage.googleapis.com,bigquery.googleapis.com.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Como adicionar um nível de acesso a um perímetro atual

Depois de criar um nível de acesso, será possível aplicá-lo a um perímetro de serviço para controlar o acesso.

Depois de atualizar um perímetro de serviço, pode levar até 30 minutos para que as alterações sejam propagadas e entrem em vigor.

Console

  1. No menu de navegação do Console do Google Cloud, clique em Segurança e em VPC Service Controls.

    Acessar a página "VPC Service Controls"

  2. Na página VPC Service Controls, na tabela, clique no nome do perímetro de serviço que você quer modificar.

  3. Na página Editar perímetro de serviço da VPC, clique na caixa Escolher nível de acesso.

  4. Marque as caixas de seleção correspondentes aos níveis de acesso que você quer aplicar ao perímetro de serviço.

  5. Clique em Salvar.

gcloud

Para adicionar um nível de acesso a um perímetro de serviço existente, use o comando update:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • LEVEL_NAME é o nome do nível de acesso que você quer adicionar ao perímetro.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Como excluir um perímetro de serviço

Quando você exclui um perímetro de serviço, os controles de segurança associados ao perímetro não se aplicam mais aos projetos associados do Google Cloud. Não há outro impacto nos projetos membros do Google Cloud ou nos recursos associados.

Console

  1. No menu de navegação do Console do Google Cloud, clique em Segurança e em VPC Service Controls.

    Acessar a página "VPC Service Controls"

  2. Na página VPC Service Controls, na linha da tabela do perímetro que você quer excluir, clique no botão .

gcloud

Para excluir um perímetro de serviço, use o comando delete:

gcloud access-context-manager perimeters delete PERIMETER_NAME \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Limitar o acesso a serviços dentro de um perímetro com serviços acessíveis por VPC

Nesta seção, descrevemos como ativar, adicionar, remover e desativar serviços acessíveis de VPC.

O recurso de serviços acessíveis à VPC é usado para limitar o conjunto de serviços acessíveis a partir de endpoints da rede dentro do perímetro de serviço. Os serviços acessíveis por VPC só podem ser adicionados a perímetros de serviço, não a pontes do perímetro.

Para saber mais sobre o recurso de serviços acessíveis de VPC, leia sobre serviços acessíveis de VPC.

Ativar serviços acessíveis por VPC

Para ativar serviços acessíveis por VPC para o perímetro de serviço, use o seguinte comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • SERVICES é uma lista separada por vírgulas de um ou mais serviços com uma permissão de acesso que você quer conceder às redes que estão dentro do perímetro. É impedido o acesso a qualquer serviço não incluído nessa lista.

    Para incluir rapidamente os serviços protegidos pelo perímetro, adicione RESTRICTED-SERVICES à lista de SERVICES. É possível incluir outros serviços além de RESTRICTED-SERVICES.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Por exemplo, se quiser que as redes VPC em seu perímetro tenham acesso apenas aos serviços do Logging e do Cloud Storage, use o seguinte comando:

gcloud access-context-manager perimeters update example_perimeter \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,logging.googleapis.com,storage.googleapis.com \
  --policy=11271009391

Adicionar um serviço aos serviços acessíveis por VPC

Para adicionar outros serviços aos serviços acessíveis por VPC do seu perímetro, use o seguinte comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • SERVICES é uma lista separada por vírgulas de um ou mais serviços com uma permissão de acesso que você quer conceder às redes que estão dentro do perímetro.

    Para incluir rapidamente os serviços protegidos pelo perímetro, adicione RESTRICTED-SERVICES à lista de SERVICES. É possível incluir serviços separados, além de RESTRICTED-SERVICES.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Por exemplo, se você já tiver ativado os serviços acessíveis por VPC e quiser que as redes VPC no perímetro também tenham acesso ao serviço Pub/Sub, use o seguinte comando:

gcloud access-context-manager perimeters update example_perimeter \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,pubsub.googleapis.com \
  --policy=11271009391

Remover um serviço dos serviços acessíveis por VPC

Para remover serviços dos serviços acessíveis por VPC para seu perímetro de serviço, use o seguinte comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • SERVICES é uma lista separada por vírgulas de um ou mais serviços que você quer remover da lista de serviços que as redes dentro do seu perímetro de serviço têm permissão de acesso.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Por exemplo, se você já tiver ativado os serviços acessíveis por VPC e não quiser mais que as redes VPC no perímetro tenham acesso ao serviço do Cloud Storage, use o seguinte comando:

gcloud access-context-manager perimeters update example_perimeter \
  --remove-vpc-allowed-services=storage.googleapis.com \
  --policy=11271009391

Desativar serviços acessíveis por VPC

Para desativar as restrições de serviço da VPC para o perímetro de serviço, use o seguinte comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_NAME]

Em que:

  • PERIMETER_NAME é o nome do perímetro de serviço.

  • POLICY_NAME é o nome da política de acesso da organização. Esse valor é necessário somente se você não tiver definido uma política de acesso padrão.

Por exemplo, para desativar as restrições de serviço da VPC para example_perimeter, use o seguinte comando:

gcloud access-context-manager perimeters update example_perimeter \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  --policy=11271009391

Serviços acessíveis por VPC e a API Access Context Manager

A API Access Context Manager também pode ser usada para gerenciar serviços acessíveis por VPC. Ao criar ou modificar um perímetro de serviço, use o objeto ServicePerimeterConfig no corpo da resposta para configurar os serviços acessíveis por VPC.