Como restringir o uso de recursos

Nesta página, você terá uma visão geral da restrição da política da organização do uso restrito do serviço de recursos, que permite que os administradores corporativos controlem quais serviços do Google Cloud podem ser usados na hierarquia de recursos do Google Cloud. Essa restrição só pode ser aplicada em serviços com recursos que são descendentes diretos de um recurso de organização, pasta ou projeto. Por exemplo, Compute Engine e Cloud Storage.

A restrição Restringir uso de serviço de recursos exclui e não funcionará com determinados serviços que são dependências essenciais para produtos do Google Cloud, como Identity and Access Management (IAM), Cloud Logging e Cloud Monitoring. Para ver a lista de serviços de recursos da nuvem aceitos por essa restrição, consulte Como restringir serviços compatíveis com o uso de recursos.

Os administradores podem usar essa restrição para definir restrições hierárquicas em serviços de recursos permitidos do Google Cloud em um contêiner de recursos, como uma organização, uma pasta ou um projeto. Por exemplo, permita storage.googleapis.com no projeto X ou negue compute.googleapis.com na pasta Y.

A restrição Restringir o uso do serviço de recurso pode ser usada de duas formas mutuamente exclusivas:

  • Lista de bloqueio: recursos de qualquer serviço que não tenha sido negado são permitidos.

  • Lista de permissões: os recursos de qualquer serviço que não seja permitido são negados.

A restrição Restringir o uso do serviço de recurso controla o acesso ao ambiente de execução para todos os recursos no escopo. Quando a política da organização que contém essa restrição é atualizada, ela se aplica imediatamente a todo o acesso a todos os recursos no escopo da política, com consistência posterior.

Recomendamos que os administradores gerenciem cuidadosamente as atualizações nas políticas da organização que contenham essa restrição. É possível lançar essa alteração de política com mais segurança usando tags para aplicar condicionalmente a restrição. Para mais informações, consulte Como configurar uma política da organização com tags.

Quando um serviço é restrito por essa política, alguns serviços do Google Cloud que têm uma dependência direta do serviço restrito também serão restritos. Isso só é válido para serviços que gerenciam os mesmos recursos do cliente. Por exemplo, o Google Kubernetes Engine (GKE) depende do Compute Engine. Quando o Compute Engine está restrito, o GKE também é.

Como usar a restrição "Restringir o uso do serviço de recurso"

As restrições da política da organização podem ser definidas no nível da organização, da pasta e do projeto. Cada política se aplica a todos os recursos na hierarquia correspondente, mas pode ser substituída em níveis mais baixos na hierarquia de recursos.

Para mais informações sobre avaliação de política, consulte Noções básicas sobre avaliação de hierarquia.

Como definir a política da organização

Para definir, alterar ou excluir uma política da organização, você precisa ter o papel Administrador da Política da organização.

Console

Para definir uma política da organização que inclua uma restrição Restringir o uso do serviço de recurso, faça o seguinte:

  1. No console do Google Cloud, acesse a página Políticas da organização.

    Acessar as políticas da organização

  2. No seletor de projeto, escolha o recurso em que você quer definir a política da organização.

  3. Na tabela de políticas da organização, selecione Restringir o uso do serviço de recurso.

  4. Clique em Gerenciar política.

  5. Em Aplicável a, selecione Substituir a política do editor principal.

  6. Em Aplicação da política, escolha como aplicar a herança a essa política.

    1. Se você quiser herdar a política da organização do recurso pai e mesclá-lo com este, selecione Mesclar com pai.

    2. Se você quiser modificar as políticas da organização existentes, selecione Substituir.

  7. Clique em Adicionar uma regra.

  8. Em Valores da política, selecione Personalizada.

  9. Em Tipo de política, selecione Negar para a lista de proibições ou Permitir para a lista de permissões.

  10. Em Valores personalizados, adicione o serviço que você quer bloquear ou permitir à lista.

    1. Por exemplo, para bloquear o Cloud Storage, insira storage.googleapis.com.

    2. Para adicionar mais serviços, clique em Adicionar valor.

  11. Para aplicar a política, clique em Definir política.

