¿Por qué no puedo leer o actualizar una política de claves de KMS en AWS KMS?

Última actualización: 26/08/2021

Quiero actualizar una política de claves de AWS KMS en AWS Key Management Service (AWS KMS). He comprobado que tengo permisos de administrador para mis identidades de AWS Identity and Access Management (IAM) (usuarios, grupos y roles), pero no puedo leer ni actualizar la política de claves de KMS.

Descripción corta

Las entidades principales de IAM deben tener el permiso de acción de la API GetKeyPolicy para leer una política de claves y PutKeyPolicy para actualizarla. Estos permisos se conceden directamente con la política de claves o con una combinación de las políticas de clave y de IAM. Para obtener más información, consulte Administración del acceso a las claves de AWS KMS.

La política de IAM de claves de KMS predeterminada contiene una instrucción similar a la siguiente:

{
  "Sid": "Enable IAM User Permissions",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:root"
  },
  "Action": "kms:*",
  "Resource": "*"
}

Las entidades de IAM de la cuenta de AWS 111122223333 pueden realizar cualquier acción de AWS KMS permitida en la política adjunta. Si las entidades no pueden realizar acciones de API tales como GetKeyPolicy o PutKeyPolicy aunque se les concedan permisos en sus políticas adjuntas, es posible que la instrucción “Enable IAM User Permissions” (Habilitar permisos de usuario de IAM) haya cambiado.

Resolución

Comprobar los permisos de las políticas de IAM

Asegúrese de que sus entidades de IAM tengan permiso para leer y actualizar una clave de KMS similar a la siguiente política de IAM:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Create*",
        "kms:Describe*",
        "kms:Enable*",
        "kms:List*",
        "kms:Put*",
        "kms:Update*",
        "kms:Revoke*",
        "kms:Disable*",
        "kms:Get*",
        "kms:Delete*",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ScheduleKeyDeletion",
        "kms:CancelKeyDeletion"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    }
  ]
}

Utilice el historial de eventos de CloudTrail

1.    Abra la consola de AWS CloudTrail y elija Event history (Historial de eventos).

2.    Elija la lista desplegable Lookup attributes (Atributos de búsqueda) y luego, Event name (Nombre del evento).

3.    En la ventana de búsqueda, ingrese PutKeyPolicy.

4.    Abra el evento PutKeyPolicy más reciente.

5.    En Event record (Registro de eventos), copie la política y péguela en el editor de texto que prefiera.

6.    Procese la política en un formato legible.

7.    En el Sid (ID de instrucción) “Permitir acceso a los administradores de claves” de la política de IAM, observe que los administradores de identidad de IAM son similares a lo siguiente:

{
  "Sid": "Allow access for Key Administrators",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::111122223333:role/Administrator"
    ]
   },

Los administradores de claves se pueden utilizar para recuperar el acceso a la clave.

Utilizar las consultas de Athena

Si el evento del historial de eventos de CloudTrail ha pasado los 90 días, puede utilizar Amazon Athena para buscar en los registros de CloudTrail.

Para obtener instrucciones, consulte Uso de la consola de CloudTrail para crear una tabla Athena para los registros de CloudTrail.

Para obtener más información, consulte ¿Cómo creo automáticamente tablas en Athena para buscar en los registros de CloudTrail?


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?