Controllo dell'accesso agli alias - 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à.

Controllo dell'accesso agli alias

Quando crei o modifichi un alias, l'operazione interessa l'alias e la relativa chiave KMS associata. Di conseguenza, i principali che gestiscono gli alias devono disporre dell'autorizzazione per chiamare l'operazione alias sull'alias e su tutte le chiavi KMS interessate. Puoi fornire queste autorizzazioni utilizzando le policy delle chiavi, le policy IAM e le concessioni.

Nota

Presta attenzione quando concedi ai principali l'autorizzazione per gestire tag e alias. Modificando un tag o un alias puoi consentire o negare l'autorizzazione alla chiave gestita dal cliente. Per informazioni dettagliate, consulta ABAC per AWS KMS e Utilizzo degli alias per controllare l'accesso alle chiavi KMS.

Per informazioni sul controllo dell'accesso a tutte le operazioni AWS KMS, consulta Riferimento per le autorizzazioni.

Le autorizzazioni per la creazione e la gestione degli alias funzionano come descritto di seguito.

km: CreateAlias

Per creare un alias, il principale richiede le seguenti autorizzazioni sia per l'alias che per la chiave KMS associata.

  • kms:CreateAlias per l'alias. Fornisci questa autorizzazione in una policy IAM collegata al principale autorizzato a creare l'alias.

    L'esempio di istruzione di policy seguente specifica un alias particolare in un elemento Resource. Ma è possibile elencare più ARN alias o specificare un modello di alias, ad esempio "test*". Puoi specificare il valore Resource di "*" in modo da consentire al principale di creare qualsiasi alias nell'account e nella regione. L'autorizzazione per creare un alias può anche essere inclusa in un'autorizzazione kms:Create* per tutte le risorse di un account e di una regione.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:CreateAlias per la chiave KMS. Questa autorizzazione deve essere fornita in una policy delle chiavi o in una policy IAM delegata dalla policy delle chiavi.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

È possibile utilizzare le chiavi di condizione per limitare le chiavi KMS che è possibile associare a un alias. Ad esempio, puoi usare la chiave kms: KeySpec condition per consentire al principale di creare alias solo su chiavi KMS asimmetriche. Per un elenco completo delle chiavi delle condizioni utilizzabili per limitare l’autorizzazione kms:CreateAlias sulle risorse delle chiavi KMS, vedi AWS KMS autorizzazioni.

km: ListAliases

Per elencare gli alias nell'account e nella regione, il principale deve disporre dell'autorizzazione kms:ListAliases in una policy IAM. Poiché questa policy non è correlata a una determinata chiave KMS o a una risorsa alias, il valore dell'elemento risorsa nella policy deve essere "*".

Ad esempio, l'istruzione della policy IAM riportata di seguito consente al principale di elencare tutte le chiavi KMS e gli alias nell'account e nella regione.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }

km: UpdateAlias

Per modificare la chiave KMS associata a un alias, il principale richiede tre elementi di autorizzazione: uno per l'alias, uno per la chiave KMS attuale e uno per la nuova chiave KMS.

Ad esempio, supponi di voler modificare l’alias test-key dalla chiave KMS con ID chiave 1234abcd-12ab-34cd-56ef-1234567890ab alla chiave KMS con ID chiave 0987dcba-09fe-87dc-65ba-ab0987654321. Per questo caso, includi le istruzioni di policy simile agli esempi riportati in questa sezione.

  • kms:UpdateAlias per l'alias. Questa autorizzazione viene fornita in una policy IAM collegata al principale. La policy IAM seguente specifica un alias particolare. Ma è possibile elencare più ARN alias o specificare un modello di alias, ad esempio "test*". Puoi specificare il valore Resource di "*" in modo da consentire al principale di creare qualsiasi alias nell'account e nella regione.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:UpdateAlias per la chiave KMS che è attualmente associata all'alias. Questa autorizzazione deve essere fornita in una policy delle chiavi o in una policy IAM delegata dalla policy delle chiavi.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • kms:UpdateAlias per la chiave KMS che l'operazione associa all'alias. Questa autorizzazione deve essere fornita in una policy delle chiavi o in una policy IAM delegata dalla policy delle chiavi.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

È possibile utilizzare chiavi di condizione per limitare una o entrambe le chiavi KMS in una operazione UpdateAlias. Ad esempio, puoi utilizzare una chiave kms: ResourceAliases condition per consentire al principale di aggiornare gli alias solo quando la chiave KMS di destinazione ha già un alias particolare. Per un elenco completo delle chiavi delle condizioni utilizzabili per limitare l’autorizzazione kms:UpdateAlias su una risorsa della chiave KMS, vedi AWS KMS autorizzazioni.

km: DeleteAlias

Per eliminare un alias, il principale richiede l'autorizzazione per l'alias e per la chiave KMS associata.

Come sempre, è necessario prestare attenzione quando si concedono le autorizzazioni per eliminare una risorsa. L'eliminazione di un alias non ha alcun effetto sulla chiave KMS associata. Anche se potrebbe causare errori nelle applicazioni che utilizzano l'alias, se si elimina erroneamente un alias, puoi ricrearlo.

  • kms:DeleteAlias per l'alias. Fornisci questa autorizzazione in una policy IAM collegata al principale autorizzato a eliminare l'alias.

    L'esempio di istruzione di policy seguente specifica l'alias in un elemento Resource. Ma è possibile elencare più ARN alias o specificare un modello di alias, ad esempio "test*", Puoi anche specificare un valore Resource di "*" per consentire al principale di eliminare qualsiasi alias nell'account e nella regione.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:DeleteAlias per la chiave KMS associata. Questa autorizzazione deve essere fornita in una policy delle chiavi o in una policy IAM delegata dalla policy delle chiavi.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

Limitazione delle autorizzazioni alias

È possibile utilizzare le chiavi di condizione per limitare le autorizzazioni alias quando la risorsa è una chiave KMS. Ad esempio, la seguente policy IAM consente le operazioni alias sulle chiavi KMS in un determinato account e nella regione. Tuttavia, utilizza la chiave kms: KeyOrigin condition per limitare ulteriormente le autorizzazioni alle chiavi KMS con materiale chiave proveniente da. AWS KMS

Per un elenco completo delle chiavi di condizioni che è possibile utilizzare per limitare l'autorizzazione alias per una risorsa della chiave KMS, vedi AWS KMS autorizzazioni.

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

Non è possibile utilizzare le chiavi di condizione in un'istruzione della policy delle chiavi in cui la risorsa è un alias. Per limitare gli alias che un principale può gestire, utilizzare il valore dell’elemento Resource dell'istruzione della policy IAM che controlla l'accesso all'alias. Ad esempio, le istruzioni di policy seguenti consentono al principale di creare, aggiornare o eliminare qualsiasi alias nel Account AWS e Regione a meno che l'alias non inizi con Restricted.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }