Políticas da organização de CMEK

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

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

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

Funções exigidas

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

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

Permissões necessárias

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

  • Para conferir detalhes completos 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 essas permissões a cada usuário com papéis personalizados ou outros papéis predefinidos.

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

Exigir proteção de CMEK

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

Como uma restrição de lista, os valores aceitos para essa restrição são Google Cloud nomes de serviço (por exemplo, bigquery.googleapis.com). Use essa restrição fornecendo uma lista de Google Cloud nomes de serviço e definindo a restrição como Negar. Essa configuração bloqueia a criação de recursos nesses serviços se o recurso não estiver protegido por CMEK. Em outras palavras, as solicitações para criar um recurso no serviço não são bem-sucedidas sem especificar uma chave do Cloud KMS. Além disso, essa restrição bloqueia a remoção da proteção de CMEK de recursos nesses serviços. Essa restrição só pode ser aplicada a 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 por CMEK, configure a restrição constraints/gcp.restrictCmekCryptoKeyProjects.

Como uma restrição de lista, os valores aceitos são indicadores de hierarquia de recursos (por exemplo, projects/PROJECT_ID, under:folders/FOLDER_ID, e under:organizations/ORGANIZATION_ID). Use essa restrição configurando uma lista de indicadores de hierarquia de recursos e definindo a restrição como Permitir. Essa configuração restringe os serviços compatíveis para que as chaves CMEK possam ser selecionadas apenas pela lista de projetos, pastas e organizações. As solicitações para criar recursos protegidos por CMEK em serviços configurados não funcionam sem uma chave do Cloud KMS de um dos recursos permitidos. Quando configurada, essa restrição se aplica a todos os serviços com suporte.

Serviços compatíveis

Serviço Valor da restrição ao exigir CMEK
Agent Assist dialogflow.googleapis.com
AlloyDB para PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
Backup para GKE gkebackup.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Data Fusion datafusion.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud Run functions cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Tasks cloudtasks.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Insights de conversação contactcenterinsights.googleapis.com
Dataflow dataflow.googleapis.com
Dataform dataform.googleapis.com
Dataplex Universal Catalog dataplex.googleapis.com
Dataproc dataproc.googleapis.com
Dialogflow CX dialogflow.googleapis.com
Document AI documentai.googleapis.com
Eventarc Advanced (visualização) eventarc.googleapis.com
Eventarc Standard eventarc.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Gemini Enterprise discoveryengine.googleapis.com
Google Cloud NetApp Volumes netapp.googleapis.com
Google Kubernetes Engine (visualização) container.googleapis.com
Looker (Google Cloud Core) looker.googleapis.com
Memorystore para Redis redis.googleapis.com
Memorystore para Redis Cluster redis.googleapis.com
Memorystore for Valkey memorystore.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Security Command Center securitycenter.googleapis.com
Spanner spanner.googleapis.com
Speech-to-Text speech.googleapis.com
Vertex AI aiplatform.googleapis.com
Vertex AI para Pesquisa discoveryengine.googleapis.com
Instâncias do Vertex AI Workbench notebooks.googleapis.com

Políticas da organização de CMEK e Serviço de transferência do Cloud Storage

O Serviço de transferência do Cloud Storage não tem uma integração de CMEK, mas pode ser usado com políticas da organização de CMEK. Se você usa o Serviço de transferência do Cloud Storage e quer usar a CMEK para ajudar a proteger as credenciais do banco de dados armazenadas no Secret Manager, você precisa adicionar storagetransfer.googleapis.com e secretmanager.googleapis.com àconstraints/gcp.restrictNonCmekServices restrição. Para mais informações, consulte a documentação da CMEK do Serviço de transferência do Cloud Storage.

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 mudar (quando compatível) a chave do Cloud KMS em um recurso existente. Geralmente, elas são aplicadas a todos os tipos de recursos de um serviço que oferecem suporte a CMEK e com base apenas na configuração do recurso. Algumas exceções notáveis são resumidas aqui:

Tipo de recurso Exceção de aplicação
bigquery.googleapis.com/Dataset Parcialmente aplicado na chave padrão do Cloud KMS do conjunto de dados (gcp.restrictCmekCryptoKeyProjects somente)
bigquery.googleapis.com/Job Somente jobs de consulta: aplicado na chave do Cloud KMS fornecida com a consulta ou padrão do projeto de faturamento. Consulte também a configuração separada da chave padrão do Cloud KMS do projeto.
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 de política da organização de CMEK.
container.googleapis.com/Cluster (Visualização) Aplicado apenas na chave do Cloud KMS para o disco de inicialização do nó. Não aplicado a secrets na camada de aplicativo.
logging.googleapis.com/LogBucket Aplicado em buckets de registros criados explicitamente. Consulte também a configuração separada necessária para garantir a conformidade dos buckets de registros integrados.
storage.googleapis.com/Bucket Aplicado na chave padrão do Cloud KMS do bucket
storage.googleapis.com/Object Aplicado de forma independente do bucket. Consulte também a configuração separada da chave padrão do Cloud KMS do bucket.

Exemplos de configuração

Nos exemplos de configuração, suponha que a organização de amostra tenha a 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 as chaves de projects/4 possam ser usadas.

Para exigir a proteção de CMEK para todos os novos recursos do Cloud Storage, use a 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: negar
  • Valor da política: storage.googleapis.com

Para garantir que apenas as 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: permitir
  • Valor da política: projects/4

Exigir CMEK e limitar chaves a uma pasta

Como alternativa, suponha que você espere adicionar outros projetos do Cloud KMS em folders/2 no futuro e queira exigir a CMEK de forma mais ampla em folders/3. Para esse cenário, você precisa de configurações um pouco diferentes.

Para exigir proteção de CMEK adicional para novos recursos do Cloud SQL e do Cloud Storage em qualquer lugar em folders/3:

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

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

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

Exigir CMEK para uma organização

Para exigir CMEK em toda a organização (em 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: negar
  • Valores da política: (todos os serviços com suporte)

Limitações

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

A seguir

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

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