

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Un *alias* est un nom convivial pour une AWS KMS key. Par exemple, un alias vous permet de faire référence à une clé KMS en tant que `test-key` au lieu de `1234abcd-12ab-34cd-56ef-1234567890ab`. 

Vous pouvez utiliser un alias pour identifier une clé KMS dans la AWS KMS console, dans l'[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)opération et dans les [opérations cryptographiques](kms-cryptography.md#cryptographic-operations), telles que [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) et. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) Les alias facilitent également la reconnaissance d'une [Clé gérée par AWS](concepts.md#aws-managed-key). Les alias de ces clés KMS sont toujours au format `aws/<service-name>`. Par exemple, l'alias Clé gérée par AWS pour Amazon `aws/dynamodb` DynamoDB est. Vous pouvez établir des normes d'alias similaires pour vos projets, par exemple préfacer vos alias avec le nom d'un projet ou d'une catégorie.

Vous pouvez également autoriser et refuser l'accès aux clés KMS en fonction de leurs alias sans modifier les politiques ni gérer les octrois. Cette fonctionnalité fait partie de la AWS KMS prise en charge du [contrôle d'accès basé sur les attributs](abac.md) (ABAC). Pour en savoir plus, consultez [Utiliser des alias pour contrôler l'accès aux clés KMS](alias-authorization.md).

Une grande partie des performances des alias provient de votre capacité à modifier la clé KMS associée à un alias à tout moment. Les alias peuvent faciliter l'écriture et la maintenance de votre code. Par exemple, supposons que vous utilisiez un alias pour faire référence à une clé KMS particulière et que vous souhaitiez modifier la clé KMS. Dans ce cas, il suffit d'associer l'alias à une autre clé KMS. Vous n'avez pas besoin d'apporter de modifications à votre code. 

Les alias facilitent également la réutilisation du même code dans différentes Régions AWS. Créez des alias portant le même nom dans plusieurs régions et associez chaque alias à une clé KMS dans sa région. Lorsque le code s'exécute dans chaque région, l'alias fait référence à la clé KMS associée dans cette région. Pour obtenir un exemple, consultez [Apprenez à utiliser des alias dans vos applications](alias-using.md).

Vous pouvez créer un alias pour une clé KMS dans la AWS KMS console, à l'aide de l'[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)API ou du [AWS::KMS::Alias CloudFormation modèle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html).

L' AWS KMS API fournit un contrôle total des alias dans chaque compte et région. L'API inclut des opérations permettant de créer un alias ([CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)), d'afficher les noms d'alias et d'alias ARNs ([ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)), de modifier la clé KMS associée à un alias ([UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)) et de supprimer un alias ([DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)).

## Comment fonctionnent les alias
<a name="alias-about"></a>

Découvrez comment les alias fonctionnent dans AWS KMS.

**Un alias est une AWS ressource indépendante**  
Un alias n'est pas une propriété d'une clé KMS. Les actions que vous effectuez sur l'alias n'affectent pas sa clé KMS associée. Vous pouvez créer un alias pour une clé KMS, puis mettre à jour l'alias afin qu'il soit associé à une autre clé KMS. Vous pouvez même supprimer l'alias sans aucun effet sur la clé KMS associée. Toutefois, si vous supprimez une clé KMS, tous les alias associés à cette clé KMS sont supprimés.  
Si vous spécifiez un alias comme ressource dans une politique IAM, la politique fait référence à l'alias et non à la clé KMS associée.

**Chaque alias a deux formats.**  
Lorsque vous créez un alias, vous spécifiez son nom. AWS KMS crée l'alias ARN pour vous.  
+ Un [ARN d'alias](concepts.md#key-id-alias-ARN) est un Amazon Resource Name (ARN) qui identifie l'alias de façon unique. 

  ```
  # Alias ARN
  arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  ```
+ Un [nom d'alias](concepts.md#key-id-alias-name) qui est unique dans le compte et la région. Dans l' AWS KMS API, le nom de l'alias est toujours préfixé par`alias/`. Ce préfixe est omis dans la AWS KMS console.

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

**Les alias ne sont pas secrets**  
Les alias peuvent être affichés en texte clair dans les CloudTrail journaux et autres sorties. N'incluez pas d'informations confidentielles ou sensibles dans le nom de l’alias.

**Chaque alias est associé à une clé KMS à la fois.**  
L'alias et sa clé KMS doivent se trouver dans le même compte et la même région.   
Vous pouvez associer un alias à n'importe quelle [clé gérée par le client](concepts.md#customer-mgn-key) dans Compte AWS la même région. Cependant, vous n'êtes pas autorisé à associer un alias à une [Clé gérée par AWS](concepts.md#aws-managed-key).  
Par exemple, cette [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)sortie indique que l'`test-key`alias est associé à une seule clé KMS cible, qui est représentée par la `TargetKeyId` propriété.  

```
{
     "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
}
```

**Plusieurs alias peuvent être associés à la même clé KMS.**  
Par exemple, vous pouvez associer les alias `test-key` et `project-key` à la même clé 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
}
```

**Un alias doit être unique dans un compte et une région.**  
Par exemple, vous ne pouvez avoir qu'un seul alias `test-key` dans chaque compte et région. Les alias sont sensibles à la casse, mais les alias qui ne diffèrent que par leur majuscule sont très propices aux erreurs. Vous ne pouvez pas modifier un nom d'alias. Toutefois, vous pouvez supprimer l'alias et créer un alias avec le nom souhaité.

**Vous pouvez créer des alias avec le même nom dans des régions différentes.**  
Par exemple, vous pouvez avoir un alias `finance-key` dans la région USA Est (Virginie du Nord) et un alias `finance-key` en Europe (Francfort). Chaque alias serait associé à une clé KMS dans sa région. Si votre code fait référence à un nom d'alias comme `alias/finance-key`, vous pouvez l'exécuter dans plusieurs régions. Dans chaque région, il utilise une clé KMS différente. Pour en savoir plus, consultez [Apprenez à utiliser des alias dans vos applications](alias-using.md).

**Vous pouvez modifier la clé KMS associée à un alias**  
Vous pouvez utiliser cette [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)opération pour associer un alias à une autre clé KMS. Par exemple, si l'alias `finance-key` est associé à la clé KMS `1234abcd-12ab-34cd-56ef-1234567890ab`, vous pouvez le mettre à jour afin qu'il soit associé à la clé KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.  
Toutefois, la clé KMS actuelle et la nouvelle clé KMS doivent être du même type (toutes deux soit symétriques, soit asymétriques, soit HMAC) et avoir la même [utilisation de clé](create-keys.md#key-usage) (ENCRYPT\$1DECRYPT or SIGN\$1VERIFY ou GENERATE\$1VERIFY\$1MAC). Cette restriction empêche les erreurs dans le code qui utilise des alias. Si vous devez associer un alias à un autre type de clé et que vous avez atténué les risques, vous pouvez supprimer et recréer l'alias.

**Certaines clés KMS n'ont pas d'alias.**  
Lorsque vous créez une clé KMS dans la AWS KMS console, vous devez lui attribuer un nouvel alias. Toutefois, aucun alias n'est requis lorsque vous utilisez l'[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)opération pour créer une clé KMS. Vous pouvez également utiliser l'[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)opération pour modifier la clé KMS associée à un alias et l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)opération pour supprimer un alias. Par conséquent, certaines clés KMS peuvent avoir plusieurs alias, tandis que d'autres peuvent n'en avoir aucun.

**AWS crée des alias dans votre compte**  
AWS crée des alias dans votre compte pour [Clés gérées par AWS](concepts.md#aws-managed-key). Ces alias ont des noms au format `alias/aws/<service-name>`, comme `alias/aws/s3`.   
Certains AWS alias n'ont pas de clé KMS. Ces alias prédéfinis sont généralement associés à un identifiant Clé gérée par AWS lorsque vous commencez à utiliser le service.

**Utiliser des alias pour identifier les clés KMS**  
Vous pouvez utiliser un [nom d'alias](concepts.md#key-id-alias-name) ou un [ARN d'alias](concepts.md#key-id-alias-ARN) pour identifier une clé KMS dans le cadre d'[opérations cryptographiques [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)](kms-cryptography.md#cryptographic-operations), et [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html). (Si la [clé KMS est dans un autre Compte AWS](key-policy-modifying-external-accounts.md), vous devez utiliser son [ARN de clé](concepts.md#key-id-key-ARN) ou ARN d'alias.) Les alias ne sont pas des identificateurs valides pour les clés KMS dans d'autres opérations AWS KMS . Pour plus d'informations sur les [identificateurs de clé](concepts.md#key-id) valides pour chaque opération d' AWS KMS API, consultez les descriptions des `KeyId` paramètres dans la *référence AWS Key Management Service d'API*.  
Vous ne pouvez pas utiliser un nom d'alias ou un ARN d'alias pour [identifier une clé KMS dans une politique IAM](cmks-in-iam-policies.md). Pour contrôler l'accès à une clé KMS en fonction de ses alias, utilisez les clés de ResourceAliases condition [kms : RequestAlias](conditions-kms.md#conditions-kms-request-alias) [ou kms :](conditions-kms.md#conditions-kms-resource-aliases). Pour en savoir plus, consultez [ABAC pour AWS KMS](abac.md).

# Contrôle de l'accès aux alias
<a name="alias-access"></a>

Lorsque vous créez ou modifiez un alias, vous affectez l'alias et sa clé KMS associée. Par conséquent, les principaux qui gèrent les alias doivent avoir l'autorisation d'appeler l'opération d'alias sur l'alias et sur toutes les clés KMS affectées. Vous pouvez fournir ces autorisations à l'aide de [politiques de clé](key-policies.md), de [politiques IAM](iam-policies.md) et d'[octrois](grants.md). 

**Note**  
Soyez prudent lorsque vous autorisez les principaux à gérer les balises et les alias. La modification d'une balise ou d'un alias permet d'accorder ou de refuser l'autorisation d'utiliser la clé gérée par le client. Pour plus de détails, veuillez consulter [ABAC pour AWS KMS](abac.md) et [Utiliser des alias pour contrôler l'accès aux clés KMS](alias-authorization.md).

Pour plus d'informations sur le contrôle de l'accès à toutes les AWS KMS opérations, consultez[Référence des autorisations ](kms-api-permissions-reference.md).

Les autorisations de création et de gestion des alias fonctionnent comme suit.

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

Pour créer un alias, le principal a besoin des autorisations suivantes pour l'alias et pour la clé KMS associée. 
+ `kms:CreateAlias` pour l'alias. Fournissez cette autorisation dans une politique IAM attachée au principal autorisé à créer l'alias.

  L'exemple de déclaration de politique suivant spécifie un alias particulier dans l'élément `Resource`. Mais vous pouvez répertorier plusieurs alias ARNs ou spécifier un modèle d'alias, tel que « test\$1 ». Vous pouvez également spécifier une valeur `Resource` de `"*"` pour permettre au principal de créer un alias dans le compte et la région. L'autorisation de créer un alias peut également être incluse dans une autorisation `kms:Create*` pour toutes les ressources d'un compte et d'une région.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:CreateAlias` pour la clé KMS. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé. 

  ```
  {
    "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": "*"
  }
  ```

Vous pouvez utiliser des clés de condition pour limiter les clés KMS que vous pouvez associer à un alias. Par exemple, vous pouvez utiliser la clé de KeySpec condition [kms :](conditions-kms.md#conditions-kms-key-spec) pour autoriser le principal à créer des alias uniquement sur des clés KMS asymétriques. Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation `kms:CreateAlias` sur les ressources de clé KMS, veuillez consulter [AWS KMS autorisations](kms-api-permissions-reference.md).

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

Pour répertorier les alias dans le compte et la région, le principal doit avoir une autorisation `kms:ListAliases` dans une politique IAM. Étant donné que cette politique n'est pas liée à une clé KMS particulière ou à une ressource d'alias, la valeur de l'élément de ressource dans la politique [doit être `"*"`](iam-policies-best-practices.md#require-resource-star). 

Par exemple, la déclaration de politique IAM suivante donne au principal l'autorisation de répertorier toutes les clés et tous les alias KMS dans le compte et la région.

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

****  

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

------

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

Pour modifier la clé KMS associée à un alias, le principal a besoin de trois éléments d'autorisation : un pour l'alias, un pour la clé KMS actuelle et un pour la nouvelle clé KMS.

Par exemple, supposons que vous souhaitiez modifier l'alias `test-key` de la clé KMS avec l'ID de clé 1234abcd-12ab-34cd-56ef-1234567890ab vers la clé KMS avec l'ID de clé 0987dcba-09fe-87dc-65ba-ab0987654321. Dans ce cas, incluez des déclarations de politique similaires aux exemples de cette section.
+ `kms:UpdateAlias` pour l'alias. Vous fournissez cette autorisation dans une politique IAM associée au principal. La politique IAM suivante spécifie un alias particulier. Mais vous pouvez répertorier plusieurs alias ARNs ou spécifier un modèle d'alias, tel que`"test*"`. Vous pouvez également spécifier une valeur `Resource` de `"*"` pour permettre au principal de mettre à jour un alias dans le compte et la région.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:UpdateAlias",
      "kms:ListAliases",
      "kms:ListKeys"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:UpdateAlias` pour la clé KMS actuellement associée à l'alias. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

  ```
  {
    "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` pour la clé KMS que l'opération associe à l'alias. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

  ```
  {
    "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": "*"
  }
  ```

Vous pouvez utiliser des clés de condition pour limiter l'une ou l'autre des clés KMS dans une opération `UpdateAlias`. Par exemple, vous pouvez utiliser une clé de ResourceAliases condition [kms :](conditions-kms.md#conditions-kms-resource-aliases) pour autoriser le principal à mettre à jour les alias uniquement lorsque la clé KMS cible possède déjà un alias particulier. Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation `kms:UpdateAlias` sur une ressource de clé KMS, veuillez consulter [AWS KMS autorisations](kms-api-permissions-reference.md).

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

Pour supprimer un alias, le principal a besoin d'une autorisation pour l'alias et pour la clé KMS associée. 

Comme toujours, vous devez faire preuve de prudence lorsque vous autorisez les principaux à supprimer une ressource. Toutefois, la suppression d'un alias n'a aucun effet sur la clé KMS associée. Bien que cela puisse provoquer un échec dans une application qui s'appuie sur l'alias, si vous supprimez un alias par erreur, vous pouvez le recréer.
+ `kms:DeleteAlias` pour l'alias. Fournissez cette autorisation dans une politique IAM attachée au principal autorisé à supprimer l'alias.

  L'exemple de déclaration de politique suivant spécifie un alias dans l'élément `Resource`. Mais vous pouvez répertorier plusieurs alias ARNs ou spécifier un modèle d'alias, par exemple`"test*"`, Vous pouvez également spécifier une `Resource` valeur de `"*"` pour permettre au principal de supprimer n'importe quel alias du compte et de la région.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:DeleteAlias` pour la clé KMS associée. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

  ```
  {
    "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": "*"
  }
  ```

## Limitation des autorisations d'alias
<a name="alias-access-limiting"></a>

Vous pouvez utiliser des clés de condition pour limiter les autorisations d'alias lorsque la ressource est une clé KMS. Par exemple, la politique IAM suivante autorise les opérations d'alias sur les clés KMS d'un compte et d'une région en particulier. Cependant, il utilise la clé de KeyOrigin condition [kms :](conditions-kms.md#conditions-kms-key-origin) pour limiter davantage les autorisations aux clés KMS dont le contenu clé provient de AWS KMS. 

Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation d'alias sur une ressource de clé KMS, veuillez consulter [AWS KMS autorisations](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"
    }
  }  
}
```

Vous ne pouvez pas utiliser de clés de condition dans une instruction de politique où la ressource est un alias. Pour limiter les alias qu'un principal peut gérer, utilisez la valeur de l'élément `Resource` de la déclaration de politique IAM qui contrôle l'accès à l'alias. Par exemple, les déclarations de politique suivantes autorisent le principal à créer, mettre à jour ou supprimer n'importe quel alias dans la région Compte AWS et, sauf si l'alias commence par`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*"
}
```

# Création d'alias
<a name="alias-create"></a>

Vous pouvez créer des alias dans la AWS KMS console ou à l'aide des opérations d' AWS KMS API. 

L'alias doit être une chaîne de 1 à 256 caractères. Il peut contenir uniquement des caractères alphanumériques, des barres obliques (/), des traits de soulignement (\$1) et des tirets (-). Le nom d'alias d'une [clé gérée par le client](concepts.md#customer-mgn-key) ne peut commencer par `alias/aws/`. Le préfixe `alias/aws/` est réservé à une [Clé gérée par AWS](concepts.md#aws-managed-key).

Vous pouvez créer un alias pour une nouvelle clé KMS ou pour une clé KMS existante. Vous pouvez ajouter un alias afin qu'une clé KMS particulière soit utilisée dans un projet ou une application. 

Vous pouvez également utiliser un AWS CloudFormation modèle pour créer un alias pour une clé KMS. Pour plus d’informations, consultez [AWS::KMS::Alias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html) dans le *Guide de l’utilisateur AWS CloudFormation *.

## Utilisation de la AWS KMS console
<a name="alias-create-console"></a>

Lorsque vous [créez une clé KMS](create-keys.md) dans la AWS KMS console, vous devez créer un alias pour la nouvelle clé KMS. Pour créer un alias pour une clé KMS existante, utilisez l'option **Aliases (Alias)** sur la page de détails de la clé KMS.

1. Connectez-vous à la console AWS Key Management Service (AWS KMS) AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Dans le panneau de navigation, choisissez **Clés gérées par le client**. Vous ne pouvez pas gérer les alias pour Clés gérées par AWS ou Clés détenues par AWS.

1. Dans la table, choisissez l'alias ou l'ID d'une clé KMS. Ensuite, sur la page de détails de la clé KMS, choisissez l'onglet **Aliases (Alias)**.

   Si une clé KMS possède plusieurs alias, la colonne **Aliases (Alias)** dans la table affiche un alias et un résumé d'alias, tel que **(\$1*n* plus)**. Le choix du résumé d'alias vous mène directement à l'onglet **Aliases (Alias)** dans la page des détails de la clé KMS.

1. Dans l'onglet **Aliases (Alias)**, choisissez **Create alias (Créer un alias)**. Saisissez un nom d'alias et choisissez **Create alias (Créer un alias)**.
**Important**  
N'incluez pas d'informations confidentielles ou sensibles dans ce champ. Ce champ peut être affiché en texte brut dans les CloudTrail journaux et autres sorties.
**Note**  
N'ajoutez pas le préfixe `alias/`. La console l’ajoute pour vous automatiquement. Si vous saisissez `alias/ExampleAlias`, le nom d'alias réel sera `alias/alias/ExampleAlias`.

## Utilisation de l' AWS KMS API
<a name="alias-create-api"></a>

Pour créer un alias, utilisez l'[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)opération. Contrairement au processus de création de clés KMS dans la console, l'[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)opération ne crée pas d'alias pour une nouvelle clé KMS.

**Important**  
N'incluez pas d'informations confidentielles ou sensibles dans ce champ. Ce champ peut être affiché en texte brut dans les CloudTrail journaux et autres sorties.

Vous pouvez utiliser l'opération `CreateAlias` pour créer un alias pour une nouvelle clé KMS sans alias. Vous pouvez également utiliser l'opération `CreateAlias` pour ajouter un alias à une clé KMS existante ou pour recréer un alias qui a été accidentellement supprimé. 

Dans les opérations AWS KMS d'API, le nom de l'alias doit `alias/` commencer par un nom, tel que`alias/ExampleAlias`. L'alias doit être unique dans le compte et la région. Pour rechercher les noms d'alias déjà utilisés, utilisez l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)opération. Le nom de l'alias est sensible à la casse.

Le `TargetKeyId` peut avoir n'importe quelle [clé gérée par le client](concepts.md#customer-mgn-key) dans la même Région AWS. Pour identifier la clé KMS, utilisez son [ID de clé](concepts.md#key-id-key-id) ou son [ARN de clé](concepts.md#key-id-key-ARN). Vous ne pouvez pas utiliser un autre alias.

L'exemple suivant crée l'alias `example-key` et l'associe à la clé KMS spécifiée. Ces exemples utilisent le AWS Command Line Interface (AWS CLI). Pour obtenir des exemples dans plusieurs langages de programmation, veuillez consulter [Utilisation `CreateAlias` avec un AWS SDK ou une CLI](example_kms_CreateAlias_section.md).

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

`CreateAlias` ne renvoie aucune sortie. Pour voir le nouvel alias, utilisez l'opération `ListAliases`. Pour en savoir plus, consultez [Utilisation de l' AWS KMS API](alias-view.md#alias-view-api).

# Trouvez le nom d'alias et l'ARN de l'alias pour une clé KMS
<a name="alias-view"></a>

Les alias permettent de reconnaître facilement les clés KMS dans la AWS KMS console. Vous pouvez afficher les alias d'une clé KMS dans la AWS KMS console ou en utilisant l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)opération. L'[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)opération, qui renvoie les propriétés d'une clé KMS, n'inclut pas les alias.

Les procédures suivantes montrent comment afficher et identifier les alias associés à une clé KMS à l'aide de la AWS KMS console et de l' AWS KMS API. Les exemples AWS KMS d'API utilisent le [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mais vous pouvez utiliser n'importe quel langage de programmation pris en charge.

## Utilisation de la AWS KMS console
<a name="alias-view-console"></a>

La AWS KMS console affiche les alias associés à la clé KMS. 

1. Ouvrez la AWS KMS console à l'adresse [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Pour afficher les clés de votre compte que vous créez et gérez vous-même, dans le volet de navigation, choisissez **Clés gérées par le client**. Pour afficher les clés de votre compte qui AWS crée et gère pour vous, dans le volet de navigation, choisissez **les clés AWS gérées**.

1. La colonne **Aliases (Alias)** affiche l'alias de chaque clé KMS. Si une clé KMS n'a pas d'alias, un tiret (**-**) apparaît dans la colonne **Aliases (Alias)**.

   Si une clé KMS possède plusieurs alias, la colonne **Aliases (Alias)** contient également un résumé d'alias, tel que **(\$1*n* plus**). Par exemple, la clé KMS suivante a deux alias, dont l'un est `key-test`. 

   Pour trouver le nom d'alias et l'ARN d'alias de tous les alias de la clé KMS, utilisez l'onglet **Aliases (Alias)**. 
   + Pour accéder directement à l'onglet **Aliases (Alias)**, dans la colonne **Aliases (Alias)**, choisissez le résumé de l'alias (**\$1*n* plus**). Un résumé d'alias apparaît uniquement si la clé KMS comporte plusieurs alias.
   + Vous pouvez également choisir l'alias ou l'ID de clé de la clé KMS (qui ouvre la page des détails de la clé KMS), puis l'onglet **Aliases (Alias)**. Les onglets se trouvent sous la section **General configuration (Configuration générale)**.   
![\[Clés gérées par le client interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/fr_fr/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. L'onglet **Aliases (Alias)** affiche le nom d'alias et l'ARN d'alias de tous les alias d'une clé KMS. Vous pouvez également créer et supprimer des alias pour la clé KMS sur cet onglet.  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/fr_fr/kms/latest/developerguide/images/alias-tab-1.png)

**Clés gérées par AWS**  
Vous pouvez utiliser l'alias pour reconnaître un Clé gérée par AWS, comme le montre cet exemple de **Clés gérées par AWS**page. Les alias de Clés gérées par AWS sont toujours au format `aws/<service-name>`. Par exemple, l'alias Clé gérée par AWS pour Amazon `aws/dynamodb` DynamoDB est.

![\[Alias dans la page Clés gérées par AWS de la console AWS KMS\]](http://docs.aws.amazon.com/fr_fr/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


## Utilisation de l' AWS KMS API
<a name="alias-view-api"></a>

L'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)opération renvoie le nom d'alias et l'ARN d'alias des alias du compte et de la région. La sortie inclut des alias pour Clés gérées par AWS et pour les clés gérées par le client. Les alias de Clés gérées par AWS sont toujours au format `aws/<service-name>`, comme `aws/dynamodb`.

La réponse peut également inclure des alias ne disposant pas de champ `TargetKeyId`. Il s'agit d'alias prédéfinis qui ont AWS été créés mais qui ne sont pas encore associés à une clé 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
        }
    ]
}
```

Pour obtenir tous les alias associés à une clé KMS spécifique, utilisez le paramètre `KeyId` facultatif de l'opération `ListAliases`. Le paramètre `KeyId` prend l'[ID de clé](concepts.md#key-id-key-id) ou l'[ARN de clé](concepts.md#key-id-key-ARN) de la clé KMS. 

Cet exemple récupère tous les alias associés à la clé 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
        }
    ]
}
```

Le paramètre `KeyId` ne prend pas de caractères génériques, mais vous pouvez utiliser les fonctions de votre langage de programmation pour filtrer la réponse. 

Par exemple, la AWS CLI commande suivante obtient uniquement les alias pour Clés gérées par AWS.

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

Par exemple, la commande suivante obtient uniquement les alias `access-key`. Le nom de l'alias est sensible à la casse.

```
$ 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"
    }
]
```

# Mettre à jour les alias
<a name="alias-update"></a>

Étant donné qu'un alias est une ressource indépendante, vous pouvez modifier la clé KMS qui lui est associée. Par exemple, si l'`test-key`alias est associé à une clé KMS, vous pouvez utiliser l'[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)opération pour l'associer à une autre clé KMS. C'est l'une des nombreuses façons de [faire tourner manuellement une clé KMS](rotate-keys.md) sans modifier ses éléments de clé. Vous pouvez également mettre à jour une clé KMS de sorte qu'une application qui utilisait une clé KMS pour de nouvelles ressources utilise désormais une clé KMS différente.

Vous ne pouvez pas mettre à jour un alias dans la AWS KMS console. En outre, vous ne pouvez pas utiliser `UpdateAlias` (ou toute autre opération) pour modifier un nom d'alias. Pour modifier un nom d'alias, supprimez l'alias actuel, puis créez un alias pour la clé KMS.

Lorsque vous mettez à jour un alias, la clé KMS actuelle et la nouvelle clé KMS doivent être du même type (toutes deux soit symétriques, soit asymétriques, soit HMAC). Elles doivent également avoir la même utilisation de la clé (`ENCRYPT_DECRYPT` ou `SIGN_VERIFY` ou GENERATE\$1VERIFY\$1MAC). Cette restriction empêche les erreurs cryptographiques dans le code qui utilise des alias. 

L'exemple suivant commence par utiliser l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)opération pour montrer que l'`test-key`alias est actuellement associé à la clé 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
        }
    ]
}
```

Ensuite, il utilise l'opération `UpdateAlias` pour modifier la clé KMS associée à l'alias `test-key` avec la clé KMS `0987dcba-09fe-87dc-65ba-ab0987654321`. Vous n'avez pas besoin de spécifier la clé KMS actuellement associée, uniquement la nouvelle clé KMS (« cible »). Le nom de l'alias est sensible à la casse.

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

Pour vérifier que l'alias est maintenant associé à la clé KMS cible, utilisez à nouveau l'opération `ListAliases`. Cette AWS CLI commande utilise le `--query` paramètre pour obtenir uniquement l'`test-key`alias. Les champs `TargetKeyId` et `LastUpdatedDate` sont mis à jour.

```
$ 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
    }
]
```

# Suppression d’un alias
<a name="alias-delete"></a>

Vous pouvez supprimer un alias dans la AWS KMS console ou en utilisant l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)opération. Avant de supprimer un alias, vérifiez qu'il n'est pas en cours d'utilisation. Bien que la suppression d'un alias n'affecte pas la clé KMS associée, elle peut créer des problèmes pour toute application qui utilise l'alias. Si vous supprimez un alias par erreur, vous pouvez en créer un autre portant le même nom et l'associer à la même clé KMS ou à une clé KMS différente.

Si vous supprimez une clé KMS, tous les alias associés à cette clé KMS sont supprimés.

## Utilisation de la AWS KMS console
<a name="alias-delete-console"></a>

Pour supprimer un alias dans la AWS KMS console, utilisez l'onglet **Alias** sur la page détaillée de la clé KMS. Vous pouvez supprimer plusieurs alias d'une clé KMS en même temps.

1. Connectez-vous à la console AWS Key Management Service (AWS KMS) AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Dans le panneau de navigation, choisissez **Clés gérées par le client**. Vous ne pouvez pas gérer les alias pour Clés gérées par AWS ou Clés détenues par AWS.

1. Dans la table, choisissez l'alias ou l'ID d'une clé KMS. Ensuite, sur la page de détails de la clé KMS, choisissez l'onglet **Aliases (Alias)**.

   Si une clé KMS possède plusieurs alias, la colonne **Aliases (Alias)** dans la table affiche un alias et un résumé d'alias, tel que **(\$1*n* plus)**. Le choix du résumé d'alias vous mène directement à l'onglet **Aliases (Alias)** dans la page des détails de la clé KMS.

1. Dans l'onglet **Aliases (Alias)**, cochez la case en regard des alias que vous souhaitez supprimer. Ensuite, choisissez **Supprimer**.

## Utilisation de l' AWS KMS API
<a name="alias-delete-api"></a>

Pour supprimer un alias, utilisez l'[DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)opération. Cette opération supprime un alias à la fois. Le nom de l'alias est sensible à la casse et doit être précédé du préfixe `alias/`.

Par exemple, la commande suivante supprime l'alias `test-key`. Cette commande ne renvoie aucune sortie. 

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

Pour vérifier que l'alias est supprimé, utilisez l'[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)opération. La commande suivante utilise le `--query` paramètre du AWS CLI pour obtenir uniquement l'`test-key`alias. Les crochets vides dans la réponse indiquent que la réponse `ListAliases` n'incluait pas d'alias `test-key`. Pour éliminer les crochets, utilisez le paramètre et la valeur `--output text`.

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

# Utiliser des alias pour contrôler l'accès aux clés KMS
<a name="alias-authorization"></a>

Vous pouvez contrôler l'accès aux clés KMS en fonction des alias associés à la clé KMS. Pour ce faire, utilisez les clés de ResourceAliases condition [kms : RequestAlias](conditions-kms.md#conditions-kms-request-alias) [et kms :](conditions-kms.md#conditions-kms-resource-aliases). Cette fonctionnalité fait partie de la AWS KMS prise en charge du [contrôle d'accès basé sur les attributs](abac.md) (ABAC).

La clé de condition `kms:RequestAlias` autorise ou refuse l'accès à une clé KMS en fonction de l'alias dans une requête. La clé de condition `kms:ResourceAliases` autorise ou refuse l'accès à une clé KMS en fonction des alias associés à la clé KMS. 

Ces fonctionnalités ne vous permettent pas d'identifier une clé KMS à l'aide d'un alias dans l'élément `resource` d'une déclaration de politique. Lorsqu'un alias est la valeur d'un élément `resource`, la politique s'applique à la ressource d'alias et non à toute clé KMS qui pourrait lui être associée.

**Note**  
Les modifications d'alias et de balise peuvent prendre jusqu'à cinq minutes pour avoir une incidence sur l'autorisation de clé KMS. Les modifications récentes peuvent être visibles dans les opérations d'API avant qu'elles n'affectent l'autorisation.

Lorsque vous utilisez des alias pour contrôler l'accès aux clés KMS, tenez compte des éléments suivants :
+ Utilisez des alias pour renforcer les bonnes pratiques de l'[accès le moins privilégié](iam-policies-best-practices.md). N'accordez aux principaux IAM que les autorisations dont ils ont besoin pour les clés KMS qu'ils doivent utiliser ou gérer. Par exemple, utilisez des alias pour identifier les clés KMS utilisées pour un projet. Donnez ensuite à l'équipe de projet l'autorisation d'utiliser uniquement les clés KMS avec les alias du projet. 
+ Soyez prudent lorsque vous donnez aux principaux les autorisations `kms:CreateAlias`, `kms:UpdateAlias` ou `kms:DeleteAlias` qui leur permettent d'ajouter, de modifier et de supprimer des alias. Lorsque vous utilisez des alias pour contrôler l'accès aux clés KMS, la modification d'un alias peut donner aux principaux l'autorisation d'utiliser des clés KMS qu'ils n'avaient alors pas l'autorisation d'utiliser. Elle peut également refuser l'accès aux clés KMS dont d'autres principaux ont besoin pour réaliser leurs tâches. 
+ Passez en revue les principaux de votre ordinateur Compte AWS qui sont actuellement autorisés à gérer les alias et ajustez ces autorisations, si nécessaire. Les administrateurs de clés qui n'ont pas l'autorisation de modifier les politiques de clé ou de créer des octrois peuvent contrôler l'accès aux clés KMS s'ils sont autorisés à gérer les alias. 

  Par exemple, la console [Politique de clé par défaut pour les administrateurs de clés ](key-policy-default.md#key-policy-default-allow-administrators) comprend les autorisations `kms:CreateAlias`, `kms:DeleteAlias` et `kms:UpdateAlias`. Les politiques IAM peuvent donner des autorisations d'alias pour toutes les clés KMS de votre Compte AWS. Par exemple, la politique [AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser)gérée permet aux principaux de créer, de supprimer et de répertorier des alias pour toutes les clés KMS, mais pas de les mettre à jour.
+ Avant de définir une politique qui dépend d'un alias, passez en revue les alias figurant sur les clés KMS de votre Compte AWS. Assurez-vous que votre politique s'applique uniquement aux alias que vous avez l'intention d'inclure. Utilisez [CloudTrail les journaux et les CloudWatch ](alias-ct.md) [alarmes](monitoring-cloudwatch.md) pour vous avertir des modifications d'alias susceptibles d'affecter l'accès à vos clés KMS. La [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)réponse inclut également la date de création et la date de dernière mise à jour pour chaque alias.
+ Les conditions de politique d'alias utilisent la correspondance de modèles ; elles ne sont pas liées à une instance particulière d'un alias. Une politique qui utilise des clés de condition basées sur des alias affecte tous les alias nouveaux et existants qui correspondent au modèle. Si vous supprimez et recréez un alias qui correspond à une condition de politique, la condition s'applique au nouvel alias, comme c'était le cas pour l'ancien. 

La clé de condition `kms:RequestAlias` repose sur l'alias spécifié explicitement dans une demande d'opération. La clé de condition `kms:ResourceAliases` dépend des alias associés à une clé KMS, même s'ils n'apparaissent pas dans la demande.

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

Autoriser ou refuser l'accès à une clé KMS en fonction de l'alias qui identifie la clé KMS dans une demande. Vous pouvez utiliser la clé de RequestAlias condition [kms :](conditions-kms.md#conditions-kms-request-alias) dans une [politique clé ou une politique](key-policies.md) IAM. Elle s'applique aux opérations qui utilisent un alias pour identifier une clé KMS dans une demande, à savoir les [opérations cryptographiques [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)](kms-cryptography.md#cryptographic-operations), et [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html). Il n'est pas valide pour les opérations d'alias, telles que [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)ou [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html).

**Important**  
Une déclaration de `Deny` politique contenant `kms:RequestAlias` cette condition n'est pas recommandée car les appelants peuvent la contourner en utilisant l'[ID de clé](concepts.md#key-id-key-id)[, l'ARN](concepts.md#key-id-key-ARN) de la clé ou un autre alias pour identifier la clé KMS dans la demande. Pour refuser l'accès en fonction des alias associés à une clé KMS, utilisez plutôt la clé de ResourceAliases condition [kms :](conditions-kms.md#conditions-kms-resource-aliases).

Dans la clé de condition, spécifiez un [Nom d'alias](concepts.md#key-id-alias-name) ou un modèle de nom d'alias. Vous ne pouvez pas spécifier d'[ARN d'alias](concepts.md#key-id-alias-ARN).

Par exemple, la déclaration de politique de clé suivante autorise les principaux à utiliser les opérations spécifiées sur la clé KMS. L'autorisation est en vigueur uniquement lorsque la demande utilise un alias qui inclut `alpha` pour identifier la clé 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*"
    }
  }
}
```

