

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

# Alias in AWS KMS
<a name="kms-alias"></a>

Un *alias* è un nome descrittivo per una AWS KMS key. Ad esempio, un alias ti consente di fare riferimento a una chiave KMS come `test-key` invece di `1234abcd-12ab-34cd-56ef-1234567890ab`. 

[È possibile utilizzare un alias per identificare una chiave KMS nella AWS KMS console, nell'[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operazione e nelle [operazioni crittografiche](kms-cryptography.md#cryptographic-operations), come Encrypt e. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) Gli alias semplificano anche il riconoscimento delle [Chiave gestita da AWS](concepts.md#aws-managed-key). Gli alias per queste chiavi KMS hanno sempre il formato `aws/<service-name>`. Ad esempio, l'alias Chiave gestita da AWS per Amazon DynamoDB è. `aws/dynamodb` Puoi stabilire gli standard per alias simili dei progetti, ad esempio anteporre agli alias il nome di un progetto o di una categoria.

Puoi inoltre consentire e negare l'accesso alle chiavi KMS in base ai relativi alias senza modificare le policy o gestire le concessioni. Questa funzionalità fa parte del AWS KMS supporto per il controllo degli accessi [basato sugli attributi (ABAC)](abac.md). Per informazioni dettagliate, vedi [Usa gli alias per controllare l'accesso alle chiavi KMS](alias-authorization.md).

Gran parte del potere degli alias deriva dalla tua capacità di modificare la chiave KMS associata a un alias in qualsiasi momento. Gli alias possono rendere il tuo codice più facile da scrivere e gestire. Supponi, ad esempio, di utilizzare un alias per fare riferimento a una chiave KMS particolare e di voler modificare la chiave KMS. In tal caso, basta associare l'alias a un'altra chiave KMS. Non è necessario cambiare il codice. 

Gli alias semplificano anche il riutilizzo dello stesso codice in diverse Regioni AWS. Crea alias con lo stesso nome in più regioni e associa ogni alias a una chiave KMS nella sua regione. Quando il codice viene eseguito in ogni regione, l'alias fa riferimento alla relativa chiave KMS associata in quella regione. Per vedere un esempio, consulta [Scopri come utilizzare gli alias nelle tue applicazioni](alias-using.md).

