O Google Cloud oferece duas restrições de política da organização para definir a política de destruição da versão principal em uma organização:
constraints/cloudkms.minimumDestroyScheduledDuration
é usado para definir o tamanho mínimo da duração programada para destruição de novas chaves dentro da organização.constraints/cloudkms.disableBeforeDestroy
é usado para exigir que uma versão de chave tenha sido desativada antes que possa ser programada para destruição.
Antes de começar
As instruções nesta página pressupõem que você esteja familiarizado com o uso de restrições e que tenha os recursos e papéis necessários.
Recursos necessários
Antes de concluir as etapas nesta 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
Se quiser ter as permissões necessárias para gerenciar as políticas da organização, peça ao administrador que conceda a você o papel do IAM Administrador de políticas da organização (roles/orgpolicy.policyAdmin
) na organização.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
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
Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.
Exige 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 o
tamanho mínimo da duração programada para destruição de novas chaves. Essa
restrição substitui a duração mínima da programação 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. Você pode definir essa restrição
com um valor mais alto para ajudar a garantir que tenha tempo de evitar a destruição da chave
antes que ela se torne irreversível.
Use valores maiores para essa restrição quando a destruição de chaves indesejadas for mais prejudicial, como para dados de produção sujeitos aos requisitos de retenção de dados. Use valores menores para essa restrição quando a destruição da chave indesejada for menos prejudicial, como em ambientes de desenvolvimento ou teste. Também é possível usar valores menores para permitir uma trituração criptográfica (link em inglês) em tempo hábil. No entanto, como valor mínimo, essa restrição não garante que novas chaves sejam criadas com durações baixas de programa para destruição.
Para exigir uma duração mínima de programação para destruição, siga estas etapas:
Consiga a política atual no recurso da organização usando o comando
describe
: Este comando retorna a política aplicada diretamente a este recurso:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_ID
pelo 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 visualizar a política da organização de uma pasta ou um projeto com as sinalizações
--folder
ou--project
e o ID da pasta ou do ID do projeto, respectivamente.A resposta vai retornar a política da organização atual, se houver uma. O resultado será assim:
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 for definida, o comando
describe
retornará 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.yaml
para armazenar a política:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATION
Substitua:
ORGANIZATION_ID
: o ID numérico da sua organização.MINIMUM_DURATION
: a duração mínima do estado programado para destruição das chaves na organização, em dias. Precisa ser um destes valores:7d
,15d
,30d
,60d
,90d
ou120d
.
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_ID
O resultado será assim:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Como 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.
Exigir que as chaves estejam desativadas antes da destruição
A restrição Restringir a destruição da chave às chaves desativadas
(constraints/cloudkms.disableBeforeDestroy
) permite exigir
que uma chave tenha sido desativada antes de programar a destruição dela.
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 cuidadosa do Identity and Access Management para criar um processo de destruição
de várias etapas que exija a cooperação de vários papéis.
Para usar essa restrição na criação de um processo de destruição em várias etapas, verifique se
nenhum usuário tem as permissões cloudkms.cryptoKeyVersions.update
e
cloudkms.cryptoKeyVersions.destroy
. Esse caso de uso requer
o uso de papéis personalizados.
Para exigir que uma chave esteja no estado desativada antes de programar a destruição dela, siga estas etapas:
gcloud
Consiga a política atual no recurso da organização usando o comando
describe
: Este comando retorna a política aplicada diretamente a este recurso:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_ID
pelo 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 visualizar a política da organização de uma pasta ou um projeto com as sinalizações
--folder
ou--project
e o ID da pasta ou o ID do projeto, respectivamente.A resposta vai retornar a política da organização atual, se houver uma. A resposta será semelhante a:
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 for definida, o comando
describe
retornará 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 já anexada ao recurso.Crie um arquivo temporário
/tmp/policy.yaml
para armazenar a política:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: true
Substitua
ORGANIZATION_ID
pelo 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_ID
O resultado será assim:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: true
Como 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 de chave.
- Destrua e restaure uma versão de chave.