Como criar um perímetro de serviço

Nesta página, você verá como criar um perímetro de serviço.

Antes de começar

Como criar um perímetro de serviço

Nesta seção, você verá como criar um perímetro de serviço, incluindo como adicionar projetos e proteger serviços.

Quando você cria um perímetro de serviço, há a opção de permitir o acesso a serviços protegidos de fora do perímetro e especificar quais deles são acessíveis para outros serviços e usuários dentro do perímetro. Se preferir, defina essas configurações depois de criar um perímetro.

Pode levar até 30 minutos para que as alterações sejam propagadas e entrem em vigor após a criação de um perímetro de serviç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. Se necessário, selecione sua organização. Não é possível criar perímetros no nível do projeto.

  3. Na parte superior da página VPC Service Controls, selecione um modo de perímetro. Por padrão, o Modo restrito está selecionado. Se você quiser criar um perímetro de simulação, clique em Modo de teste.

    Perímetros restritos impedem ativamente o acesso a serviços protegidos. Os perímetros de teste registram violações do perímetro como se os serviços fossem protegidos, mas não impedem o acesso a eles. Para mais informações sobre os modos restrito e de teste, veja esta página sobre os perímetros de serviço.

  4. Clique em Novo perímetro.

  5. Na página Novo perímetro de serviço da VPC, digite um nome para o perímetro na caixa Nome do perímetro.

  6. Selecione os projetos que você quer proteger no perímetro:

    1. Em Projetos a serem protegidos, clique em Adicionar projetos.

    2. Na janela Adicionar projetos, marque a caixa de seleção dos projetos para adicioná-los ao perímetro.

    3. Clique em Adicionar n projetos. A letra n é o número de projetos selecionados na etapa anterior.

  7. Selecione os serviços que você quer proteger no perímetro:

    1. Em Serviços a serem protegidos, clique em Adicionar serviços.

    2. Para proteger serviços dentro do perímetro, marque a caixa de seleção deles na janela Especificar serviços a serem restringidos.

    3. Clique em Adicionar n serviços. A letra n é o número de serviços que você selecionou na etapa anterior.

  8. (Opcional) Se você quiser definir quais serviços podem ser acessados dentro de um perímetro (por exemplo, de VMs em uma rede VPC hospedada por um dos projetos selecionados anteriormente), siga estas instruções:

    1. Em Serviços VPC acessíveis, clique em Adicionar serviços restritos da VPC. Será possível tornar os serviços acessíveis apenas se você também protegê-los usando o perímetro.

      Também há a opção de adicionar serviços acessíveis depois da criação de um perímetro.

    2. Na janela Especificar serviços a serem restringidos, marque a caixa de seleção em cada linha correspondente a um serviço que você quer tornar acessível no seu perímetro.

    3. Clique em Adicionar n serviços. A letra n é o número de serviços que você selecionou na etapa anterior.

  9. (Opcional) se você quiser permitir solicitações para serviços protegidos de fora do perímetro, siga estas etapas:

    1. Clique na caixa Escolher nível de acesso.

      Também é possível adicionar níveis de acesso após a criação de um perímetro.

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

  10. Clique no botão Salvar.

gcloud

Para criar um novo perímetro, use o comando create.

gcloud [beta] access-context-manager perimeters [dry-run] create NAME \
  --title=TITLE \
  --resources=PROJECTS \
  --restricted-services=RESTRICTED-SERVICES \
  [--levels=LEVELS] \
  [--enable-vpc-accessible-services] \
  [--add-vpc-allowed-services=ACCESSIBLE-SERVICES] \
  --policy=POLICY_NAME

Em que:

  • beta e dry-run são obrigatórios apenas se você quiser criar o perímetro no modo de teste. Por exemplo: gcloud beta access-context-manager perimeters dry-run create ....

  • NAME é o nome do perímetro.

  • TITLE é o título legível do perímetro.

  • PROJECTS é uma lista separada por vírgulas de um ou mais números de projeto. Por exemplo, projects/12345 ou projects/12345,projects/67890. Apenas números de projeto são aceitos. Não é possível usar o nome ou ID do projeto.

  • RESTRICTED-SERVICES é uma lista separada 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 numérico da política de acesso da sua organização. Por exemplo, 330193482019. Você precisará incluir o nome da política apenas se não tiver definido uma opção de acesso padrão.

Outras opções:

  • --levels será necessário apenas se você quiser adicionar níveis de acesso ao criar o perímetro. LEVELS é uma lista separada por vírgulas de um ou mais níveis de acesso que você quer aplicar ao perímetro de serviço.

    Também é possível adicionar níveis de acesso depois da criação do perímetro.

  • --enable-vpc-accessible-services e --add-vpc-allowed-services são obrigatórios apenas se você quiser adicionar serviços acessíveis da VPC ao criar o perímetro. ACCESSIBLE-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. O acesso a qualquer serviço não incluído nessa lista não será autorizado.

    Será possível tornar um serviço acessível apenas se você também protegê-lo 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, --add-vpc-allowed-services=RESTRICTED-SERVICES.

    Também é possível definir serviços acessíveis da VPC depois da criação do perímetro.

Por exemplo, o comando a seguir cria um novo perímetro chamado ProdPerimeter, que inclui projetos example-project e example-project2, além de restringir as APIs do Cloud Storage e do BigQuery.

gcloud access-context-manager perimeters \
  create ProdPerimeter --title="Production Perimeter" \
  --resources=projects/12345,projects/67890 \
  --restricted-services=storage.googleapis.com,bigquery.googleapis.com \
  --policy=330193482019

API

Para criar um perímetro de serviço, chame accessPolicies.servicePerimeters.create.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters

Em que:

  • POLICY_NAME é o nome numérico da política de acesso da sua organização. Por exemplo, 330193482019.

Corpo da solicitação

O corpo da solicitação precisa incluir um recurso ServicePerimeter que define o perímetro de serviço.

No recurso ServicePerimeter, especifique PERIMETER_TYPE_REGULAR para perimeterType.

Modo de teste

É necessário incluir o perímetro proposto como spec e definir useExplicitDryRunSpec como "verdadeiro".

Corpo da resposta

Caso a chamada seja bem-sucedida, o corpo da resposta incluirá um recurso de Operation que fornece detalhes sobre a operação POST.

A seguir