O Google Cloud oferece duas restrições de política da organização para ajudar a garantir o uso do 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 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 permissõ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 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 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 os 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 usuários do console do Google Cloud que criam 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 atender a essa restrição for selecionada, a criação de recursos vai falhar.
Exigir proteção de CMEK
Para exigir a proteção do 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 o Google Cloud
nomes de serviço (por exemplo, sqladmin.googleapis.com
). Usar essa 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 nesses
serviços se o recurso não estiver protegido pela 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 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 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.
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 pela CMEK 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 |
---|---|
AlloyDB para PostgreSQL | alloydb.googleapis.com |
Application Integration | integrations.googleapis.com |
Artifact Registry | artifactregistry.googleapis.com |
BigQuery | bigquery.googleapis.com |
Bigtable | bigtable.googleapis.com |
Cloud Composer | composer.googleapis.com |
Cloud Logging | logging.googleapis.com |
Cloud Run | run.googleapis.com |
Funções do Cloud Run | cloudfunctions.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 (pré-lançamento) | container.googleapis.com |
Memorystore para Redis | redis.googleapis.com |
Pub/Sub | pubsub.googleapis.com |
Secret Manager | secretmanager.googleapis.com |
Secure Source Manager | securesourcemanager.googleapis.com |
Spanner | spanner.googleapis.com |
Vertex AI | aiplatform.googleapis.com |
Vertex AI Agent Builder | discoveryengine.googleapis.com |
Instâncias do Vertex AI Workbench | notebooks.googleapis.com |
Políticas da organização de CMEK e o serviço de transferência do Storage
O Serviço de transferência do Cloud Storage não tem uma integração com CMEK, mas pode ser usado
com as políticas da organização para CMEK. Se você usa o Serviço de transferência do Storage e quer
garantir que as credenciais do banco de dados armazenadas no Secret Manager sejam
protegidas pela CMEK, adicione storagetransfer.googleapis.com
e
secretmanager.googleapis.com
à restrição
constraints/gcp.restrictNonCmekServices
. Para mais informações, consulte a documentação do CMEK do Serviço de transferência do Cloud Storage.
Exceções de aplicação por tipo de recurso
As restrições de política da organização do CMEK são aplicadas ao criar um novo recurso ou ao alterar (quando disponível) a chave do Cloud KMS em um recurso existente. 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 |
Somente jobs de consulta: aplicado à 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 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 a buckets de registro criados explicitamente. Consulte também a configuração separada necessária para garantir a conformidade dos buckets de registro 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 a seguinte hierarquia de recursos:
Exigir CMEK e limitar chaves para um projeto
Suponha que você queira exigir proteção 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 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: Negar
- 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 esse cenário, você precisa de configurações
um pouco diferentes.
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: Negar
- 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: Permitir
- 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 CMEK só fica visível quando a
conta do cliente recebe a permissão orgpolicy.policy.get
do IAM
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.