gcloud

As políticas da organização podem ser definidas com a Google Cloud CLI. Para aplicar uma política da organização que inclua a restrição Restringir o uso do serviço de recursos, primeiro crie um arquivo YAML com a política a ser atualizada:

name: organizations/ORGANIZATION_ID/policies/gcp.restrictServiceUsage
spec:
   rules:
   - values:
       deniedValues:
       - file.googleapis.com
       - bigquery.googleapis.com
       - storage.googleapis.com

Substitua ORGANIZATION_ID pelo ID do recurso da organização. Para definir essa política em um recurso, execute o seguinte comando:

gcloud beta resource-manager org-policies set-policy \
  --project='PROJECT_ID' /tmp/policy.yaml

Substitua PROJECT_ID pelo ID do projeto do recurso em que você quer aplicar essa política da organização.

Para saber mais sobre o uso de restrições nas políticas da organização, consulte Usando restrições.

Como restringir recursos sem tag

Use tags e políticas condicionais da organização para restringir todos os recursos que não usam uma tag específica. Se você definir uma política da organização em um recurso que restringe serviços e torná-lo condicional à presença de uma tag, nenhum recurso filho desse recurso poderá ser usado, a menos que tenham sido marcados. Dessa forma, os recursos precisam ser configurados de acordo com seu plano de governança antes de serem usados.

Para restringir recursos de organização, pasta ou projeto sem tag, use o operador lógico ! em uma consulta condicional ao criar sua política da organização.

Por exemplo, para permitir o uso de sqladmin.googleapis.com somente em projetos que tenham a tag sqladmin=enabled, crie uma política da organização que nega sqladmin.googleapis.com em projetos que não têm a tag sqladmin=enabled.

  1. Crie uma tag que identifique se os recursos foram corretamente aplicados. Por exemplo, é possível criar uma tag com a chave sqlAdmin e o valor enabled para designar que esse recurso permite o uso da API Cloud SQL Admin. Exemplo:

    Como criar uma chave e um valor de tag

  2. Clique no nome da tag recém-criada. Nas próximas etapas para criar uma condição, você precisará do nome com namespace da chave de tag, listado em Caminho da chave da tag.

  3. Crie uma política da organização Restringir o uso do serviço de recursos no nível do recurso da sua organização para negar acesso à API Cloud SQL Admin. Exemplo:

    Como criar uma política da organização para restringir recursos

  4. Adicione uma condição à política da organização acima, especificando que a política será aplicada se a tag de governança não estiver presente. O operador lógico NOT não é compatível com o criador de condições. Por isso, essa condição precisa ser integrada no editor de condições. Exemplo:

    Como criar uma política condicional da organização

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

Agora, a tag sqlAdmin=enabled precisa ser anexada ou herdada por um projeto, antes que os desenvolvedores possam usar a API Cloud SQL Admin com esse projeto.

Para mais informações sobre como criar políticas condicionais da organização, consulte Como definir uma política da organização com tags.

Criar uma política da organização no modo de teste

Uma política da organização no modo de teste é um tipo de política em que as violações da política são registradas, mas as ações violadas não são negadas. Você pode criar uma política da organização no modo de teste usando a restrição Restringir o uso do serviço de recursos para monitorar como isso afetaria sua organização antes de aplicar a política ativa. Para mais informações, consulte Criar uma política da organização no modo de teste.

Mensagem de erro

Se você definir uma política da organização para negar o serviço A na hierarquia do recurso B, quando um cliente tentar usar o serviço A na hierarquia do recurso B, a operação falhará. Um erro é retornado descrevendo o motivo dessa falha. Além disso, uma entrada AuditLog é gerada para monitoramento, alerta ou depuração.

Exemplo de mensagem de erro

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Exemplo de registros de auditoria do Cloud

Captura de tela do exemplo do registro de auditoria