[Puoi creare un alias per una chiave KMS nella AWS KMS console, utilizzando l'[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)API o utilizzando il modello. AWS::KMS::Alias CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)

L' AWS KMS API fornisce il controllo completo degli alias in ogni account e regione. L'API include operazioni per creare un alias ([CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)), visualizzare nomi di alias e alias ARNs ([ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)), modificare la chiave KMS associata a un alias () ed eliminare un alias ([UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)). [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)

## Come funzionano gli alias
<a name="alias-about"></a>

Scopri come gli alias funzionano in AWS KMS.

**Un alias è una risorsa indipendente AWS **  
Un alias non è una proprietà di una chiave KMS. Le operazioni eseguite sull'alias non influiscono sulla relativa chiave KMS associata. Puoi creare un alias per una chiave KMS e quindi aggiornare l'alias in modo che venga associato a un'altra chiave KMS. È anche possibile eliminare l'alias senza alcun effetto sulla chiave KMS associata. Tuttavia, se si elimina una chiave KMS, vengono eliminati tutti gli alias associati a tale chiave KMS.  
Se si specifica un alias come risorsa in una policy IAM, la policy fa riferimento all'alias e non alla chiave KMS associata.

**Ogni alias ha due formati**  
Quando si crea un alias, si specifica il nome dell'alias. AWS KMS crea l'alias ARN per te.  
+ Un [ARN di alias](concepts.md#key-id-alias-ARN) è un Amazon Resource Name (ARN) che identifica in modo univoco l'alias. 

  ```
  # Alias ARN
  arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  ```
+ Il [nome alias](concepts.md#key-id-alias-name) è unico solo per un account e per una regione. Nell' AWS KMS API, il nome dell'alias è sempre preceduto da. `alias/` Tale prefisso viene omesso nella console. AWS KMS 

  ```
  # Alias name
  alias/<alias-name>
  ```

**Gli alias non sono segreti**  
Gli alias possono essere visualizzati in testo semplice nei log e in CloudTrail altri output. Non includere informazioni riservate o sensibili nel nome dell'alias.

**Ogni alias è associato a una chiave KMS alla volta**  
L'alias e la relativa chiave KMS devono trovarsi nello stesso account e nella stessa regione.   
È possibile associare un alias a qualsiasi [chiave gestita dal cliente](concepts.md#customer-mgn-key) nella stessa regione. Account AWS Tuttavia, non hai l'autorizzazione per associare un alias a una [Chiave gestita da AWS](concepts.md#aws-managed-key).  
Ad esempio, questo [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)output mostra che l'`test-key`alias è associato esattamente a una chiave KMS di destinazione, rappresentata dalla proprietà. `TargetKeyId`  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
}
```

**Puoi associare più alias alla stessa chiave KMS**  
Ad esempio, puoi associare gli alias `test-key` e `project-key` alla stessa chiave KMS.  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
},
{
     "AliasName": "alias/project-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1516435200.399,
     "LastUpdatedDate": 1516435200.399
}
```

**L'alias deve essere univoco nell'account e nella regione**  
Ad esempio, è possibile avere un solo alias `test-key` in ogni account e regione. Gli alias rispettano la distinzione tra maiuscole e minuscole, ma gli alias che differiscono solo nella la distinzione tra maiuscole e minuscole sono molto inclini all'errore. Non è possibile modificare un nome alias. Tuttavia, puoi eliminare l'alias e creare un nuovo alias con il nome desiderato.

**Puoi creare un alias con lo stesso nome in diverse regioni**  
Ad esempio, puoi avere un alias `finance-key` negli Stati Uniti orientali (Virginia settentrionale) e un alias `finance-key` in Europa (Francoforte). Ogni alias verrebbe associato a una chiave KMS nella rispettiva regione. Se il tuo codice fa riferimento a un nome alias come `alias/finance-key`, puoi eseguirlo in più regioni. In ogni regione utilizza una diversa chiave KMS. Per informazioni dettagliate, vedi [Scopri come utilizzare gli alias nelle tue applicazioni](alias-using.md).

**Puoi modificare la chiave KMS associata a un alias**  
È possibile utilizzare l'[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operazione per associare un alias a una chiave KMS diversa. Ad esempio, se l'alias `finance-key` è associato alla chiave KMS `1234abcd-12ab-34cd-56ef-1234567890ab` puoi aggiornarlo in modo che sia associato alla chiave KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.  
Tuttavia, le chiavi KMS correnti e nuove devono essere dello stesso tipo (entrambe simmetriche, asimmetriche o HMAC) e devono avere lo stesso [utilizzo della chiave ](create-keys.md#key-usage)(ENCRYPT\$1DECRYPT, SIGN\$1VERIFY o GENERATE\$1VERIFY\$1MAC). Questa restrizione impedisce errori nel codice che utilizza alias. Se è necessario associare un alias a un tipo di chiave diverso e sono stati attenuati i rischi, puoi eliminare e ricreare l'alias.

**Alcune chiavi KMS non hanno alias**  
Quando crei una chiave KMS nella AWS KMS console, devi assegnarle un nuovo alias. Ma non è necessario un alias quando si utilizza l'[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operazione per creare una chiave KMS. Inoltre, è possibile utilizzare l'[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operazione per modificare la chiave KMS associata a un alias e l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operazione per eliminare un alias. Di conseguenza, alcune chiavi KMS potrebbero avere diversi alias e altre potrebbero non averne alcuno.

**AWS crea alias nel tuo account**  
AWS crea alias nel tuo account per. [Chiavi gestite da AWS](concepts.md#aws-managed-key) Questi alias hanno i nomi del modulo `alias/aws/<service-name>`, ad esempio `alias/aws/s3`.   
Alcuni AWS alias non hanno una chiave KMS. Questi alias predefiniti sono generalmente associati a un messaggio Chiave gestita da AWS quando si inizia a utilizzare il servizio.

**Utilizzare gli alias per identificare le chiavi KMS**  
È possibile utilizzare un [nome alias](concepts.md#key-id-alias-name) o un [alias ARN](concepts.md#key-id-alias-ARN) per identificare una chiave KMS nelle operazioni [crittografiche](kms-cryptography.md#cryptographic-operations) e. [DescribeKey[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) (Se l'opzione [La chiave KMS è in un Account AWS diverso](key-policy-modifying-external-accounts.md), è necessario utilizzare il suo [ARN della chiave](concepts.md#key-id-key-ARN) o ARN dell'alias.) Gli alias non sono identificatori validi per le chiavi KMS in altre operazioni AWS KMS . *Per informazioni sugli [identificatori di chiave](concepts.md#key-id) validi per ogni operazione AWS KMS API, consulta le descrizioni dei parametri nell'API Reference. `KeyId`AWS Key Management Service *  
Non puoi utilizzare un nome alias o un ARN di alias per [identificare una chiave KMS in una policy IAM](cmks-in-iam-policies.md). Per controllare l'accesso a una chiave KMS in base ai relativi alias, usa le chiavi di condizione [kms: RequestAlias o [kms](conditions-kms.md#conditions-kms-resource-aliases):](conditions-kms.md#conditions-kms-request-alias). ResourceAliases Per informazioni dettagliate, vedi [ABAC per AWS KMS](abac.md).

# Controllo dell'accesso agli alias
<a name="alias-access"></a>

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](key-policies.md), le [policy IAM](iam-policies.md) e le [concessioni](grants.md). 

**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](abac.md) e [Usa gli alias per controllare l'accesso alle chiavi KMS](alias-authorization.md).

Per informazioni sul controllo dell'accesso a tutte le AWS KMS operazioni, consulta. [Riferimento per le autorizzazioni](kms-api-permissions-reference.md)

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

## kms:CreateAlias
<a name="alias-access-create"></a>

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`. È tuttavia possibile elencare più alias ARNs o specificare uno schema di alias, ad esempio «test\$1». 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](conditions-kms.md#conditions-kms-key-spec) 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](kms-api-permissions-reference.md).

## kms:ListAliases
<a name="alias-access-view"></a>

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 `"*"`](iam-policies-best-practices.md#require-resource-star). 

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.

------
#### [ JSON ]

****  

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

------

## kms:UpdateAlias
<a name="alias-access-update"></a>

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 puoi elencare più alias ARNs 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](conditions-kms.md#conditions-kms-resource-aliases) 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](kms-api-permissions-reference.md).

## kms:DeleteAlias
<a name="alias-access-delete"></a>

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 puoi elencare più alias ARNs o specificare un modello di alias, ad esempio`"test*"`, Puoi anche specificare un `Resource` valore 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
<a name="alias-access-limiting"></a>

È 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](conditions-kms.md#conditions-kms-key-origin) condition per limitare ulteriormente le autorizzazioni alle chiavi KMS contenenti 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](kms-api-permissions-reference.md).

```
{
  "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 seguenti dichiarazioni politiche consentono al principale di creare, aggiornare o eliminare qualsiasi alias nella regione Account AWS and, 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*"
}
```

# Creare alias
<a name="alias-create"></a>

È possibile creare alias nella AWS KMS console o utilizzando le operazioni AWS KMS API. 

L'alias deve essere una stringa da 1 a 256 caratteri. Può contenere solo caratteri alfanumerici, barre (/), trattini bassi (\$1) e trattini (-). Il nome alias per una [chiave gestita dal cliente](concepts.md#customer-mgn-key) non può iniziare con `alias/aws/`. Il prefisso `alias/aws/` è riservato per [Chiave gestita da AWS](concepts.md#aws-managed-key).

È possibile creare un alias per una nuova chiave KMS o per una chiave KMS esistente. Puoi aggiungere un alias in modo che la chiave KMS venga utilizzata un particolare progetto o applicazione. 

Puoi anche utilizzare un AWS CloudFormation modello per creare un alias per una chiave KMS. Per ulteriori informazioni, consulta [AWS::KMS::Alias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html) nella *Guida per l'utente di AWS CloudFormation *.

## Utilizzo della console AWS KMS
<a name="alias-create-console"></a>

Quando [crei una chiave KMS](create-keys.md) nella AWS KMS console, devi creare un alias per la nuova chiave KMS. Per creare un alias per una chiave KMS esistente, utilizzare la scheda **Alias** nella pagina dei dettagli della chiave KMS.

1. [Accedi Console di gestione AWS e apri la console AWS Key Management Service (AWS KMS) in /kms. https://console.aws.amazon.com](https://console.aws.amazon.com/kms)

1. Per modificare il Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

1. Nel riquadro di navigazione, scegli **Chiavi gestite dal cliente**. Non è possibile gestire gli alias per o. Chiavi gestite da AWS Chiavi di proprietà di AWS

1. Nella tabella scegli l'alias o l'ID chiave della chiave KMS. Quindi, nella pagina dei dettagli della chiave KMS, scegliere la scheda **Alias**.

   Se una chiave KMS dispone di più alias, la colonna **Alias** nella tabella mostra un alias e un riepilogo degli alias, ad esempio **(\$1*n* più)**. Scegliendo il riepilogo alias puoi accedere direttamente alla scheda **Alias** nella pagina dei dettagli della chiave KMS.

1. Nella scheda **Alias**, scegli **Crea alias**. Immetti un nome alias e scegli **Crea alias**.
**Importante**  
Non includere informazioni riservate o sensibili in questo campo. Questo campo può essere visualizzato in testo semplice nei CloudTrail log e in altri output.
**Nota**  
Non aggiungere il prefisso `alias/`. La console lo aggiunge automaticamente. Se inserisci `alias/ExampleAlias`, il nome alias effettivo sarà `alias/alias/ExampleAlias`.

## Utilizzo dell'API AWS KMS
<a name="alias-create-api"></a>

Per creare un alias, usa l'[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operazione. A differenza del processo di creazione delle chiavi KMS nella console, l'[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operazione non crea un alias per una nuova chiave KMS.

**Importante**  
Non includere informazioni riservate o sensibili in questo campo. Questo campo può essere visualizzato in testo semplice nei log e in CloudTrail altri output.

Puoi utilizzare l'operazione `CreateAlias` per creare un alias per una nuova chiave KMS senza alias. Puoi inoltre utilizzare l'operazione `CreateAlias` per aggiungere un alias a qualsiasi chiave KMS esistente o per ricreare un alias eliminato accidentalmente. 

Nelle operazioni AWS KMS API, il nome dell'alias deve iniziare con `alias/` seguito da un nome, ad esempio. `alias/ExampleAlias` L'alias deve essere univoco nell'account e nella regione. Per trovare i nomi alias già in uso, utilizzate l'operazione. [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) Il nome alias fa distinzione tra maiuscole e minuscole.

Il `TargetKeyId` può essere qualsiasi [chiave gestita dal cliente](concepts.md#customer-mgn-key) nella stessa Regione AWS. Per identificare la chiave KMS utilizza [l'ID chiave](concepts.md#key-id-key-id) o [l'ARN di chiave](concepts.md#key-id-key-ARN). Non puoi utilizzare un altro alias.

Nell'esempio seguente viene creato l'alias `example-key` e viene associato alla chiave KMS specificata. Questi esempi utilizzano il AWS Command Line Interface (AWS CLI). Per esempi in più linguaggi di programmazione, consulta [Utilizzo `CreateAlias` con un AWS SDK o una CLI](example_kms_CreateAlias_section.md).

```
$ aws kms create-alias \
    --alias-name alias/example-key \
    --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
```

`CreateAlias` non restituisce alcun output. Per visualizzare il nuovo alias utilizza l'operazione `ListAliases`. Per informazioni dettagliate, vedi [Utilizzo dell'API AWS KMS](alias-view.md#alias-view-api).

# Trova il nome dell'alias e l'alias ARN per una chiave KMS
<a name="alias-view"></a>

Gli alias facilitano il riconoscimento delle chiavi KMS nella console. AWS KMS È possibile visualizzare gli alias per una chiave KMS nella AWS KMS console o utilizzando l'operazione. [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) L'[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operazione, che restituisce le proprietà di una chiave KMS, non include alias.

Le seguenti procedure mostrano come visualizzare e identificare gli alias associati a una chiave KMS utilizzando la console e l' AWS KMS API. AWS KMS Gli esempi di AWS KMS API utilizzano il [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), ma è possibile utilizzare qualsiasi linguaggio di programmazione supportato.

## Utilizzo della AWS KMS console
<a name="alias-view-console"></a>

La AWS KMS console visualizza gli alias associati alla chiave KMS. 

1. [Apri la AWS KMS console in /kms. https://console.aws.amazon.com](https://console.aws.amazon.com/kms)

1. Per modificare il Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

1. Per visualizzare le chiavi nell'account creato e gestito dall'utente, nel riquadro di navigazione, seleziona **Chiavi gestite dal cliente**. **Per visualizzare le chiavi dell'account che AWS crea e gestisce per te, nel riquadro di navigazione, scegli chiavi gestite.AWS **

1. La colonna **Alias** mostra l'alias per ogni chiave KMS. Se una chiave KMS non dispone di un alias, nella colonna **Alias** compare un trattino (**-**).

   Se una chiave KMS dispone di più alias, la colonna **Alias** ha anche un riepilogo degli alias, ad esempio **(\$1*n* più)**. Ad esempio, la seguente chiave KMS ha due alias, uno dei quali è `key-test`. 

   Per trovare il nome e l'ARN alias di tutti gli alias della chiave KMS, utilizza la scheda **Alias**. 
   + Per andare direttamente alla scheda **Alias**, nella colonna **Alias**, scegli il riepilogo degli alias (**\$1*n* più**). Un riepilogo degli alias viene mostrato solo se la chiave KMS contiene più di un alias.
   + In alternativa, scegliere l'ID chiave o alias della chiave KMS (che apre la pagina dei dettagli della chiave KMS) e scegli la scheda **Alias**. Le schede si trovano sotto la sezione **Configurazione generale**.   
![\[Chiavi gestite dal cliente interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/it_it/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. La scheda **Alias** mostra il nome alias e l'ARN dell'alias di tutti gli alias per una chiave KMS. In questa scheda puoi anche creare ed eliminare alias per la chiave KMS.  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/it_it/kms/latest/developerguide/images/alias-tab-1.png)

**Chiavi gestite da AWS**  
Puoi usare l'alias per riconoscere un Chiave gestita da AWS, come mostrato in questa **Chiavi gestite da AWS**pagina di esempio. Gli alias per le Chiavi gestite da AWS hanno sempre il formato: `aws/<service-name>`. Ad esempio, l'alias Chiave gestita da AWS per Amazon DynamoDB è. `aws/dynamodb`

![\[Alias nella pagina Chiavi gestite da AWS della console AWS KMS\]](http://docs.aws.amazon.com/it_it/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


## Utilizzo dell'API AWS KMS
<a name="alias-view-api"></a>

L'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operazione restituisce il nome dell'alias e l'alias ARN degli alias nell'account e nella regione. L'output include alias per Chiavi gestite da AWS e per le chiavi gestite dal cliente. Gli alias per Chiavi gestite da AWS hanno il formato `aws/<service-name>`, ad esempio `aws/dynamodb`.

La risposta potrebbe anche includere alias che non hanno alcun campo `TargetKeyId`. Si tratta di alias predefiniti che sono AWS stati creati ma non sono ancora associati a una chiave KMS.

```
$ aws kms list-aliases
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1516435200.399,
            "LastUpdatedDate": 1516435200.399
        },        
        {
            "AliasName": "alias/ECC-P521-Sign",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1693622000.704,
            "LastUpdatedDate": 1693622000.704
        },
        {
            "AliasName": "alias/ImportedKey",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey",
            "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d",
            "CreationDate": 1493622000.704,
            "LastUpdatedDate": 1521097200.235
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        },
        {
            "AliasName": "alias/aws/dynamodb",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb",
            "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef",
            "CreationDate": 1521097200.454,
            "LastUpdatedDate": 1521097200.454
        },
        {
            "AliasName": "alias/aws/ebs",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs",
            "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321",
            "CreationDate": 1466518990.200,
            "LastUpdatedDate": 1466518990.200
        }
    ]
}
```

Per ottenere tutti gli alias associati a una particolare chiave KMS utilizza il parametro `KeyId` facoltativo dell'operazione `ListAliases`. Il parametro `KeyId` accetta [l'ID chiave](concepts.md#key-id-key-id) o [l'ARN della chiave](concepts.md#key-id-key-ARN) della chiave KMS. 

In questo esempio vengono restituiti tutti gli alias associati alla chiave KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.

```
$ aws kms list-aliases --key-id 0987dcba-09fe-87dc-65ba-ab0987654321
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": "2018-01-20T15:23:10.194000-07:00",
            "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        }
    ]
}
```

Il parametro `KeyId` non accetta caratteri jolly, ma puoi utilizzare le caratteristiche del linguaggio di programmazione per filtrare la risposta. 

Ad esempio, il AWS CLI comando seguente ottiene solo gli alias per. Chiavi gestite da AWS

```
$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'
```

Il comando seguente ottiene solo l'alias `access-key`. Il nome alias fa distinzione tra maiuscole e minuscole.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/access-key`]'
[
    {
        "AliasName": "alias/access-key",
        "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
        "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": "2018-01-20T15:23:10.194000-07:00",
        "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
    }
]
```

# Aggiornare gli alias
<a name="alias-update"></a>

Poiché un alias è una risorsa indipendente, puoi modificare la chiave KMS associata a un alias. Ad esempio, se l'`test-key`alias è associato a una chiave KMS, puoi utilizzare l'[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operazione per associarlo a una chiave KMS diversa. Questo è uno dei diversi modi per [ruotare manualmente una chiave KMS](rotate-keys.md) senza modificare il materiale della chiave. È inoltre possibile aggiornare una chiave KMS in modo che un'applicazione che utilizzava una chiave KMS per nuove risorse utilizzi ora una diversa.

Non è possibile aggiornare un alias nella console. AWS KMS Inoltre, non puoi utilizzare `UpdateAlias` (o qualsiasi altra operazione) per modificare un nome di alias. Per modificare un nome di alias, elimina l'attuale alias e quindi crea un nuovo alias per la chiave KMS.

Quando aggiorni un alias, la chiave KMS corrente e la nuova chiave KMS devono essere dello stesso tipo (entrambe simmetriche, asimmetriche o HMAC). Devono anche avere lo stesso utilizzo della chiave (`ENCRYPT_DECRYPT` o `SIGN_VERIFY` o GENERATE\$1VERIFY\$1MAC). Questa restrizione impedisce errori di crittografia nel codice che utilizza alias. 

L'esempio seguente inizia utilizzando l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operazione per mostrare che l'`test-key`alias è attualmente associato alla chiave KMS. `1234abcd-12ab-34cd-56ef-1234567890ab` 

```
$ aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{
    "Aliases": [
        {
            "AliasName": "alias/test-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1593622000.191,
            "LastUpdatedDate": 1593622000.191
        }
    ]
}
```

Successivamente, utilizza l’operazione `UpdateAlias` per modificare la chiave KMS associata con l’alias `test-key` alla chiave KMS `0987dcba-09fe-87dc-65ba-ab0987654321`. Non è necessario specificare la chiave KMS attualmente associata, ma solo la nuova chiave KMS ("di destinazione"). Il nome alias fa distinzione tra maiuscole e minuscole.

```
$ aws kms update-alias --alias-name 'alias/test-key' --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
```

Per verificare che l'alias sia ora associato alla chiave KMS di destinazione, utilizza nuovamente l'operazione `ListAliases`. Questo AWS CLI comando utilizza il `--query` parametro per ottenere solo l'`test-key`alias. I campi `TargetKeyId` e `LastUpdatedDate` vengono aggiornati.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]'
[
    {
        "AliasName": "alias/test-key",
        "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
        "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": 1593622000.191,
        "LastUpdatedDate": 1604958290.154
    }
]
```

