Políticas da organização de CMEK

O Google Cloud oferece duas restrições de políticas da organização para garantir a CMEK em uma organização:

  • O constraints/gcp.restrictNonCmekServices é usado para exigir a CMEK proteção de dados.
  • constraints/gcp.restrictCmekCryptoKeyProjects é usado para limitar quais As chaves do Cloud KMS são usadas para proteção CMEK.

As políticas da organização de CMEK só se aplicam a recursos recém-criados em serviços do Google Cloud com suporte.

Funções exigidas

Para garantir que cada usuário tenha as informações necessárias permissões para verificar as políticas da organização ao criar recursos; peça ao administrador para conceder a cada usuário Leitor de políticas da organização (roles/orgpolicy.policyViewer) na organização. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para verificar as políticas da organização ao criar recursos. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para verificar as políticas da organização ao criar recursos:

  • Para conferir todos os detalhes da política da organização: orgpolicy.policy.get
  • Para verificar a política da organização ao criar recursos: orgpolicy.policies.check

O administrador também pode conceder a cada usuário estas permissões com papéis personalizados ou e outros papéis predefinidos.

Quando as políticas da organização estão ativas, a permissão orgpolicy.policies.check é necessária para usuários do console do Google Cloud que criam recursos que são protegidos por chaves CMEK. Usuários sem essa permissão podem criar arquivos usando o console do Google Cloud, mas é possível selecionar uma chave CMEK não é permitido pela restrição restrictCmekCryptoKeyProjects. Quando uma chave que não atender a essa restrição for selecionada, a criação de recursos vai falhar.

Exigir proteção CMEK

Para exigir a proteção de CMEKs na sua organização, configure o constraints/gcp.restrictNonCmekServices política da organização.

Como uma restrição de lista, os valores aceitos para essa restrição são o Google Cloud nomes de serviço (por exemplo, sqladmin.googleapis.com). Usar esta restrição até fornecendo uma lista de nomes de serviços do Google Cloud e definindo a restrição como Negar. Essa configuração bloqueia a criação de recursos nestas serviços caso o recurso não esteja protegido pela CMEK. Em Em outras palavras, as solicitações para criar um recurso no serviço não funcionam sem especificando uma chave do Cloud KMS. Além disso, essa restrição bloqueia a remoção da proteção CMEK dos recursos nesses serviços. Essa restrição só podem ser aplicadas aos serviços com suporte.

Limitar o uso de chaves do Cloud KMS para CMEK

Para limitar quais chaves do Cloud KMS são usadas para proteção de CMEKs, configure a restrição constraints/gcp.restrictCmekCryptoKeyProjects.

Como restrição de lista, os valores aceitos são indicadores da hierarquia de recursos (por exemplo, projects/PROJECT_ID, under:folders/FOLDER_ID e under:organizations/ORGANIZATION_ID). Use essa restrição configurando lista de indicadores de hierarquia de recursos e definir a restrição como Permitir. Esta configuração restringe os serviços com suporte para que as chaves CMEK possam ser escolhidas apenas dos projetos, pastas e organizações listados. Solicitações para criar Os recursos protegidos por CMEKs em serviços configurados não funcionam sem uma Chave do Cloud KMS de um dos recursos permitidos. Quando configurado, essa restrição se aplica a todos os serviços com suporte.

Serviços com suporte

Serviço Valor de restrição ao exigir CMEK
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Functions cloudfunctions.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Dataflow dataflow.googleapis.com
Dataproc dataproc.googleapis.com
Document AI documentai.googleapis.com
Filestore file.googleapis.com
Firestore (Prévia) firestore.googleapis.com
Google Kubernetes Engine (em inglês) (Prévia) container.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Spanner spanner.googleapis.com
Vertex AI aiplatform.googleapis.com
Instâncias do Vertex AI Workbench notebooks.googleapis.com

Exceções de aplicação por tipo de recurso

As restrições da política da organização de CMEK são aplicadas ao criar um novo recurso ou ao alterar (quando compatível) a chave do Cloud KMS em uma recurso. Em geral, elas são aplicadas a todos os tipos de recursos de um serviço oferecem suporte a CMEK e com base apenas na configuração do recurso. Algumas notáveis as exceções estão resumidas aqui:

