Aplicar uma política da organização de CMEK

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 proteção CMEK.
  • O constraints/gcp.restrictCmekCryptoKeyProjects é usado para limitar quais chaves do Filestore são usadas para a proteção CMEK.

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

Para uma explicação mais detalhada de como isso funciona, consulte Hierarquia de recursos do Google Cloud e Políticas da organização de CMEK.

Controlar o uso de CMEK com a política da organização

O Filestore se integra às restrições da política da organização do CMEK para permitir que você especifique os requisitos de conformidade de criptografia para os recursos do Filestore na sua organização.

Com essa integração, é possível:

As seções a seguir abrangem essas duas tarefas.

Exigir CMEKs para todos os recursos do Filestore

Uma política comum é exigir que as CMEKs sejam usadas para proteger todos os recursos em uma organização. É possível usar a restrição constraints/gcp.restrictNonCmekServices para aplicar essa política no Filestore.

Se definida, essa política da organização faz com que todas as solicitações de criação de recursos sem uma chave especificada do Cloud KMS falhem.

Após definir essa política, ela será aplicada somente a novos recursos no projeto. Os recursos atuais sem as chaves do Cloud KMS definidas continuam existindo e podem ser acessados sem problemas.

Console

  1. Abra a página Políticas da organização.

    Acessar as políticas da organização

  2. No campo Filtro, insira constraints/gcp.restrictNonCmekServices e clique em Restringir quais serviços podem criar recursos sem CMEK.

  3. Clique em Gerenciar política.

  4. Na página Editar política, selecione Substituir a política do editor principal.

  5. Selecione Adicionar uma regra.

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

  7. Em Tipo de política, selecione Negar.

  8. No campo Valores personalizados, insira is:file.googleapis.com.

  9. Clique em Concluído e em Definir política.

gcloud

  1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices
      spec:
        rules:
        - values:
            deniedValues:
            - is:file.googleapis.com
    

    Substitua PROJECT_ID pelo ID do projeto que você quer usar.

  2. Execute o comando org-policies set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
    

Para verificar se a política foi aplicada, tente criar uma instância ou um backup no projeto. O processo falhará a menos que você especifique uma chave do Cloud KMS.

Restringir chaves do Cloud KMS para um projeto do Filestore

É possível usar a restrição constraints/gcp.restrictCmekCryptoKeyProjects para restringir as chaves do Cloud KMS que podem ser usadas para proteger um recurso em um projeto do Filestore.

É possível especificar uma regra, por exemplo, "Para todos os recursos do Filestore em projects/my-company-data-project, as chaves do Cloud KMS usadas nesse projeto precisam vir de projects/my-company-central-keys OU projects/team-specific-keys."

Console

  1. Abra a página Políticas da organização.

    Acessar as políticas da organização

  2. No campo Filtro, insira constraints/gcp.restrictCmekCryptoKeyProjects e clique em Restringir quais projetos podem fornecer CryptoKeys do KMS para CMEK.

  3. Clique em Gerenciar política.

  4. Na página Editar política, selecione Substituir a política do editor principal.

  5. Selecione Adicionar uma regra.

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

  7. Em Tipo de política, selecione Negar.

  8. No campo Valores personalizados, insira o seguinte:

    under:projects/KMS_PROJECT_ID
    

    Substitua KMS_PROJECT_ID pelo ID do projeto em que as chaves do Cloud KMS que você quer usar estão.

    Por exemplo, under:projects/my-kms-project

  9. Clique em Concluído e em Definir política.

gcloud

  1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects
      spec:
        rules:
        - values:
            allowedValues:
            - under:projects/KMS_PROJECT_ID
    

    Em que:

    • PROJECT_ID é o ID do projeto que você quer usar.
    • KMS_PROJECT_ID é o ID do projeto em que as chaves do Cloud KMS que você quer usar estão localizadas.
  2. Execute o comando "org-policies set-policy":

      gcloud org-policies set-policy /tmp/policy.yaml
    

Para verificar se a política foi aplicada, tente criar uma instância ou um backup usando uma chave do Cloud KMS de um projeto diferente. O processo vai falhar.

Limitações

As limitações a seguir se aplicam ao definir uma política da organização.

Disponibilidade da CMEK

Vale lembrar que o suporte a CMEK não está disponível para os níveis de serviço HDD básico e SSD básico. Devido à forma como essas restrições são definidas, se você aplicar uma política da organização que exige o uso da CMEK e tentar criar uma instância de nível básico ou um backup no projeto associado, essas operações de criação vão falhar.

Recursos atuais

Os recursos atuais não estão sujeitos às políticas da organização recém-criadas. Por exemplo, se você criar uma política da organização que exige a especificação de um CMEK para cada operação create, a política não será aplicada retroativamente às instâncias e cadeias de backup atuais. Esses recursos ainda podem ser acessados sem um CMEK. Se você quiser aplicar a política a recursos atuais, sejam instâncias ou cadeias de backup, substitua-os.

Permissões necessárias para definir uma política da organização

Pode ser difícil obter a permissão para definir ou atualizar a política da organização para fins de teste. É necessário receber o papel de administrador da política da organização, que só pode ser concedido no nível da organização.

Embora o papel precise ser concedido no nível da organização, ainda é possível especificar uma política que se aplica apenas a um projeto ou pasta específicos.

Impacto do rodízio de chaves do Cloud KMS

O Filestore não alterna automaticamente a chave de criptografia de um recurso quando a chave do Cloud KMS associada a ele é alternada.

  • Todos os dados em instâncias e backups atuais continuam sendo protegidos pela versão da chave com que foram criados.

  • Todas as instâncias ou backups recém-criados usam a versão da chave primária especificada no momento da criação.

Quando você alterna uma chave, os dados criptografados com versões anteriores não são recriptografados automaticamente. Para criptografar seus dados com a versão mais recente da chave, é necessário descriptografar a versão antiga do recurso e, em seguida, criptografar novamente o mesmo recurso com a nova versão da chave. Além disso, a rotação de uma chave não desativa ou destrói automaticamente nenhuma versão atual.

Para instruções detalhadas sobre como realizar cada uma dessas tarefas, consulte os seguintes guias:

Acesso do Filestore à chave do Cloud KMS

Uma chave do Cloud KMS é considerada disponível e acessível pelo Filestore nas seguintes condições:

  • a chave está ativada
  • A conta de serviço do Filestore tem permissões de criptografia e descriptografia na chave.

A seguir