Esempi di policy IAM - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di policy IAM

Questa sezione include esempi di policy IAM che concedono autorizzazioni per varie azioni AWS KMS .

Importante

Alcune delle autorizzazioni nelle seguenti policy sono consentite solo quando anche la policy delle chiavi della chiave KMS le consente. Per ulteriori informazioni, consulta Riferimento per le autorizzazioni.

Per informazioni sulla scrittura e sulla formattazione di un documento di policy JSON, consulta la Documentazione di riferimento sulla policy IAM JSON nella Guida per l'utente di IAM.

Consenti a un utente di visualizzare le chiavi KMS nella console AWS KMS

La seguente policy IAM consente agli utenti l'accesso in sola lettura alla console. AWS KMS Gli utenti con queste autorizzazioni possono visualizzare tutte le chiavi KMS in loro possesso Account AWS, ma non possono creare o modificare alcuna chiave KMS.

Per visualizzare le chiavi KMS nelle pagine Chiavi gestite da AWSe nelle pagine delle chiavi gestite dal cliente, i principali richiedono le GetResources autorizzazioni kms: ListKeys, kms: e tag: ListAliases, anche se le chiavi non hanno tag o alias. Le autorizzazioni rimanenti, in particolare kms: DescribeKey, sono necessarie per visualizzare le colonne e i dati opzionali della tabella delle chiavi KMS nelle pagine di dettaglio delle chiavi KMS. Le ListRoles autorizzazioni iam: ListUsers e iam: sono necessarie per visualizzare la politica chiave nella visualizzazione predefinita senza errori. Per visualizzare i dati nella pagina Custom key store e i dettagli sulle chiavi KMS negli archivi chiavi personalizzati, i mandanti necessitano anche dell'autorizzazione kms:. DescribeCustomKeyStores

Se limiti l'accesso alla console di un utente a particolari chiavi KMS, la console visualizza un errore per ogni chiave KMS che non è visibile.

Questa policy include due istruzioni di policy. L'elemento Resource nella prima istruzione di policy consente le autorizzazioni specificate per tutte le chiavi KMS in tutte le regioni dell' Account AWS di esempio. I visualizzatori della console non hanno bisogno di un accesso aggiuntivo perché la console AWS KMS visualizza solo le chiavi KMS nell'account del principale. Questo è vero anche se hanno il permesso di visualizzare le chiavi KMS in altri. Account AWS Le autorizzazioni rimanenti AWS KMS e quelle IAM richiedono un "Resource": "*" elemento perché non si applicano a nessuna chiave KMS particolare.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccessForAllKMSKeysInAccount", "Effect": "Allow", "Action": [ "kms:GetPublicKey", "kms:GetKeyRotationStatus", "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListKeyPolicies", "kms:ListResourceTags", "tag:GetResources" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey", "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" } ] }

Consentire a un utente di creare chiavi KMS

La seguente policy IAM consente a un utente di creare chiavi KMS di tutti i tipi. Il valore dell'Resourceelemento è * dovuto al fatto che l'CreateKeyoperazione non utilizza AWS KMS risorse particolari (chiavi o alias KMS).

Per limitare l'utente a particolari tipi di chiavi KMS, usa le chiavi di condizione kms: KeySpec, kms: e kms: KeyUsage. KeyOrigin

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" } }

I principali che creano le chiavi potrebbero richiedere alcune autorizzazioni correlate.

  • kms: PutKeyPolicy — I responsabili che dispongono dell'kms:CreateKeyautorizzazione possono impostare la politica chiave iniziale per la chiave KMS. Tuttavia, il CreateKey chiamante deve disporre di kms: PutKeyPolicy permission, che gli consente di modificare la politica della chiave KMS, oppure deve specificare il BypassPolicyLockoutSafetyCheck parametro diCreateKey, che non è consigliato. Il chiamante CreateKey può ottenere l'autorizzazione kms:PutKeyPolicy per la chiave KMS da una policy IAM o può includere questa autorizzazione nella policy chiavi della chiave KMS che sta creando.

  • kms: TagResource — Per aggiungere tag alla chiave KMS durante l'CreateKeyoperazione, il CreateKey chiamante deve disporre dell'autorizzazione kms: in una policy IAM. TagResource Includere questa autorizzazione nella policy delle chiavi della nuova chiave KMS non è sufficiente. Tuttavia, se il chiamante CreateKey include kms:TagResource nella policy delle chiavi iniziale, può aggiungere i tag in una chiamata separata dopo la creazione della chiave KMS.

  • kms: CreateAlias — I principali che creano una chiave KMS nella AWS KMS console devono avere l'CreateAliasautorizzazione kms: sulla chiave KMS e sull'alias. La console effettua due chiamate, una a CreateKey e una a CreateAlias. È necessario fornire l'autorizzazione per l'alias in una policy IAM. Puoi fornire l'autorizzazione chiave KMS in una policy delle chiavi o in una policy IAM. Per informazioni dettagliate, vedi Controllo dell'accesso agli alias.

Inoltrekms:CreateKey, la seguente policy IAM fornisce l'kms:TagResourceautorizzazione su tutte le chiavi KMS presenti nell'account Account AWS e l'autorizzazione su tutti gli alias dell'accountkms:CreateAlias. Include anche alcune utili autorizzazioni di sola lettura che possono essere fornite solo in una policy IAM.

Questa policy IAM non include l'autorizzazione kms:PutKeyPolicy o altre autorizzazioni che possono essere impostate in una policy delle chiavi. Come best practice, è consigliabile impostare queste autorizzazioni nella policy delle chiavi che si applica esclusivamente a una chiave KMS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPermissionsForParticularKMSKeys", "Effect": "Allow", "Action": "kms:TagResource", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPermissionsForParticularAliases", "Effect": "Allow", "Action": "kms:CreateAlias", "Resource": "arn:aws:kms:*:111122223333:alias/*" }, { "Sid": "IAMPermissionsForAllKMSKeys", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } ] }

Consenti a un utente di crittografare e decrittografare con qualsiasi chiave KMS in una determinata chiave Account AWS

La seguente politica IAM consente a un utente di crittografare e decrittografare i dati con qualsiasi chiave KMS in 111122223333. Account AWS

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } }

Consenti a un utente di crittografare e decrittografare con qualsiasi chiave KMS in una regione e in una regione specifiche Account AWS

La seguente politica IAM consente a un utente di crittografare e decrittografare i dati con qualsiasi chiave KMS Account AWS 111122223333 nella regione Stati Uniti occidentali (Oregon).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/*" ] } }

Consentire a un utente di eseguire la crittografia e la decrittazione con chiavi KMS specifiche

La policy IAM seguente consente a un utente di crittografare e decrittare i dati con le due chiavi KMS specificate nell'elemento Resource. Per specificare una chiave KMS in un'istruzione della policy IAM, devi utilizzare l'ARN chiave della chiave KMS.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

Impedire a un utente di disabilitare o eliminare le chiavi KMS

La policy IAM seguente impedisce a un utente di disabilitare o eliminare le chiavi KMS, anche quando un'altra policy IAM o una policy delle chiavi lo consente. Una policy che nega autorizzazioni in modo esplicito sostituisce tutte le altre policy, anche quelle che concedono le stesse autorizzazioni. Per ulteriori informazioni, consulta Risoluzione dei problemi di accesso alla chiave.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:DisableKey", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }