Cloud de Confiance by S3NS ofrece dos restricciones de políticas de la organización para establecer la política de destrucción de versiones de claves en una organización:
constraints/cloudkms.minimumDestroyScheduledDurationse usa para establecer una duración mínima para el estado programado para su destrucción de las claves nuevas dentro de la organización.constraints/cloudkms.disableBeforeDestroyse usa para exigir que se inhabilite una versión de clave antes de que se pueda programar para su destrucción.
Antes de comenzar
En las instrucciones de esta página, se da por hecho que estás familiarizado con el uso de restricciones y que tienes los recursos y roles necesarios.
Recursos necesarios
Antes de que puedas completar los pasos de esta página, debes tener los siguientes recursos:
- Una organización
- Opcional: Un recurso de carpeta o proyecto dentro de tu organización
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 otros roles predefinidos.
Exige una duración mínima programada para su destrucción
La restricción Duración mínima programada de destrucción por clave (constraints/cloudkms.minimumDestroyScheduledDuration) se usa para establecer una duración mínima para el estado programado para su destrucción de las claves nuevas. Esta restricción anula la duración mínima programada para su destrucción a nivel de proyecto, carpeta o organización. Esta restricción reduce la posibilidad de destruir accidentalmente una clave que aún es necesaria. Puedes establecer esta restricción en un valor más alto para asegurarte de tener tiempo para evitar la destrucción de claves antes de que se vuelva irreversible.
Usa valores más altos para esta restricción cuando la destrucción de claves no deseadas sea más perjudicial, como para 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 perjudicial, como para entornos de desarrollo o pruebas. También puedes usar valores más bajos para permitir la destrucción criptográfica oportuna. Sin embargo, como valor mínimo, esta restricción no puede garantizar que se creen claves nuevas con duraciones programadas para su destrucción bajas.
Para exigir una duración mínima programada para su 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_IDReemplaza
ORGANIZATION_IDpor el identificador único del recurso de la organización. El ID de la organización tiene el formato de números decimales y no puede tener ceros iniciales.También puedes ver la política de la organización para una carpeta o un proyecto con las
--foldero las--projectmarcas, y el ID de la carpeta o ID del proyecto, respectivamente.La respuesta muestra la política de la organización actual, si existe. El resultado es similar a lo siguiente:
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 se establece una política, el comando
describemuestra 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 conectada actualmente al recurso.Crea un archivo temporal
/tmp/policy.yamlpara almacenar la política:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATIONReemplaza lo siguiente:
ORGANIZATION_ID: Es el ID numérico de tu organización.MINIMUM_DURATION: Es la duración mínima del estado programado para su destrucción de las claves de esta organización, en días. Debe ser uno de los siguientes valores:7d,15d,30d,60d,90do120d.
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_IDEl resultado es similar a lo siguiente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120dDebido a que esta política de la organización se estableció a nivel de la organización, es heredada por todos los recursos secundarios que permiten la herencia.
Exige que las claves se inhabiliten antes de la destrucción
La restricción Restringe la destrucción de claves a las claves inhabilitadas (constraints/cloudkms.disableBeforeDestroy) te permite exigir que se inhabilite una clave antes de que puedas programarla para su destrucción.
Inhabilitar una clave antes de destruirla es una práctica recomendada, ya que te ayuda a validar que la clave no esté en uso. Puedes combinar esta restricción con una política de Identity and Access Management cuidadosa para crear un proceso de destrucción de varios pasos que requiera la cooperación de varios roles.
Para usar esta restricción y crear un proceso de destrucción de varios pasos, asegúrate de que ningún usuario tenga los permisos cloudkms.cryptoKeyVersions.update y cloudkms.cryptoKeyVersions.destroy. Este caso de uso requiere que
uses roles personalizados.
Para exigir que una clave esté en el estado inhabilitado antes de que puedas 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_IDReemplaza
ORGANIZATION_IDpor el identificador único del recurso de la organización. El ID de la organización tiene el formato de números decimales y no puede tener ceros iniciales.También puedes ver la política de la organización para una carpeta o un proyecto con las
--foldero las--projectmarcas, y el ID de la carpeta o el ID del proyecto, respectivamente.La respuesta muestra la política de la organización actual, si existe. El resultado es similar a lo 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 establece una política, el comando
describemuestra 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.yamlpara almacenar la política:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: trueReemplaza
ORGANIZATION_IDpor el identificador único del 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_IDEl resultado es similar a lo siguiente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: trueDebido a que esta política de la organización se estableció a nivel de la organización, la heredarán 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.