

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à.

# Determinare l'accesso a AWS KMS keys
<a name="determining-access"></a>

Per determinare la portata completa di chi o cosa ha attualmente accesso a una chiave AWS KMS key, è necessario esaminare la politica chiave della chiave KMS, tutte le [concessioni](grants.md) che si applicano alla chiave KMS e potenzialmente tutte le politiche AWS Identity and Access Management (IAM). Ciò potrebbe essere necessario per determinare la portata dell'utilizzo potenziale di una chiave KMS oppure per aiutarti a soddisfare i requisiti di conformità o di verifica. I seguenti argomenti aiutano a generare un elenco completo dei principali AWS (identità) che attualmente hanno accesso a una chiave KMS.

**Topics**
+ [

# Analisi della policy delle chiavi
](determining-access-key-policy.md)
+ [

# Analisi delle policy IAM
](determining-access-iam-policies.md)
+ [

# Analisi delle concessioni
](determining-access-grants.md)

# Analisi della policy delle chiavi
<a name="determining-access-key-policy"></a>

Le [policy chiave](key-policies.md) sono lo strumento principale per controllare l'accesso alle chiavi KMS. Ogni chiave KMS ha esattamente una policy chiave.

Quando una policy delle chiavi è costituita da o include la [policy chiave predefinita](key-policy-default.md#key-policy-default-allow-root-enable-iam), la policy chiave consente agli amministratori IAM dell'account di utilizzare le policy IAM per controllare l'accesso alla chiave KMS. Inoltre, se la policy delle chiavi concede a un [altro Account AWS](key-policy-modifying-external-accounts.md) l'autorizzazione per utilizzare la chiave KMS, gli amministratori IAM dell'account esterno possono utilizzare le policy IAM per delegare tali autorizzazioni. Per determinare l'elenco completo dei principali che possono accedere alla chiave KMS, [esamina le policy IAM](determining-access-iam-policies.md). 

Per visualizzare la politica chiave di una [chiave gestita AWS KMS dal cliente](concepts.md#customer-mgn-key) o [Chiave gestita da AWS](concepts.md#aws-managed-key)nel tuo account, utilizza l'[GetKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html)operazione Console di gestione AWS o nell'API. AWS KMS Per visualizzare la policy delle chiavi, è necessario disporre delle autorizzazioni `kms:GetKeyPolicy` per la chiave KMS. Per istruzioni sulla visualizzazione delle policy delle chiave per una chiave KMS, consulta [Visualizza una politica chiave](key-policy-viewing.md).

Esamina il documento di policy delle chiavi e prendi nota di tutti i principali specificati in ciascun elemento `Principal` dell'istruzione di policy. In una dichiarazione politica con `Allow` effetto, gli utenti IAM, i ruoli IAM e Account AWS nell'`Principal`elemento hanno accesso a questa chiave KMS.

**Nota**  
Non impostare il principale su un asterisco (\$1) in un'istruzione della policy della chiave che consenta autorizzazioni, a meno che non utilizzi [condizioni](policy-conditions.md) per limitare la policy della chiave. Un asterisco indica ogni identità in ogni Account AWS autorizzazione all'uso della chiave KMS, a meno che un'altra dichiarazione politica non lo neghi esplicitamente. Gli utenti di altri paesi Account AWS possono utilizzare la tua chiave KMS ogni volta che dispongono delle autorizzazioni corrispondenti nel proprio account.

I seguenti esempi utilizzano le istruzioni di policy incluse nella [policy delle chiavi predefinita](key-policy-default.md) per mostrare come eseguire questa operazione.

**Example Istruzione di policy 1**  

```
{
  "Sid": "Enable IAM User Permissions",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:root"},
  "Action": "kms:*",
  "Resource": "*"
}
```
Nella dichiarazione politica 1, `arn:aws:iam::111122223333:root` è l'intestazione [AWS del conto che si](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-accounts) riferisce al Account AWS 111122223333. (Non è l'utente root dell'account). Per impostazione predefinita, una dichiarazione politica come questa viene inclusa nel documento della politica chiave quando si crea una nuova chiave KMS con o si crea una nuova chiave KMS a livello di codice Console di gestione AWS, ma non si fornisce una politica chiave.  
Un documento strategico chiave con una dichiarazione che consente l'accesso alle [politiche IAM Account AWS abilitate all'account per consentire l'accesso alla](key-policy-default.md#key-policy-default-allow-root-enable-iam) chiave KMS. Pertanto, gli utenti e i ruoli nell'account potrebbero avere accesso alla chiave KMS anche se non sono elencati in modo esplicito come principali nel documento di policy delle chiavi. Assicurati di [esaminare tutte le policy IAM](determining-access-iam-policies.md) Account AWS elencate come principali per determinare se consentono l'accesso a questa chiave KMS.

**Example Istruzione di policy 2**  

```
{
  "Sid": "Allow access for Key Administrators",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/KMSKeyAdmins"},
  "Action": [
    "kms:Describe*",
    "kms:Put*",
    "kms:Create*",
    "kms:Update*",
    "kms:Enable*",
    "kms:Revoke*",
    "kms:List*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Delete*",
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": "*"
}
```
Nella dichiarazione politica 2, `arn:aws:iam::111122223333:role/KMSKeyAdmins` fa riferimento al ruolo IAM denominato KMSKey Admins in 111122223333. Account AWS Gli utenti autorizzati ad assumere questo ruolo sono autorizzati ad eseguire le operazioni elencate nell'istruzione della policy, che sono le operazioni amministrative per la gestione di una chiave KMS.

**Example Istruzione di policy 3**  

```
{
  "Sid": "Allow use of the key",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"},
  "Action": [
    "kms:DescribeKey",
    "kms:GenerateDataKey*",
    "kms:Encrypt",
    "kms:ReEncrypt*",
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```
Nella dichiarazione politica 3, `arn:aws:iam::111122223333:role/EncryptionApp` fa riferimento al ruolo IAM denominato in 111122223333. EncryptionApp Account AWS I principali autorizzati ad assumere questo ruolo sono autorizzati a eseguire le operazioni riportate nell'istruzione della policy, che includono le [operazioni di crittografia](kms-cryptography.md#cryptographic-operations) per una chiave KMS di crittografia simmetrica.

**Example Istruzione di policy 4**  

```
{
  "Sid": "Allow attachment of persistent resources",
  "Effect": "Allow",
  "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"},
  "Action": [
    "kms:ListGrants",
    "kms:CreateGrant",
    "kms:RevokeGrant"
  ],
  "Resource": "*",
  "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
}
```
Nella dichiarazione politica 4, `arn:aws:iam::111122223333:role/EncryptionApp` fa riferimento al ruolo IAM denominato EncryptionApp in Account AWS 111122223333. I principali autorizzati ad assumere questo ruolo sono autorizzati a eseguire le operazioni elencate nell'istruzione della policy. Queste operazioni, quando combinate con le operazioni consentite nell'**Esempio di istruzione 3 della policy**, sono quelle necessarie per delegare l'utilizzo della chiave KMS alla maggior parte dei servizi [AWS che si integrano con AWS KMS](service-integration.md), in particolare i servizi che utilizzano [concessioni](grants.md). Il GrantIsFor AWSResource valore [kms:](conditions-kms.md#conditions-kms-grant-is-for-aws-resource) nell'`Condition`elemento assicura che la delega sia consentita solo quando il delegato è un AWS servizio che si integra AWS KMS e utilizza le concessioni per l'autorizzazione.

Per informazioni sui diversi modi in cui è possibile specificare un principale in un documento della policy chiave, consulta [Specifica un principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Principal_specifying) nella *Guida per l'utente IAM*.

Per ulteriori informazioni sulle politiche AWS KMS chiave, consulta. [Politiche chiave in AWS KMS](key-policies.md)

# Analisi delle policy IAM
<a name="determining-access-iam-policies"></a>

Oltre alla policy delle chiavi e alle concessioni, puoi anche utilizzare le [policy IAM](iam-policies.md) per consentire l'accesso a una chiave KMS. Per ulteriori informazioni sull'utilizzo congiunto delle policy IAM e delle policy chiave, consulta [Risoluzione dei problemi relativi alle AWS KMS autorizzazioni](policy-evaluation.md).

Per determinare quali principali hanno attualmente accesso a una chiave KMS tramite le policy IAM, puoi utilizzare lo strumento [Simulatore di policy IAM](https://policysim.aws.amazon.com/) basato su browser o puoi effettuare richieste all'API IAM.

**Contents**
+ [

## Analisi delle policy IAM con il simulatore di policy IAM
](#determining-access-iam-policy-simulator)
+ [

## Analisi delle policy IAM con l'API IAM
](#determining-access-iam-api)

## Analisi delle policy IAM con il simulatore di policy IAM
<a name="determining-access-iam-policy-simulator"></a>

Il simulatore di policy IAM può aiutarti a scoprire i principali che possono accedere a una chiave KMS tramite una policy IAM.

**Per utilizzare il simulatore di policy IAM per determinare l'accesso a una chiave KMS**

1. Accedi a Console di gestione AWS e poi apri IAM Policy Simulator all'indirizzo[https://policysim.aws.amazon.com/](https://policysim.aws.amazon.com/).

1. Nel riquadro **Users, Groups, and Roles** (Utenti, gruppi e ruoli), scegliere l'utente, il gruppo o il ruolo del quale si intende simulare le policy.

1. (Opzionale) Deseleziona la casella di controllo accanto a qualsiasi policy che desideri omettere dalla simulazione. Per simulare tutte le policy, lascia tutte le policy selezionate.

1. Nel riquadro **Policy Simulator** (Simulatore di policy), seguire la procedura riportata di seguito:

   1. Per **Select service (Seleziona servizio)**, scegliere **Key Management Service**.

   1. Per simulare AWS KMS azioni specifiche, in **Seleziona azioni**, scegli le azioni da simulare. **Per simulare tutte le AWS KMS azioni, scegliete Seleziona tutto.**

1. (Opzionale) Il simulatore di policy simula l'accesso a tutte le chiavi KMS per impostazione predefinita. Per simulare l'accesso a una determinata chiave KMS, scegli **Impostazioni di simulazione**, quindi digita l'Amazon Resource Name (ARN) della chiave KMS da simulare.

1. Scegliere **Run Simulation (Esegui simulazione)**.

È possibile visualizzare i risultati della simulazione nella sezione **Results** (Risultati). Ripeti le fasi da 2 a 6 per ogni utente, gruppo e ruolo nell' Account AWS.

## Analisi delle policy IAM con l'API IAM
<a name="determining-access-iam-api"></a>

È possibile utilizzare l'API IAM per esaminare le policy IAM a livello di codice. Le seguenti fasi forniscono una panoramica generale su come eseguire questa operazione:

1. Per ogni account Account AWS elencato come principale nella policy chiave (ovvero, ogni [AWS account principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-accounts) specificato in questo formato:`"Principal": {"AWS": "arn:aws:iam::111122223333:root"}`), utilizza le [ListRoles](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRoles.html)operazioni [ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html)and nell'API IAM per inserire tutti gli utenti e i ruoli nell'account.

1. Per ogni utente e ruolo nell'elenco, utilizza l'[SimulatePrincipalPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html)operazione nell'API IAM, passando i seguenti parametri:
   + Per `PolicySourceArn`specificare il nome ARN (Amazon Resource Name) di un utente o un ruolo dal tuo elenco. Puoi specificare un solo `PolicySourceArn` per ogni richiesta `SimulatePrincipalPolicy`, pertanto è necessario chiamare questa operazione più volte, una volta per ogni utente e ruolo nell'elenco.
   + Per l'`ActionNames`elenco, specifica ogni azione AWS KMS API da simulare. Per simulare tutte le azioni AWS KMS dell'API, usa. `kms:*` Per testare le singole azioni AWS KMS API, fai precedere ogni azione API da "`kms:`«, ad esempio"»`kms:ListKeys`. Per un elenco completo delle operazioni API AWS KMS , consulta [Azioni](https://docs.aws.amazon.com/kms/latest/APIReference/API_Operations.html) nella *Documentazione di riferimento dell'API AWS Key Management Service *.
   + (Facoltativo) Per determinare se gli utenti o i ruoli hanno accesso a chiavi KMS specifiche, utilizza il `ResourceArns` parametro per specificare un elenco di Amazon Resource Names (ARNs) delle chiavi KMS. Per determinare se gli utenti o i ruoli possono accedere a una chiave KMS, ometti il parametro `ResourceArns`.

IAM risponde a ogni richiesta `SimulatePrincipalPolicy` con una valutazione: `allowed`, `explicitDeny` o `implicitDeny`. Per ogni risposta che contiene una decisione di valutazione di`allowed`, la risposta include il nome della specifica operazione AWS KMS API consentita. Eventualmente, include l'ARN della chiave KMS usata nella valutazione.

# Analisi delle concessioni
<a name="determining-access-grants"></a>

Le sovvenzioni sono meccanismi avanzati per specificare le autorizzazioni che l'utente o un AWS servizio integrato AWS KMS può utilizzare per specificare come e quando è possibile utilizzare una chiave KMS. Le concessioni sono collegate a una chiave KMS; ogni concessione, inoltre, contiene il principale che riceve l'autorizzazione per utilizzare la chiave KMS e un elenco di operazioni consentite. Le concessioni sono un'alternativa alla policy delle chiavi e sono utili per casi d'uso specifici. Per ulteriori informazioni, consulta [Sovvenzioni in AWS KMS](grants.md).

Per ottenere un elenco di concessioni per una chiave KMS, usa l'operazione. AWS KMS [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html) Puoi esaminare le concessioni per una chiave KMS per determinare chi o cosa dispone attualmente dell'autorizzazione per utilizzare la chiave KMS tramite tali concessioni. L'esempio seguente è una rappresentazione JSON di una concessione che è stata ottenuta dal comando [list-grants](https://docs.aws.amazon.com/cli/latest/reference/kms/list-grants.html) nella AWS CLI.

```
{"Grants": [{
  "Operations": ["Decrypt"],
  "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
  "Name": "0d8aa621-43ef-4657-b29c-3752c41dc132",
  "RetiringPrincipal": "arn:aws:iam::123456789012:root",
  "GranteePrincipal": "arn:aws:sts::111122223333:assumed-role/aws:ec2-infrastructure/i-5d476fab",
  "GrantId": "dc716f53c93acacf291b1540de3e5a232b76256c83b2ecb22cdefa26576a2d3e",
  "IssuingAccount": "arn:aws:iam::111122223333:root",
  "CreationDate": 1.444151834E9,
  "Constraints": {"EncryptionContextSubset": {"aws:ebs:id": "vol-5cccfb4e"}}
}]}
```

Per scoprire chi o cosa dispone dell'autorizzazione per utilizzare la chiave KMS, cerca l'elemento `"GranteePrincipal"`. Nell'esempio precedente, il principale della concessione è un utente del ruolo assunto associato all'istanza EC2 i-5d476fab. L'infrastruttura di EC2 utilizza questo ruolo per collegare il volume EBS crittografato vol-5cccfb4e all'istanza. In questo caso, il ruolo dell'infrastruttura di EC2 dispone dell'autorizzazione per utilizzare la chiave KMS perché in precedenza avevi creato un volume EBS crittografato protetto da questa chiave KMS. e avevi collegato il volume a un'istanza EC2.

L'esempio seguente è un'altra rappresentazione JSON di una concessione che è stata ottenuta dal comando [list-grants](https://docs.aws.amazon.com/cli/latest/reference/kms/list-grants.html) nella AWS CLI. Nell'esempio seguente, il beneficiario principale è un altro. Account AWS

```
{"Grants": [{
  "Operations": ["Encrypt"],
  "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
  "Name": "",
  "GranteePrincipal": "arn:aws:iam::444455556666:root",
  "GrantId": "f271e8328717f8bde5d03f4981f06a6b3fc18bcae2da12ac38bd9186e7925d11",
  "IssuingAccount": "arn:aws:iam::111122223333:root",
  "CreationDate": 1.444151269E9
}]}
```