Por predefinição, o Secure Source Manager encripta o conteúdo do cliente em repouso. O Secure Source Manager processa a encriptação por si sem ações adicionais da sua parte. Esta opção chama-se Encriptação predefinida da Google.
Se quiser controlar as suas chaves de encriptação, pode usar chaves de encriptação geridas pelo cliente (CMEKs) no Cloud KMS com serviços integrados com CMEKs, incluindo o Secure Source Manager. A utilização de chaves do Cloud KMS dá-lhe controlo sobre o respetivo nível de proteção, localização, programação de rotação, utilização, autorizações de acesso e limites criptográficos. A utilização do Cloud KMS também permite monitorizar a utilização das chaves, ver registos de auditoria e controlar os ciclos de vida das chaves. Em vez de a Google possuir e gerir as chaves de encriptação de chaves (KEKs) simétricas que protegem os seus dados, controla e gere estas chaves no Cloud KMS.
Depois de configurar os seus recursos com CMEKs, a experiência de acesso aos recursos do Secure Source Manager é semelhante à utilização da encriptação predefinida da Google. Para mais informações acerca das suas opções de encriptação, consulte o artigo Chaves de encriptação geridas pelo cliente (CMEK).
O Cloud KMS pode ser executado num projeto separado onde gere centralmente as chaves para vários projetos ou no mesmo Google Cloud projeto que o Secure Source Manager. Para suportar a separação de funções e um maior controlo sobre o acesso às chaves, recomendamos que crie e faça a gestão das chaves num projeto separado que não inclua outros Google Cloud recursos.
Atribui uma chave do Cloud KMS quando cria uma instância. Não pode alterar o mecanismo de encriptação de uma instância existente. Se tiver uma instância encriptada com CMEK, não pode alterar o mecanismo de encriptação para a encriptação predefinida da Google nem atribuir uma chave diferente do Cloud Key Management Service para encriptação.
A instância tem de ser criada na mesma localização que a chave do Cloud KMS.
Quando usa CMEK no Secure Source Manager, os seus projetos podem consumir quotas de pedidos criptográficos do Cloud KMS. As instâncias encriptadas com CMEK consomem estas quotas no momento da criação. As operações de encriptação e desencriptação que usam chaves CMEK afetam as quotas do Cloud KMS apenas se usar hardware (Cloud HSM) ou chaves externas (Cloud EKM). Para mais informações, consulte as cotas do Cloud KMS.
Crie uma chave CMEK e conceda autorizações
As instruções seguintes explicam como criar uma chave e conceder as autorizações da conta de serviço do Secure Source Manager na chave.
No Google Cloud projeto onde quer gerir as suas chaves:
Crie um conjunto de chaves e uma chave através de uma das seguintes opções:
- Crie o conjunto de chaves e a chave diretamente no Cloud KMS.
- Use uma chave gerida externamente. Crie a chave externa e, em seguida, crie uma chave do Cloud EKM para disponibilizar a chave através do Cloud KMS.
A localização da chave do Cloud KMS tem de corresponder à localização do projeto onde quer criar a instância do Secure Source Manager.
Se estiver a criar a sua primeira instância do Secure Source Manager no seu projeto, tem de criar manualmente o agente do serviço Secure Source Manager executando o seguinte comando:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECT
Onde
PROJECT
é o ID do projeto do projeto onde vai criar a sua instância do Secure Source Manager.Depois de criar a conta de serviço por produto e por projeto (P4SA), tem de conceder a função de agente do serviço Secure Source Manager (
roles/securesourcemanager.serviceAgent
) ao principal service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, caso contrário, a criação da instância falha.Conceda a função da IAM de encriptador/desencriptador de CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) à conta de serviço do Secure Source Manager. Conceda esta autorização na chave que criou.Consola
Aceda à página Gestão de chaves.
Selecione o conjunto de chaves que quer usar, abra a página Detalhes do conjunto de chaves e, de seguida, selecione a chave que criou.
Conceda acesso à conta de serviço do Secure Source Manager:
- Clique em ADICIONAR PRINCÍPIO.
- Adicione a conta de serviço do Secure Source Manager. A conta de serviço é service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, onde PROJECT-NUMBER é o número do projeto do Google Cloud projeto onde o Secure Source Manager está ativado.
- Em Selecionar uma função, selecione Cloud KMS > Encriptador/desencriptador de CryptoKey do Cloud KMS.
- Clique em GUARDAR.
Repita o passo anterior para conceder acesso à conta que vai criar a instância do Secure Source Manager.
Regresse à página Gestão de chaves, selecione o seu conjunto de chaves e abra a página Detalhes do conjunto de chaves. Em seguida, selecione novamente a chave.
Selecione MOSTRAR PAINEL DE INFORMAÇÕES. Deve ver as funções na coluna Função/Membro.
gcloud
Execute o seguinte comando para conceder acesso à conta de serviço do Secure Source Manager:
gcloud kms keys add-iam-policy-binding [--project=PROJECT] \ KEY_NAME --location LOCATION --keyring=KEY_RING \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua o seguinte:
- PROJECT: o ID do projeto que contém a chave
- KEY_NAME: o nome da chave
- LOCATION: a localização da chave. A localização principal tem de corresponder à localização do projeto onde quer implementar uma instância do Secure Source Manager
- KEY_RING: o nome do conjunto de chaves
- PROJECT_NUMBER: o número do projeto do Google Cloud projeto com o Secure Source Manager ativado
Repita o passo anterior para conceder acesso à conta que vai criar a instância do Secure Source Manager.
Para mais informações sobre este comando, consulte a documentação de gcloud kms keys add-iam-policy-binding.
Remover acesso
Existem várias formas de remover o acesso a um repositório encriptado com CMEK:
- Revogue a função de encriptar/desencriptar do CryptoKey do Cloud KMS da conta de serviço do Secure Source Manager através da Google Cloud consola ou da CLI gcloud.
- Desative temporariamente a chave CMEK.
- Destruir permanentemente a chave CMEK.
Recomendamos que revogue as autorizações da conta de serviço do Secure Source Manager antes de desativar ou destruir uma chave. As alterações às autorizações são consistentes em segundos, pelo que pode observar os impactos da desativação ou destruição de uma chave.
Quando desativa ou destrói a chave de encriptação de uma instância, perde a capacidade de ver ou obter dados da instância. Todos os dados armazenados na instância ficam inacessíveis, incluindo o histórico de código, os pedidos de envio e os problemas.
Os utilizadores com a função de gestor de instâncias do Secure Source Manager ou de proprietário da instância podem eliminar a instância.
Políticas da organização de CMEK
O Secure Source Manager suporta restrições de políticas da organização que podem exigir a proteção CMEK.
As políticas podem limitar as CryptoKeys do Cloud KMS que podem ser usadas para a proteção CMEK.
Quando a API Secure Source Manager está na
Deny
lista de serviços da política de restriçãoconstraints/gcp.restrictNonCmekServices
, o Secure Source Manager recusa-se a criar novas instâncias que não estejam protegidas pela CMEK.Quando o
constraints/gcp.restrictCmekCryptoKeyProjects
está configurado, o Secure Source Manager cria instâncias protegidas por CMEK que estão protegidas por uma CryptoKey de um projeto, uma pasta ou uma organização permitidos.
Para mais informações sobre a configuração de políticas da organização, consulte as políticas da organização de CMEK.
O que se segue?
- Implemente uma instância encriptada com CMEK
- Saiba mais acerca das CMEK
- Saiba mais sobre a encriptação predefinida da Google