

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.

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