# Eliminare un alias
<a name="alias-delete"></a>

È possibile eliminare un alias nella AWS KMS console o utilizzando l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operazione. Prima di eliminare un alias, assicurati che non sia in uso. Sebbene l'eliminazione di un alias non influisca sulla chiave KMS associata, potrebbe creare problemi per qualsiasi applicazione che lo utilizza. Se elimini un alias per errore, puoi creare un nuovo alias con lo stesso nome e associarlo alla stessa o a un'altra chiave KMS.

Se si elimina una chiave KMS, vengono eliminati tutti gli alias associati a tale chiave KMS.

## Utilizzo della console AWS KMS
<a name="alias-delete-console"></a>

Per eliminare un alias nella AWS KMS console, utilizza la scheda **Alias** nella pagina dei dettagli della chiave KMS. È possibile eliminare più alias per una chiave KMS contemporaneamente.

1. [Accedi Console di gestione AWS e apri la console AWS Key Management Service (AWS KMS) in /kms. https://console.aws.amazon.com](https://console.aws.amazon.com/kms)

1. Per modificare il Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

1. Nel riquadro di navigazione, scegli **Chiavi gestite dal cliente**. Non è possibile gestire gli alias per o. Chiavi gestite da AWS Chiavi di proprietà di AWS

1. Nella tabella scegli l'alias o l'ID chiave della chiave KMS. Quindi, nella pagina dei dettagli della chiave KMS, scegliere la scheda **Alias**.

   Se una chiave KMS dispone di più alias, la colonna **Alias** nella tabella mostra un alias e un riepilogo degli alias, ad esempio **(\$1*n* più)**. Scegliendo il riepilogo alias puoi accedere direttamente alla scheda **Alias** nella pagina dei dettagli della chiave KMS.

1. Sulla scheda **Alias** seleziona la casella di controllo accanto agli alias che si desidera eliminare. Scegli **Elimina**.

## Utilizzo dell'API AWS KMS
<a name="alias-delete-api"></a>

Per eliminare un alias, usa l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operazione. Questa operazione elimina un alias alla volta. Il nome alias fa distinzione tra maiuscole e minuscole e deve essere preceduto dal prefisso `alias/`.

Ad esempio, il comando seguente elimina l'alias `test-key`. Questo comando non restituisce alcun output. 

```
$ aws kms delete-alias --alias-name alias/test-key
```

Per verificare che l'alias venga eliminato, utilizzare l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operazione. Il comando seguente utilizza il `--query` parametro in AWS CLI per ottenere solo l'`test-key`alias. Le parentesi vuote nella risposta indicano che la risposta di `ListAliases` non include un alias `test-key`. Per eliminare le parentesi, utilizza il parametro `--output text` e il valore.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]'
[]
```

# Usa gli alias per controllare l'accesso alle chiavi KMS
<a name="alias-authorization"></a>

È possibile controllare l'accesso alle chiavi KMS in base agli alias associati alla chiave KMS. Per farlo, usa i tasti [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) e [kms](conditions-kms.md#conditions-kms-resource-aliases): condition. ResourceAliases Questa funzionalità fa parte del AWS KMS supporto per il controllo degli [accessi basato sugli attributi (ABAC)](abac.md).

La chiave di condizione `kms:RequestAlias` consente o nega l'accesso a una chiave KMS in base all'alias in una richiesta. La chiave di condizione `kms:ResourceAliases` consente o nega l'accesso a una chiave KMS in base agli alias associati alla chiave KMS. 

Queste funzionalità non consentono di identificare una chiave KMS utilizzando un alias nell’elemento `resource` di un’istruzione di policy. Quando un alias è il valore di un elemento `resource`, la policy si applica alla risorsa alias e non a qualsiasi chiave KMS che potrebbe essere associata.

**Nota**  
È possibile che occorrano fino a cinque minuti affinché le modifiche a tag e alias diventano effettive per l'autorizzazione delle chiavi KMS. Le modifiche recenti potrebbero essere visibili nelle operazioni API prima che influiscano sull'autorizzazione.

Quando si utilizzano alias per controllare l'accesso alle chiavi KMS, considerare quanto segue:
+ Utilizzare gli alias per rafforzare la best practice dell'[accesso con privilegio minimo](iam-policies-best-practices.md). Assegna ai principali IAM solo le autorizzazioni necessarie solo per quelle chiavi KMS che devono utilizzare o gestire. Ad esempio, utilizzare gli alias per identificare le chiavi KMS utilizzate per un progetto. Quindi concedere al team di progetto l'autorizzazione a utilizzare solo le chiavi KMS con gli alias del progetto. 
+ Fai attenzione a concedere ai principali le autorizzazioni `kms:CreateAlias`, `kms:UpdateAlias`, oppure`kms:DeleteAlias` che consentono di aggiungere, modificare ed eliminare alias. Quando si utilizzano gli alias per controllare l'accesso alle chiavi KMS, la modifica di un alias può concedere alle entità l'autorizzazione di utilizzare chiavi KMS che altrimenti non disponevano dell'autorizzazione per utilizzare. Può inoltre negare l'accesso alle chiavi KMS richieste da altre entità principali per svolgere il proprio lavoro. 
+ Controlla i tuoi responsabili Account AWS che attualmente dispongono dell'autorizzazione a gestire gli alias e modifica le autorizzazioni, se necessario. Gli amministratori delle chiavi che non dispongono dell'autorizzazione per modificare le policy delle chiavi o creare concessioni possono controllare l'accesso alle chiavi KMS se dispongono dell'autorizzazione per gestire gli alias. 

  Ad esempio, la console [policy delle chiavi predefinita per amministratori delle chiavi](key-policy-default.md#key-policy-default-allow-administrators) include le autorizzazioni `kms:CreateAlias`, `kms:DeleteAlias`, e `kms:UpdateAlias`. Le policy IAM potrebbero concedere autorizzazioni alias per tutte le chiavi KMS nel Account AWS. Ad esempio, la politica [AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser)gestita consente ai responsabili di creare, eliminare ed elencare gli alias per tutte le chiavi KMS ma non di aggiornarle.
+ Prima di impostare una politica che dipenda da un alias, esamina gli alias sulle chiavi KMS del tuo. Account AWS Assicurati che la policy sia valida solo per gli alias che intendi includere. Usa [CloudTrail i registri e gli CloudWatch ](alias-ct.md) [allarmi](monitoring-cloudwatch.md) per avvisarti delle modifiche agli alias che potrebbero influire sull'accesso alle tue chiavi KMS. Inoltre, la [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)risposta include la data di creazione e la data dell'ultimo aggiornamento per ogni alias.
+ Le condizioni della policy degli alias utilizzano la corrispondenza dei pattern; non sono legate a una particolare istanza di un alias. Una policy che utilizza chiavi di condizione basate su alias influisce su tutti gli alias nuovi ed esistenti che corrispondono al modello. Se si elimina e si ricrea un alias che corrisponde a una condizione di policy, la condizione si applica al nuovo alias, esattamente come quello precedente. 

La chiave di condizione `kms:RequestAlias` si basa sull'alias specificato esplicitamente in una richiesta di operazione. La chiave di condizione `kms:ResourceAliases` dipende dagli alias associati a una chiave KMS, anche se non vengono visualizzati nella richiesta.

## kms:RequestAlias
<a name="alias-auth-request-alias"></a>

Consentire o negare l'accesso a una chiave KMS in base all'alias che identifichi la chiave KMS in una richiesta. Puoi utilizzare la chiave [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) condition in una policy chiave o in una [policy](key-policies.md) IAM. Si applica alle operazioni che utilizzano un alias per identificare una chiave KMS in una richiesta, vale a dire [le operazioni crittografiche](kms-cryptography.md#cryptographic-operations), e. [DescribeKey[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) Non è valido per le operazioni di alias, come o. [CreateAlias[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)

**Importante**  
Una dichiarazione di `Deny` policy con `kms:RequestAlias` questa condizione non è consigliata perché i chiamanti possono ignorarla utilizzando l'[ID chiave](concepts.md#key-id-key-id), l'[ARN](concepts.md#key-id-key-ARN) della chiave o un alias diverso per identificare la chiave KMS nella richiesta. [Per negare l'accesso in base agli alias associati a una chiave KMS, utilizza invece la chiave kms: condition. ResourceAliases](conditions-kms.md#conditions-kms-resource-aliases)

Nella chiave condizione, specificare un [Nome alias](concepts.md#key-id-alias-name) o modello di nome alias. Non puoi specificare un [ARN di alias](concepts.md#key-id-alias-ARN).

Ad esempio, la seguente istruzione della policy delle chiavi consente al principale di utilizzare nella chiave KMS le operazioni specificate. L'autorizzazione diventa effettiva solo quando la richiesta utilizza un alias che include `alpha` per identificare la chiave KMS.

```
{
  "Sid": "Key policy using a request alias condition",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/alpha-developer"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:RequestAlias": "alias/*alpha*"
    }
  }
}
```

La seguente richiesta di esempio da un principale autorizzato soddisferebbe la condizione. Tuttavia, una richiesta che ha utilizzato un [ID chiave](concepts.md#key-id-key-id), un [ARN della chiave](concepts.md#key-id-key-ARN) o un alias diverso non soddisferebbe la condizione, anche se questi valori identificavano la stessa chiave KMS.

```
$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
```

## kms:ResourceAliases
<a name="alias-auth-resource-aliases"></a>

Consentire o negare l'accesso a una chiave KMS in base agli alias associati alla chiave KMS, anche se l'alias non viene utilizzato in una richiesta. La chiave [kms: ResourceAliases](conditions-kms.md#conditions-kms-resource-aliases) condition ti consente di specificare un alias o un pattern di alias, ad esempio, in modo da poterlo utilizzare in una policy IAM per controllare l'accesso a diverse chiavi KMS nella stessa `alias/test*` regione. È valido per qualsiasi AWS KMS operazione che utilizza una chiave KMS. 

Ad esempio, la seguente politica IAM consente ai principali di richiamare in due le operazioni specificate sulle chiavi KMS. Account AWS Tuttavia, l'autorizzazione si applica solo alle chiavi KMS associate agli alias che iniziano con `restricted`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AliasBasedIAMPolicy",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": [
        "arn:aws:kms:*:111122223333:key/*",
        "arn:aws:kms:*:444455556666:key/*"
      ],
      "Condition": {
        "ForAnyValue:StringLike": {
          "kms:ResourceAliases": "alias/restricted*"
        }
      }
    }
  ]
}
```

------

La condizione `kms:ResourceAliases` è una condizione della risorsa, non la richiesta. Pertanto, una richiesta che non specifica l'alias può ancora soddisfare la condizione.

La seguente richiesta di esempio, che specifica un alias corrispondente, soddisfa la condizione.

```
$ aws kms enable-key-rotation --key-id "alias/restricted-project"
```

Tuttavia, la seguente richiesta di esempio soddisfa anche la condizione, a condizione che la chiave KMS specificata abbia un alias che inizia con `restricted`, anche se quell'alias non viene utilizzato nella richiesta.

```
$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
```

# Scopri come utilizzare gli alias nelle tue applicazioni
<a name="alias-using"></a>

Puoi utilizzare un alias per rappresentare una chiave KMS nel codice dell'applicazione. Il `KeyId` parametro nelle [operazioni AWS KMS crittografiche](kms-cryptography.md#cryptographic-operations) e [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)accetta un nome alias o un alias ARN. [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)

Ad esempio, il comando `GenerateDataKey` seguente utilizza un nome alias (`alias/finance`) per identificare una chiave KMS. Il nome alias è il valore del parametro `KeyId`. 

```
$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256
```

Se la chiave KMS si trova in un altro Account AWS, è necessario utilizzare una chiave ARN o un alias ARN in queste operazioni. Quando si utilizza un alias ARN, tenere presente che l'alias per una chiave KMS è definito nell'account proprietario della chiave KMS e potrebbe differire in ogni regione. Per informazioni sulla ricerca dell'ARN alias, consulta [Trova il nome dell'alias e l'alias ARN per una chiave KMS](alias-view.md).

