Perché non posso caricare un file di grandi dimensioni su Amazon S3 con la crittografia a chiave AWS KMS?

3 minuti di lettura
0

Voglio caricare un file di grandi dimensioni nel mio bucket Amazon Simple Storage Service (Amazon S3). Nella mia richiesta di caricamento, includo informazioni di crittografia con una chiave AWS Key Management Service (AWS KMS). Tuttavia, ricevo un errore di accesso negato.

Breve descrizione

Verifica di disporre dell'autorizzazione per eseguire azioni kms:Decrypt sulla chiave AWS KMS che utilizzi per crittografare l'oggetto.

Per file di grandi dimensioni, i comandi s3 di alto livello con l'interfaccia a riga di comando AWS (AWS CLI), SDK AWS e molti programmi di terze parti eseguono automaticamente un caricamento in più parti. Per utilizzare una chiave AWS KMS per crittografare un caricamento in più parti, devi disporre delle autorizzazioni KMS:GenerateDataKey e kms:Decrypt. Le autorizzazionikms:GenerateDataKey consentono di avviare il caricamento. Con le autorizzazionikms:Decrypt, puoi crittografare le parti appena caricate con la chiave che hai usato per le parti precedenti dello stesso oggetto.

Nota: Dopo aver caricato tutte le parti, è necessario assemblare le parti caricate per completare l'operazione di caricamento multiparte. Poiché le parti caricate sono crittografate lato server con una chiave AWS KMS, è necessario decrittografare le parti degli oggetti prima di poterle assemblare. Pertanto, è necessario disporre delle autorizzazioni kms:Decrypt per le richieste di caricamento multiparte che utilizzano la crittografia lato server con chiavi AWS KMS (SSE-KMS).

Risoluzione

Il ruolo e la chiave di AWS Identity e Access Management (IAM) potrebbero esistere nello stesso account AWS o in account diversi. Se il ruolo e la chiave IAM si trovano nello stesso account, puoi specificare le autorizzazioni kms:Decrypt da una policy IAM o da una policy chiave AWS KMS. Se il tuo ruolo e la tua chiave IAM si trovano in account diversi, devi specificare le autorizzazioni kms:Decrypt sia nella chiave che nella policy IAM.

Policy della chiave

Rivedi la policy della chiave AWS KMS utilizzando la visualizzazione delle policy della Console di gestione AWS.

Nella policy della chiave, cerca le dichiarazioni in cui ARN del tuo utente o ruolo IAM è elencato come responsabile AWS. L'ARN è nel seguente formato: arn:aws:iam::111122223333:user/john.

Quindi, controlla l'elenco delle azioni consentite dalle istruzioni utente o di ruolo IAM. Per i caricamenti multiparte, l'elenco delle azioni consentite deve includere kms:Decrypt con SSE-KMS.

Ad esempio, la seguente dichiarazione in una policy della chiave consente all'utente John di eseguire le azioni kms:Decrypt e kms:GenerateDataKey:

{  
            "Sid": "Allow use of the key",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": "arn:aws:iam::111122223333:user/john"  
            },  
            "Action": [  
                "kms:Decrypt",  
                "kms:GenerateDataKey"  
            ],  
            "Resource": "*"  
        },

Autorizzazioni IAM

Per rivedere le tue autorizzazioni IAM, apri la console IAM, quindi apri il tuo utente o ruolo IAM.

Consulta l'elenco delle policy di autorizzazione applicate al tuo utente o ruolo IAM. Assicurati che sia applicata una policy che ti consenta di eseguire l'azione kms:Decrypt sulla chiave utilizzata per crittografare l'oggetto:

{  
  "Version": "2012-10-17",  
  "Statement": {  
    "Effect": "Allow",  
    "Action": [  
      "kms:Decrypt",  
      "kms:GenerateDataKey"  
    ],  
    "Resource": [  
      "arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"  
    ]  
  }  
}

Questa istruzione di esempio concede all'utente IAM l'accesso per eseguire kms:Decrypt e kms:GenerateDataKey sulla chiave arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd.

Per istruzioni su come aggiornare le autorizzazioni IAM, consulta Modifica delle autorizzazioni per un utente IAM.

Informazioni correlate

Generatore di policy AWS

AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa