Perché non è possibile leggere o aggiornare una policy delle chiavi KMS in AWS KMS?

Ultimo aggiornamento: 26-08-2021

Desidero aggiornare una policy delle chiavi AWS KMS in AWS Key Management Service (AWS KMS). Ho verificato di avere le autorizzazioni di amministratore per le mie identità AWS Identity and Access Management (IAM) (utenti, gruppi e ruoli), ma non riesco a leggere o aggiornare la policy delle chiavi KMS.

Breve descrizione

I principali IAM devono disporre dell'autorizzazione per l'azione API GetKeyPolicy per leggere una policy delle chiavi e PutKeyPolicy per aggiornare una policy. Queste autorizzazioni vengono concesse direttamente con la policy delle chiavi o con una combinazione della policy delle chiavi e quella IAM. Per ulteriori informazioni, consulta Gestione dell'accesso alle chiavi AWS KMS.

La policy IAM delle chiavi KMS di default contiene un'istruzione simile alla seguente:

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

Le entità IAM per l'account AWS 111122223333 possono eseguire qualsiasi azione AWS KMS permette la policy allegata. Se le entità non sono in grado di eseguire azioni API come GetKeyPolicy o PutKeyPolicy anche se sono autorizzazioni permesse nelle policy collegate, l'istruzione "Abilita autorizzazioni utente IAM" potrebbe essere cambiata.

Risoluzione

Verifica le autorizzazioni delle policy IAM

Assicurati che le entità IAM disponga dell'autorizzazione per leggere e aggiornare una chiave KMS simile alla seguente policy 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/*"
    }
  ]
}

Utilizza una cronologia eventi CloudTrail

1.    Apri la console di AWS CloudTrail, quindi scegli Cronologia eventi.

2.    Scegli dall'elenco a discesa Attributi di ricerca, quindi scegli Nome evento.

3.    Nella finestra di ricerca, inserisci PutKeyPolicy.

4.    Apri l'evento PutKeyPolicy più recente.

5.    In Record di eventi, copia la policy e incollala nel tuo editor di testo preferito.

6.    Esegui l'analisi della policy in un formato leggibile.

7.    Nel Sid della policy IAM "Permetti l'accesso agli amministratori delle chiavi", prendi nota degli amministratori di identità IAM in modo simile al seguente:

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

Gli amministratori delle chiavi possono quindi essere utilizzati per riottenere l'accesso alla chiave.

Usa le query Athena

Se l'evento della cronologia eventi CloudTrail ha superato i 90 giorni, è possibile utilizzare Amazon Athena per eseguire ricerche nei registri di CloudTrail.

Per istruzioni, consulta Utilizzo della console CloudTrail per creare una tabella Athena per i registri di CloudTrail.

Per ulteriori informazioni, consulta Come faccio a creare automaticamente tabelle in Athena per eseguire ricerche nei registri di CloudTrail?


Questo articolo ti è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?