O Google Cloud oferece duas restrições de políticas da organização para definir a versão da chave política de destruição em uma organização:
constraints/cloudkms.minimumDestroyScheduledDuration
é usado para definir um Duração mínima da duração programada para destruição para novas chaves dentro da organização.constraints/cloudkms.disableBeforeDestroy
é usado para exigir que uma chave versão foi desativada antes de poder ser programada para destruição.
Antes de começar
As instruções desta página pressupõem que você já sabe usar restrições e que você tem os recursos e papéis necessários.
Recursos necessários
Antes de concluir as etapas nesta página, você precisa ter o seguinte recursos:
- Uma organização.
- Opcional: um recurso de pasta ou projeto na 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 de programado para destruição
A restrição Duração mínima programada para destruição por chave
(constraints/cloudkms.minimumDestroyScheduledDuration
) é usado para definir um
duração mínima da programação de destruição para novas chaves Essa
restrição substitui a duração mínima de scheduled for destruction no
nível do projeto, da pasta ou da organização. Essa restrição reduz a chance de
acidentalmente uma chave que ainda é necessária. É possível definir essa restrição
a um valor mais alto para garantir que você tenha tempo para evitar a destruição da chave
antes que se torne irreversível.
Use valores mais altos para essa restrição quando a destruição de chaves indesejadas for mais prejudicial, como para dados de produção sujeitos a requisitos de retenção de dados. Use valores menores para esta restrição quando a chave for destruída indesejada seriam menos prejudiciais, por exemplo, para ambientes de desenvolvimento ou teste. Você pode use valores mais baixos para permitir uma trituração criptográfica oportuna. No entanto, como mínimo, essa restrição não pode garantir que novas chaves sejam criadas com programadas para destruição.
Para exigir uma duração mínima de 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 recurso:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_ID
pelo identificador exclusivo do recurso da organização. ID da organização é formatado como números decimais e não pode ter zeros à esquerda.Também é possível ver a política da organização de uma pasta ou projeto com as sinalizações
--folder
ou--project
e o ID da pasta ou ID do projeto, respectivamente.A resposta retorna 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
vai retornar umaNOT_FOUND
. erro: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 para chaves nesta 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 esta política da organização foi definida no nível da organização, ela é herdado por todos os recursos filhos que permitem 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 que você exija
que uma chave seja desativada antes de programar a destruição dela.
Desativar uma chave antes de destruí-la é uma prática recomendada, já que ela
ajuda a validar se a chave não está em uso. É possível combinar essa
restrição com uma política de gerenciamento de identidade e acesso 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 em várias etapas, verifique se
que nenhum usuário tenha a cloudkms.cryptoKeyVersions.update
e as
cloudkms.cryptoKeyVersions.destroy
. Esse caso de uso exige que
Você usa papéis personalizados.
Exigir que uma chave esteja no estado desativada antes que você possa programá-la 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 recurso:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_ID
pelo identificador exclusivo da recurso da organização. ID da organização é formatado como números decimais e não pode ter zeros à esquerda.Também é possível ver a política da organização de uma pasta ou projeto com as sinalizações
--folder
ou--project
e o ID da pasta. ou ID do projeto, respectivamente.A resposta retornará a política atual da organização, 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
vai 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
. Isso substitui qualquer política que já esteja 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.
- Destruir e restaurar uma versão de chave.