Tipo de recurso Exceção de aplicação
bigquery.googleapis.com/Dataset Parcialmente aplicado na chave do Cloud KMS padrão do conjunto de dados (somente gcp.restrictCmekCryptoKeyProjects)
bigquery.googleapis.com/Job Apenas jobs de consulta: aplicado na chave do Cloud KMS fornecida com a consulta ou o padrão do projeto de faturamento. consulte também a configuração separada do projeto chave padrão do Cloud KMS
bigquerydatatransfer.googleapis.com/TransferConfig As configurações de transferência usam o nome do serviço de transferência de dados (bigquerydatatransfer.googleapis.com) para restrições da política da organização de CMEK.
container.googleapis.com/Cluster (Prévia) Aplicado na chave do Cloud KMS para inicialização de nós somente disco; não são aplicadas a secrets na camada do aplicativo
logging.googleapis.com/LogBucket Aplicado em buckets de registros criados explicitamente. consulte também configurações separadas necessárias para garantir a conformidade dos buckets de registros integrados
storage.googleapis.com/Bucket Aplicada à chave padrão do Cloud KMS do bucket
storage.googleapis.com/Object Aplicadas independentemente do bucket. consulte também configuração da chave padrão do Cloud KMS do bucket

Exemplos de configuração

Nos exemplos de configuração, suponha que a organização de exemplo tenha o seguinte hierarquia de recursos:

Um diagrama de uma hierarquia de recursos da organização

Exigir CMEK e limitar chaves para um projeto

Suponha que você queira exigir a proteção de CMEK para todos os recursos do Cloud Storage em projects/5 e garantir que apenas chaves provenientes de projects/4 possam ser usados.

Para exigir a proteção de CMEKs em todos os novos recursos do Cloud Storage, use o seguinte configuração de política da organização:

  • Política da organização: constraints/gcp.restrictNonCmekServices
  • Vinculação em: projects/5
  • Tipo de política: Deny
  • Valor da política: storage.googleapis.com

Para garantir que apenas chaves de projects/4 sejam usadas, use a seguinte configuração:

  • Política da organização: constraints/gcp.restrictCmekCryptoKeyProjects
  • Vinculação em: projects/5
  • Tipo de política: Allow
  • Valor da política: projects/4

Exigir CMEK e limitar as chaves a uma pasta

Como alternativa, suponha que você queira adicionar mais instâncias do Cloud KMS projetos em folders/2 no futuro e quer exigir CMEK mais amplamente em folders/3. Para este cenário, você precisa de uma personalizadas.

Para exigir mais proteção de CMEKs em novos Cloud SQL e Cloud Storage recursos em qualquer lugar abaixo de folders/3:

  • Política da organização: constraints/gcp.restrictNonCmekServices
  • Vinculação em: folders/3
  • Tipo de política: Deny
  • Valores da política: sqladmin.googleapis.com, storage.googleapis.com

Para garantir que apenas chaves de projetos do Cloud KMS em folders/2 sejam usado:

  • Política da organização: constraints/gcp.restrictCmekCryptoKeyProjects
  • Vinculação em: folders/3
  • Tipo de política: Allow
  • Valor da política: under:folders/2

Exigir CMEK para uma organização

Para exigir a CMEK em toda a organização (nos serviços com suporte), configure a restrição constraints/gcp.restrictNonCmekServices com a seguinte configuração:

  • Política da organização: constraints/gcp.restrictNonCmekServices
  • Vinculação em: organizations/1
  • Tipo de política: Deny
  • Valores da política: (todos os serviços compatíveis)

Limitações

Se você usar o console do Google Cloud para criar um recurso, talvez perceba que não é possível usar opções de criptografia além da CMEK constraints/gcp.restrictNonCmekServices está configurado para um projeto e serviço. A restrição da política da organização de CMEK só é visível quando o a conta do cliente recebeu a permissão de IAM orgpolicy.policy.get no projeto.

A seguir

Consulte Introdução à política da organização Serviço para saber mais sobre os benefícios e casos de uso comuns das políticas da organização.

Para mais exemplos sobre como criar uma política da organização com determinadas restrições, consulte Como usar restrições.