Ad esempio, il seguente comando `GenerateDataKey` utilizza una chiave KMS che non è presente nell'account del chiamante. L’alias `ExampleAlias` è associato alla chiave KMS nell'account e nella regione specificati.

```
$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256
```

Uno degli usi più efficaci degli alias è nelle applicazioni eseguite in più Regioni AWS. Ad esempio, puoi avere un'applicazione globale che utilizza una [chiave KMS asimmetrica](symmetric-asymmetric.md) RSA per la firma e la verifica. 
+ Nella regione Stati Uniti occidentali (Oregon) (us-west-2) vuoi utilizzare `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`. 
+ In Europa (Francoforte) (eu-central-1), vuoi utilizzare `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321`
+ Nella regione Asia Pacifico (Singapore) (ap-southeast-1), vuoi utilizzare `arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d`.

Puoi creare una versione diversa dell'applicazione in ogni regione o utilizzare un dizionario o un'istruzione switch per selezionare la chiave KMS corretta per ogni regione. Tuttavia è molto più semplice creare un alias con lo stesso nome alias in ogni regione. Tieni presente che il nome alias rispetta la distinzione tra maiuscole e minuscole.

```
aws --region us-west-2 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

aws --region eu-central-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

aws --region ap-southeast-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
```

Quindi, utilizza l'alias nel codice. Quando il codice viene eseguito in ogni regione, l'alias farà riferimento alla relativa chiave KMS associata in quella regione. Ad esempio, questo codice chiama l'operazione [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) con un nome alias.

