Cloud de Confiance by S3NS oferece duas restrições de política da organização para definir a política de destruição de versões de chave em uma organização:
constraints/cloudkms.minimumDestroyScheduledDurationé usado para definir um tamanho mínimo para a duração programada para destruição de novas chaves na organização.constraints/cloudkms.disableBeforeDestroyé usado para exigir que uma versão de chave seja desativada antes de ser programada para destruição.
Antes de começar
As instruções nesta página pressupõem que você já sabe como usar restrições e que tem os recursos e papéis necessários.
Recursos necessários
Antes de concluir as etapas desta página, você precisa ter os seguintes recursos:
- Uma organização.
- Opcional: uma pasta ou um recurso de projeto na sua organização.
Funções exigidas
Para receber as permissões necessárias a fim de gerenciar as políticas da organização, peça ao administrador para conceder a você o papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) 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 gerenciar as políticas da organização. Para conferir 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 gerenciar as políticas da organização:
-
orgpolicy.constraints.list -
orgpolicy.policies.create -
orgpolicy.policies.delete -
orgpolicy.policies.list -
orgpolicy.policies.update -
orgpolicy.policy.get -
orgpolicy.policy.set
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Exigir uma duração mínima programada para destruição
A restrição Duração mínima programada de destruição por chave (constraints/cloudkms.minimumDestroyScheduledDuration) é usada para definir um tamanho mínimo para a duração programada para destruição de novas chaves. Essa restrição substitui a duração mínima programada para destruição no nível do projeto, da pasta ou da organização. Essa restrição reduz a chance de destruir acidentalmente uma chave que ainda é necessária. É possível definir essa restrição com um valor maior para garantir que você tenha tempo de impedir a destruição da chave antes que ela se torne irreversível.
Use valores mais altos para essa restrição quando a destruição indesejada de chaves for mais prejudicial, como para dados de produção sujeitos a requisitos de retenção de dados. Use valores mais baixos para essa restrição quando a destruição indesejada de chaves for menos prejudicial, como para ambientes de desenvolvimento ou teste. Também é possível usar valores mais baixos para permitir a destruição criptográfica oportuna. No entanto, como um valor mínimo, essa restrição não pode garantir que novas chaves sejam criadas com durações programadas para destruição baixas.
Para exigir uma duração mínima programada para destruição, siga estas etapas:
Consiga a política atual no recurso da organização usando o comando
describe. Esse comando retorna a política aplicada diretamente a esse recurso:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_IDSubstitua
ORGANIZATION_IDpelo identificador exclusivo do recurso da organização. O ID da organização é formatado como números decimais e não pode ter zeros à esquerda.Também é possível conferir a política da organização para uma pasta ou um projeto com as
--folderou as--projectflags, e o ID da pasta ou ID do projeto, respectivamente.A resposta retorna a política da organização atual, se houver. O resultado será o seguinte:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: etag: COTP+KYGELiCmsoB inheritFromParent: true rules: - values: allowedValues: - in:7d updateTime: '2023-08-17T14:00:04.424051Z'Se uma política não estiver definida, o comando
describeretornará um erroNOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Defina a política no projeto usando o comando
set-policy. Esse comando substitui qualquer política atualmente anexada ao recurso.Crie um arquivo temporário
/tmp/policy.yamlpara armazenar a política:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATIONSubstitua:
ORGANIZATION_ID: o ID numérico da sua organização.MINIMUM_DURATION: a duração mínima do estado programado para destruição para chaves nessa organização, em dias. Precisa ser um dos seguintes valores:7d,15d,30d,60d,90dou120d.
Execute o comando
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Veja a política efetiva atual usando
describe --effective. Esse comando retorna a política da organização conforme é avaliada neste momento na hierarquia de recursos com herança incluída.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_IDO resultado será o seguinte:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120dComo essa política da organização foi definida no nível da organização, ela será herdada por todos os recursos filhos que permitem a herança.
Exigir que as chaves sejam desativadas antes da destruição
A restrição Restringir a destruição de chaves a chaves desativadas (constraints/cloudkms.disableBeforeDestroy) permite exigir que uma chave seja desativada antes de ser programada para destruição.
Desativar uma chave antes de destruí-la é uma prática recomendada porque ajuda a validar se a chave não está em uso. É possível combinar essa restrição com uma política do Identity and Access Management cuidadosa para criar um processo de destruição de várias etapas que exige a cooperação de várias funções.
Para usar essa restrição para criar um processo de destruição de várias etapas, verifique se nenhum usuário tem as permissões cloudkms.cryptoKeyVersions.update e cloudkms.cryptoKeyVersions.destroy. Esse caso de uso exige que
você use funções personalizadas.
Para exigir que uma chave esteja no estado desativado antes de ser programada para destruição, siga estas etapas:
gcloud
Consiga a política atual no recurso da organização usando o comando
describe. Esse comando retorna a política aplicada diretamente a esse recurso:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_IDSubstitua
ORGANIZATION_IDpelo identificador exclusivo do recurso da organização. O ID da organização é formatado como números decimais e não pode ter zeros à esquerda.Também é possível conferir a política da organização para uma pasta ou um projeto com as
--folderou as--projectflags, e o ID da pasta ou o ID do projeto, respectivamente.A resposta retorna a política da organização atual, se houver. O resultado será o seguinte:
name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: etag: CPvY+KYGENDwgxA= rules: - enforce: true updateTime: '2023-08-17T14:19:39.033618Z'Se uma política não estiver definida, o comando
describeretornará um erroNOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Defina a política no projeto usando o comando
set-policy. Esse comando substitui qualquer política que já esteja anexada ao recurso.Crie um arquivo temporário
/tmp/policy.yamlpara armazenar a política:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: trueSubstitua
ORGANIZATION_IDpelo identificador exclusivo do recurso da organização.Execute o comando
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Veja a política efetiva atual usando
describe --effective. Esse comando retorna a política da organização conforme é avaliada neste momento na hierarquia de recursos com herança incluída.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_IDO resultado será o seguinte:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: trueComo essa política da organização foi definida no nível da organização, ela é herdada por todos os recursos filhos que permitem a herança.
A seguir
- Saiba mais sobre os estados da versão da chave.
- Destruir e restaurar uma versão da chave.