Google Cloud ofrece dos restricciones de políticas de la organización para establecer la versión de clave destrucción de la política en toda una organización:
constraints/cloudkms.minimumDestroyScheduledDuration
se usa para establecer una longitud mínima para la duración de programada para la destrucción de las claves nuevas dentro de la organización.constraints/cloudkms.disableBeforeDestroy
se usa para exigir que una clave versión se inhabilitó antes de que se pueda programar su destrucción.
Antes de comenzar
En las instrucciones de esta página, se presupone que estás familiarizado con el uso restricciones y de que tienes los recursos y roles necesarios.
Recursos necesarios
Antes de completar los pasos de esta página, debes tener los siguientes recursos:
- Una organización.
- Una carpeta o un recurso de proyecto dentro de tu organización (opcional).
Roles obligatorios
Para obtener los permisos que necesitas a fin de administrar las políticas de la organización, pídele a tu administrador que te otorgue el rol de IAM de administrador de políticas de la organización (roles/orgpolicy.policyAdmin
) en la organización.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para administrar las políticas de la organización. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para administrar las políticas de la organización:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Requerir una duración mínima programada para la destrucción
La restricción Duración mínima programada de la destrucción por clave
(constraints/cloudkms.minimumDestroyScheduledDuration
) se usa para establecer un
es la duración mínima de la destrucción programada de las claves nuevas. Esta
anula la duración mínima programada para la destrucción en el
a nivel del proyecto, la carpeta o la organización. Esta restricción reduce la posibilidad de
destruir accidentalmente una clave que aún se necesita. Puedes establecer esta restricción
a un valor más alto para que tenga tiempo de prevenir la destrucción de claves
antes de que se vuelva irreversible.
Usa valores más altos para esta restricción cuando la destrucción no deseada de claves sea más dañina, como en el caso de los datos de producción que están sujetos a requisitos de retención de datos. Usa valores más bajos para esta restricción cuando la destrucción de claves no deseadas sea menos dañina, como en entornos de desarrollo o de pruebas. Puedes Usa valores más bajos para permitir la crypto-shredding oportuna. Sin embargo, como valor mínimo, esta restricción no puede garantizar que las claves nuevas se creen con un valor programadas para su destrucción.
Para exigir una duración mínima de programada para la destrucción, sigue estos pasos:
Obtén la política actual del recurso de la organización con el comando
describe
: Este comando muestra la política aplicada directamente a este recurso:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
Reemplaza
ORGANIZATION_ID
por el identificador único del recurso de la organización. El ID de organización tiene el formato de números decimales y no puede tener ceros a la izquierda.También puedes ver la política de la organización de una carpeta o un proyecto con las marcas
--folder
o--project
, y el ID de la carpeta ID del proyecto, respectivamente.La respuesta muestra la política de la organización actual, si existe una. El resultado es similar a este:
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'
Si no estableces una política, el comando
describe
mostrará unNOT_FOUND
. error:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Configura la política en la organización con el comando
set-policy
. Este comando reemplaza cualquier política conectada actualmente al recurso.Crea un archivo temporal
/tmp/policy.yaml
para almacenar la política:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATION
Reemplaza lo siguiente:
ORGANIZATION_ID
: El ID numérico de tu organización.MINIMUM_DURATION
: Es la duración mínima del estado programado para su destrucción para las claves de esta organización, en días. Debe ser uno de los siguientes valores:7d
,15d
,30d
,60d
,90d
o120d
.
Ejecuta el comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Consulta la política vigente actual con
describe --effective
. Este comando muestra la política de la organización como se evalúa en este punto de la jerarquía de recursos con la herencia incluida.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_ID
El resultado es similar a este:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Debido a que esta política de la organización se estableció a nivel de la organización, es heredados por todos los recursos secundarios que permiten la herencia.
Exigir que se inhabiliten las claves antes de la destrucción
La restricción Restringir la destrucción de claves a las claves inhabilitadas (constraints/cloudkms.disableBeforeDestroy
) te permite exigir que se inhabilite una clave antes de que puedas programar su destrucción.
Inhabilitar una clave antes de destruirla es una práctica recomendada porque
te ayuda a validar que la clave no esté en uso. Puedes combinar esta restricción con una política de administración de identidades y accesos cuidadosa para crear un proceso de destrucción de varios pasos que requiera la cooperación de varios roles.
Si quieres usar esta restricción para crear un proceso de destrucción de varios pasos, asegúrate de que
que ningún usuario tiene los elementos cloudkms.cryptoKeyVersions.update
y
Permisos cloudkms.cryptoKeyVersions.destroy
. Este caso de uso requiere que
usa roles personalizados.
Para solicitar que una clave tenga el estado inhabilitada antes de poder programarla para su destrucción, sigue estos pasos:
gcloud
Obtén la política actual del recurso de la organización con el comando
describe
: Este comando muestra la política aplicada directamente a este recurso:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
Reemplaza
ORGANIZATION_ID
por el identificador único de la recurso de la organización. ID de la organización Debe tener el formato de números decimales y no puede tener ceros a la izquierda.También puedes ver la política de la organización de una carpeta o un proyecto con las marcas
--folder
o--project
, y el ID de carpeta o ID del proyecto, respectivamente.La respuesta muestra la política de la organización actual, si existe una. El resultado es similar al siguiente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: etag: CPvY+KYGENDwgxA= rules: - enforce: true updateTime: '2023-08-17T14:19:39.033618Z'
Si no se configura una política, el comando
describe
muestra un errorNOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Configura la política en la organización con el comando
set-policy
. Este comando reemplaza cualquier política que ya esté conectada al recurso.Crea un archivo temporal
/tmp/policy.yaml
para almacenar la política:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: true
Reemplaza
ORGANIZATION_ID
por el identificador único de la recurso de la organización.Ejecuta el comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Consulta la política vigente actual con
describe --effective
. Este comando muestra la política de la organización como se evalúa en este punto de la jerarquía de recursos con la herencia incluida.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_ID
El resultado es similar a este:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: true
Debido a que esta política de la organización se estableció a nivel de la organización, son heredados por todos los recursos secundarios que permiten la herencia.
¿Qué sigue?
- Obtén más información sobre los estados de las versiones de claves.
- Destruye y restablece una versión de clave.