```
aws kms sign --key-id alias/new-app \
    --message $message \
    --message-type RAW \
    --signing-algorithm RSASSA_PSS_SHA_384
```

Tuttavia, esiste il rischio che l'alias possa essere eliminato o aggiornato per essere associato a un'altra chiave KMS. In tal caso, i tentativi dell'applicazione di verificare le firme utilizzando il nome alias avranno esito negativo e potrebbe essere necessario ricreare o aggiornare l'alias.

Per ridurre questo rischio, presta attenzione a concedere ai principali l'autorizzazione a gestire gli alias utilizzati nell'applicazione. Per informazioni dettagliate, vedi [Controllo dell'accesso agli alias](alias-access.md).

Esistono diverse altre soluzioni per le applicazioni che crittografano i dati in più regioni Regioni AWS, tra cui [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).

# Trova gli alias nei log AWS CloudTrail
<a name="alias-ct"></a>

È possibile utilizzare un alias per rappresentare un elemento AWS KMS key in un' AWS KMS operazione API. In tal caso, l'alias e la chiave ARN della chiave KMS vengono registrati nella voce di registro AWS CloudTrail dell'evento. L'alias viene visualizzato nel campo `requestParameters`. L'ARN di chiave viene visualizzato nel campo `resources`. Questo è vero anche quando un AWS servizio ne utilizza uno Chiave gestita da AWS nel tuo account. 

Ad esempio, la [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)richiesta seguente utilizza l'`project-key`alias per rappresentare una chiave KMS.

```
$ aws kms generate-data-key --key-id alias/project-key --key-spec AES_256
```

Quando questa richiesta viene registrata nel CloudTrail registro, la voce di registro include sia l'alias che la chiave ARN della chiave KMS effettiva utilizzata. 

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDE",
        "arn": "arn:aws:iam::111122223333:role/ProjectDev",
        "accountId": "111122223333",
        "accessKeyId": "FFHIJ",
        "userName": "example-dev"
    },
    "eventTime": "2020-06-29T23:36:41Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "205.205.123.000",
    "userAgent": "aws-cli/1.18.89 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.12",
    "requestParameters": {
        "keyId": "alias/project-key",
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "d93f57f5-d4c5-4bab-8139-5a1f7824a363",
    "eventID": "d63001e2-dbc6-4aae-90cb-e5370aca7125",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "111122223333"
}
```

Per informazioni dettagliate sulle AWS KMS operazioni di registrazione nei CloudTrail log, vedere. [Registrazione delle chiamate AWS KMS API con AWS CloudTrail](logging-using-cloudtrail.md)