L'exemple suivant de demande d'un principal autorisé remplirait la condition. Cependant, une demande qui a utilisé un [ID de clé](concepts.md#key-id-key-id), un [ARN de clé](concepts.md#key-id-key-ARN) ou un alias différent ne remplirait pas la condition, même si ces valeurs identifiaient la même clé KMS.

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

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

Autorisez ou refusez l'accès à une clé KMS en fonction des alias associés à la clé KMS, même si l'alias n'est pas utilisé dans une demande. La clé de ResourceAliases condition [kms :](conditions-kms.md#conditions-kms-resource-aliases) vous permet de spécifier un alias ou un modèle d'alias, par exemple`alias/test*`, afin que vous puissiez l'utiliser dans une politique IAM pour contrôler l'accès à plusieurs clés KMS dans la même région. Il est valide pour toute AWS KMS opération utilisant une clé KMS. 

Par exemple, la politique IAM suivante permet aux principaux d'appeler en deux les opérations spécifiées sur les clés KMS. Comptes AWS Toutefois, l'autorisation s'applique uniquement aux clés KMS associées aux alias commençant par `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 condition `kms:ResourceAliases` est une condition de la ressource, pas la demande. Dès lors, une demande qui ne spécifie pas l'alias peut toujours satisfaire la condition.

L'exemple de demande suivant, qui spécifie un alias correspondant, satisfait à la condition.

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

Toutefois, l'exemple de demande suivant satisfait également la condition, à condition que la clé KMS spécifiée ait un alias qui commence par `restricted`, même si cet alias n'est pas utilisé dans la demande.

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

# Apprenez à utiliser des alias dans vos applications
<a name="alias-using"></a>

Vous pouvez utiliser un alias pour représenter une clé KMS dans votre code d'application. `KeyId`Paramètre utilisé dans les [opérations AWS KMS cryptographiques [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)](kms-cryptography.md#cryptographic-operations), et [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)accepte un nom d'alias ou un ARN d'alias.

Par exemple, la commande `GenerateDataKey` suivante utilise un nom d'alias (`alias/finance`) pour identifier une clé KMS. Le nom de l'alias est la valeur du paramètre `KeyId`. 

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

Si la clé KMS se trouve dans un autre Compte AWS, vous devez utiliser un ARN de clé ou un alias ARN dans ces opérations. Lorsque vous utilisez un ARN d'alias, n'oubliez pas que l'alias d'une clé KMS est défini dans le compte propriétaire de la clé KMS et peut différer d'une région à l'autre. Pour rechercher l'ARN d'alias, veuillez consulter [Trouvez le nom d'alias et l'ARN de l'alias pour une clé KMS](alias-view.md).

Par exemple, la commande `GenerateDataKey` suivante utilise une clé KMS qui ne se trouve pas dans le compte de l'appelant. L'alias `ExampleAlias` est associé à la clé KMS dans le compte et la région spécifiés.

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

L'une des utilisations les plus performantes des alias est au niveau des applications qui s'exécutent dans plusieurs Régions AWS. Par exemple, vous utilisez peut-être une application mondiale qui utilise une [Clé KMS asymétriques](symmetric-asymmetric.md) RSA pour la signature et la vérification. 
+ Dans la région USA Ouest (Oregon) (us-west-2), vous souhaitez utiliser `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`. 
+ En Europe (Francfort) (eu-central-1), vous souhaitez utiliser `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321`.
+ Dans la région Asie-Pacifique (Singapour) (ap-southeast-1), vous souhaitez utiliser `arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d`.

Vous pouvez créer une version différente de votre application dans chaque région ou utiliser un dictionnaire ou une instruction switch pour sélectionner la clé KMS appropriée pour chaque région. Toutefois, il est beaucoup plus facile de créer un alias avec le même nom d'alias dans chaque région. Rappelez-vous que ne nom de l'alias est sensible à la casse.

```
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
```

Ensuite, utilisez l'alias dans votre code. Lorsque votre code s'exécute dans chaque région, l'alias fait référence à sa clé KMS associée dans cette région. Par exemple, ce code appelle l'opération [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) avec un nom d'alias.

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

Toutefois, il existe un risque que l'alias soit supprimé ou mis à jour pour être associé à une autre clé KMS. Dans ce cas, les tentatives de l'application pour vérifier les signatures à l'aide du nom d'alias échouent et vous devrez peut-être recréer ou mettre à jour l'alias.

Pour atténuer ce risque, soyez prudent lorsque vous autorisez les principaux à gérer les alias que vous utilisez dans votre application. Pour en savoir plus, consultez [Contrôle de l'accès aux alias](alias-access.md).

Il existe plusieurs autres solutions pour les applications qui chiffrent les données dans plusieurs Régions AWS, y compris le [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).

# Rechercher des alias dans les journaux AWS CloudTrail
<a name="alias-ct"></a>

Vous pouvez utiliser un alias pour représenter un AWS KMS key dans une opération d' AWS KMS API. Dans ce cas, l'alias et l'ARN de la clé KMS sont enregistrés dans l'entrée du AWS CloudTrail journal de l'événement. L'alias apparaît dans le champ `requestParameters`. L'ARN de clé apparaît dans le champ `resources`. Cela est vrai même lorsqu'un AWS service utilise un Clé gérée par AWS dans votre compte. 

Par exemple, la [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)demande suivante utilise l'`project-key`alias pour représenter une clé KMS.

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

Lorsque cette demande est enregistrée dans le CloudTrail journal, l'entrée du journal inclut à la fois l'alias et l'ARN de la clé KMS réellement utilisée. 

```
{
    "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"
}
```

Pour plus de détails sur les AWS KMS opérations de journalisation dans CloudTrail les journaux, consultez[Journalisation des appels d' AWS KMS API avec AWS CloudTrail](logging-using-cloudtrail.md).