Salta al contenuto

Perché ricevo l'errore «Il testo cifrato si riferisce a una chiave master del cliente che non esiste, non esiste in questa regione o non sei autorizzato ad accedere» quando scarico o copio un oggetto dal mio bucket Amazon S3?

3 minuti di lettura
0

Ricevo il seguente errore quando provo a scaricare o copiare un oggetto dal mio bucket Amazon Simple Storage Service (Amazon S3): Il testo cifrato si riferisce a una chiave master del cliente che non esiste, non esiste in questa regione o non è consentito l'accesso.

Risoluzione

Questo errore viene visualizzato quando sono soddisfatte entrambe le condizioni seguenti:

  • L'oggetto archiviato nel bucket a cui si effettuano le richieste è crittografato con una chiave AWS Key Management Service (AWS KMS).
  • Il ruolo o l'utente di AWS Identity and Access Management (IAM) che effettua le richieste non dispone di autorizzazioni sufficienti per accedere alla chiave AWS KMS utilizzata per crittografare gli oggetti.

Nota: Se ricevi errori durante l'esecuzione dei comandi AWS Command Line Interface (AWS CLI), assicurati di utilizzare la versione AWS CLI più recente.

Puoi verificare la crittografia di un oggetto utilizzando il comando head-object dell'interfaccia a riga di comando di AWS:

aws s3api head-object --bucket my-bucket --key my-object

Assicurati di fare quanto segue nel comando precedente:

  • Sostituisci my-bucket con il nome del tuo bucket.
  • Sostituisci my-object con il nome del tuo oggetto.

L'output di questo comando è simile al seguente:

{
  "AcceptRanges": "bytes",
  "ContentType": "text/html",
  "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT",
  "ContentLength": 77,
  "VersionId": "null",
  "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"",
  "ServerSideEncryption": "aws:kms",
  "Metadata": {},
  "SSEKMSKeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
  "BucketKeyEnabled": true
}

Il campo SSEKMSKeyId nell'output specifica la chiave AWS KMS utilizzata per crittografare l'oggetto.

Per risolvere questo errore, effettuate una delle seguenti operazioni:

  • Assicurati che la policy associata all'utente o al ruolo IAM disponga delle autorizzazioni richieste. Esempio:
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:DescribeKey",
      "kms:GenerateDataKey",
      "kms:Decrypt"
    ],
    "Resource": [
      "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    ]
  }
}
  • Assicurati che la policy di AWS KMS disponga delle autorizzazioni necessarie. Esempio:
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::AWS-account-ID:user/user-name-1"
    },
    "Action": [
      "kms:DescribeKey",
      "kms:GenerateDataKey",
      "kms:Decrypt"
    ],
    "Resource": "*"
  }
}

Se l'utente o il ruolo IAM e la chiave AWS KMS provengono da account AWS diversi, assicurati di quanto segue:

  • La policy allegata all'entità IAM dispone delle autorizzazioni AWS KMS richieste.
  • La policy chiave di AWS KMS concede le autorizzazioni necessarie all'entità IAM.

Importante: Non puoi utilizzare le chiavi gestite da AWS in casi d'uso tra più account perché le policy delle chiavi gestite da AWS non possono essere modificate.

Per ottenere informazioni dettagliate su una chiave AWS KMS, esegui il comando describe-key:

aws kms describe-key --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Puoi anche utilizzare la console AWS KMS per visualizzare i dettagli su una chiave AWS KMS.

Nota: Assicurati che la chiave AWS KMS utilizzata per crittografare l'oggetto sia abilitata.

Informazioni correlate

Il mio bucket Amazon S3 ha una crittografia predefinita che utilizza una chiave AWS KMS personalizzata. Come posso consentire agli utenti di effettuare il download e il caricamento nel bucket?

Devo specificare la chiave AWS KMS quando scarico un oggetto crittografato con KMS da Amazon S3?

AWS UFFICIALEAggiornata 3 anni fa