Como restringir o uso de recursos

Nesta página, você terá uma visão geral da restrição de política da organização Restringir o uso 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 o uso do serviço de recursos exclui e não funciona com determinados serviços que são dependências essenciais para os 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 compatíveis com 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 é aplicada 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 dependência direta do serviço restrito também são restritos. Isso é válido apenas para serviços que gerenciam os mesmos recursos de clientes. Por exemplo, o Google Kubernetes Engine (GKE) depende do Compute Engine. Quando o Compute Engine está restrito, o GKE também fica restrito.

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 dentro da 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. Acesse a página "Políticas da organização" no Console do Google Cloud.

Acessar as políticas da organização

  1. No seletor de projetos, na parte superior da tela, escolha o recurso para o qual você quer definir a política.

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

  3. Clique em Editar.

  4. Em É aplicável a, selecione Personalizar.

  5. 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.

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

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

  8. 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 Novo valor da política.

    Como inserir valores de serviço na lista negada

  9. No lado direito da página, revise o resumo da política.

  10. Para aplicar a política, clique em Salvar.

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 tags

Use tags e políticas condicionais da organização para restringir todos os recursos que não estejam usando uma tag específica. Se você definir uma política da organização em um recurso que restrinja serviços e torná-la condicional à presença de uma tag, nenhum recurso filho desse recurso poderá ser usado, a menos que tenha sido marcado. 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 tags, use o operador lógico ! em uma consulta condicional ao criar a política da organização.

Por exemplo, para permitir o uso de sqladmin.googleapis.com apenas 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 tiveram a governança adequada aplicada. Por exemplo, crie 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 um valor e uma chave de tag

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

  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. Portanto, 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 de simulação

Uma política da organização de simulação é um tipo de política em que as violações da política são registradas, mas as ações com violações não são negadas. É possível criar uma política da organização de simulação usando a restrição Restringir o uso do serviço de recursos para monitorar como isso afetaria a organização antes de aplicar a política ativa. Para mais informações, consulte Criar uma política da organização de simulação.

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