Come faccio a risolvere l'errore della policy chiave di AWS KMS "La policy contiene una dichiarazione con uno o più principi non validi"?
Ho provato a modificare la mia policy chiave del servizio AWS di gestione delle chiavi (AWS KMS). Tuttavia, ho ricevuto un errore nella Console di gestione AWS simile a "PutKeyPolicy request failed MalformedPolicyDocumentException - Policy contains a statement with one or more invalid principals."
Breve descrizione
La richiesta di chiamata all'API PutKeyPolicy AWS KMS ha esito negativo quando la policy chiave specificata non è sintatticamente o semanticamente corretta. La policy chiave di AWS KMS non contiene l'ARN. La policy chiave contiene invece un principale con un ID univoco simile ad AIDACKCEVSQ6C2EXAMPLE.
Risoluzione
Sintassi JSON
Verifica che il tipo di risorsa del documento di policy JSON sia valido. Per risolvere gli errori di sintassi JSON, incolla il documento della policy JSON in uno strumento di formattazione JSON, ad esempio JSON Beautifier sul sito Web JSON Beautifier. Rimuovi tutti i caratteri non necessari e aggiungi quelli mancanti. Rimuovi gli elementi di policy JSON e i valori SID duplicati.
Elementi principali
Nell'elemento principale della policy JSON, conferma che l'identità di AWS Identity and Access Management (IAM) esiste e ha un ARN valido.
Nota: non è possibile utilizzare un carattere jolly nella parte dell'ARN che specifica il tipo di risorsa.
Quando si creano identità IAM, vengono utilizzati nomi descrittivi, come Bob o Developers. Per motivi di sicurezza, a queste identità IAM viene assegnato anche un identificatore univoco, ad esempio AIDACKCEVSQ6C2EXAMPLE. Rimuovi gli ID univoci orfani dalla policy chiave. Per ulteriori informazioni, consulta Policy chiave in AWS KMS.
Nota: se la policy chiave di AWS KMS dispone delle autorizzazioni per un altro account o principale, potrebbe non essere in vigore. La policy chiave è valida solo nella regione AWS che contiene la chiave AWS KMS.
Servizi AWS
Se un servizio AWS è indicato come principale, assicurati che AWS KMS supporti il servizio. Il principale deve essere l'identità IAM. Inoltre, è necessario utilizzare la chiave di condizione kms:ViaService per i servizi AWS che effettuano le richieste per l'identità IAM.
Poiché non tutti i servizi AWS chiamano direttamente AWS KMS, controlla se il servizio AWS che stai utilizzando chiama direttamente AWS KMS. Ad esempio, un servizio AWS come Amazon Elastic Compute Cloud (Amazon EC2) effettua chiamate per un principale nell'account. I servizi AWS che effettuano chiamate dirette ad AWS KMS devono avere il servizio Principal nell'elemento Principal.
Per ulteriori informazioni, consulta Servizi che supportano la chiave di condizione kms:ViaService.
Regione AWS con attivazione
L'account con cui condividi le chiavi AWS KMS deve attivare la Regione AWS all'interno dell'account del destinatario. Altrimenti, le chiavi KMS non sono valide in quella Regione.
Assicurati che la Regione sia attivata nell'account del destinatario. Puoi anche condividere un'altra chiave AWS KMS in una Regione attivata nell'account AWS e nell'account del destinatario. Per ulteriori informazioni, consulta Specificare quali Regioni AWS può utilizzare il tuo account.
Informazioni correlate
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 9 mesi fa