OGoogle 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é usada para limitar quais chaves do Cloud KMS são usadas para proteção com CMEK.
As políticas da organização de CMEK só se aplicam aos recursos recém-criados nos serviços Google Cloud compatíveis.
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 o
papel do IAM de Leitor de políticas da organização (roles/orgpolicy.policyViewer) a cada usuário na 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 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 ver 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 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 que os usuários do console do Google Cloud criem recursos
protegidos por chaves CMEK. Os usuários sem essa permissão podem criar recursos protegidos por CMEK usando o console do Google Cloud , mas podem selecionar uma chave CMEK que não é permitida pela restrição restrictCmekCryptoKeyProjects. Quando uma chave que
não atende a essa restrição é selecionada, a criação do recurso falha.
Exigir proteção de CMEK
Para exigir a proteção de CMEK para sua organização, configure a
política da organização constraints/gcp.restrictNonCmekServices.
Como uma restrição de lista, os valores aceitos para essa restrição são nomes de serviço do Google Cloud(por exemplo, bigquery.googleapis.com). Use essa restrição
fornecendo uma lista de nomes de serviço do Google Cloud 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 dos recursos nesses serviços. Essa restrição
só pode ser aplicada a serviços compatíveis.
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 compatíveis.
Serviços compatíveis
| Serviço | Valor da restrição ao exigir CMEK |
|---|---|
| Agent Assist | dialogflow.googleapis.com |
| Agent Search | discoveryengine.googleapis.com |
| AlloyDB para PostgreSQL | alloydb.googleapis.com |
| Apigee | apigee.googleapis.com |
| Application Integration | integrations.googleapis.com |
| Artifact Registry | artifactregistry.googleapis.com |
| Serviço de backup e DR | backupdr.googleapis.com |
| Backup para GKE | gkebackup.googleapis.com |
| BigQuery | bigquery.googleapis.com |
| Bigtable | bigtable.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 TPU | tpu.googleapis.com |
| Cloud Workstations | workstations.googleapis.com |
| Colab Enterprise | aiplatform.googleapis.com |
| Compute Engine | compute.googleapis.com |
| Customer Experience Insights | contactcenterinsights.googleapis.com |
| Data Studio | datastudio.googleapis.com |
| Database Migration Service | datamigration.googleapis.com |
| Dataflow | dataflow.googleapis.com |
| Dataform | dataform.googleapis.com |
| Datastream | datastream.googleapis.com |
| Dialogflow CX | dialogflow.googleapis.com |
| Document AI | documentai.googleapis.com |
| Eventarc Advanced (pré-lançamento) | eventarc.googleapis.com |
| Eventarc Standard | eventarc.googleapis.com |
| Filestore | file.googleapis.com |
| Firestore | firestore.googleapis.com |
| Gemini Enterprise | discoveryengine.googleapis.com |
| Google Cloud Managed Lustre | lustre.googleapis.com |
| Serviço gerenciado do Google Cloud para Apache Kafka | managedkafka.googleapis.com |
| Google Cloud NetApp Volumes | netapp.googleapis.com |
| Google Cloud Observability (pré-lançamento) | observability.googleapis.com |
| Google Kubernetes Engine (pré-lançamento) | container.googleapis.com |
| Google Security Operations | chronicleservicemanager.googleapis.com |
| Knowledge Catalog | dataplex.googleapis.com |
| Looker (Google Cloud Core) | looker.googleapis.com |
| Serviço gerenciado para Apache Airflow | composer.googleapis.com |
| Serviço Gerenciado para Apache Spark | dataproc.googleapis.com |
| Memorystore for Redis | redis.googleapis.com |
| Memorystore for Redis Cluster | redis.googleapis.com |
| Memorystore for Valkey | memorystore.googleapis.com |
| Gerenciador de parâmetros | parametermanager.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 |
| Pesquisa vetorial | aiplatform.googleapis.com |
| Vertex AI | aiplatform.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 com 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
proteger as credenciais do banco de dados armazenadas no Secret Manager, adicione storagetransfer.googleapis.com e
secretmanager.googleapis.com à restrição
constraints/gcp.restrictNonCmekServices. 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 alterar (quando houver suporte) a chave do Cloud KMS em um recurso atual. Em geral, elas são aplicadas a todos os tipos de recursos de um serviço que aceitam CMEK e se baseiam apenas na configuração do recurso. Algumas exceções importantes estão resumidas aqui:
| Tipo de recurso | Exceção de aplicação |
|---|---|
bigquery.googleapis.com/Dataset |
Aplicada parcialmente na chave padrão do Cloud KMS do conjunto de dados (somente gcp.restrictCmekCryptoKeyProjects)
|
bigquery.googleapis.com/Job |
Somente jobs de consulta: aplicados à 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 de serviço 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é-lançamento) Aplicado na chave do Cloud KMS apenas para o disco de inicialização do nó. Não é aplicado a secrets na camada do aplicativo. |
logging.googleapis.com/LogBucket |
Aplicada 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 |
Aplicada à chave padrão do Cloud KMS do bucket |
storage.googleapis.com/Object |
Aplicada independentemente 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:

Exigir CMEK e limitar chaves para um projeto
Suponha que você queira exigir proteção de CMEK para todos os recursos do Cloud Storage
em projects/5 e garantir que apenas as chaves provenientes de projects/4 possam ser
usadas.
Para exigir a proteção de CMEK em 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 as chaves a uma pasta
Como alternativa, suponha que você queira adicionar mais projetos do Cloud KMS
em folders/2 no futuro e queira exigir a CMEK de maneira mais ampla
em folders/3. Para esse cenário, você precisa de configurações um pouco diferentes.
Para exigir proteção adicional de CMEK 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 dos 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 compatíveis),
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 compatíveis)
Limitações
Se você usar o console do Google Cloud para criar um recurso, talvez perceba que
não é possível usar outras opções de criptografia além da CMEK quando
constraints/gcp.restrictNonCmekServices está 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 de políticas da organização para saber mais sobre os benefícios e os 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.