Utilisation d'alias dans vos applications - AWS Key Management Service

Utilisation d'alias dans vos applications

Vous pouvez utiliser un alias pour représenter une clé KMS dans votre code d'application. Le paramètre KeyId dans les opérations de chiffrement AWS KMS, DescribeKey et GetPublicKey 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 est dans un autre Compte AWS, vous devez utiliser un ARN de clé ou un ARN d'alias 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 Recherche du nom d'alias et de l'ARN d'alias.

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 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 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 plus d'informations, consultez Contrôle de l'accès aux alias.

Il existe plusieurs autres solutions pour les applications qui chiffrent les données dans plusieurs Régions AWS, y compris le AWS Encryption SDK.