Usar aliases em suas aplicações - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar aliases em suas aplicações

É possível usar um alias para representar uma chave do KMS no código da sua aplicação. O KeyId parâmetro em operações AWS KMS criptográficas, DescribeKey, e GetPublicKeyaceita um nome de alias ou ARN de alias.

Por exemplo, o comando GenerateDataKey a seguir usa um nome de alias (alias/finance) para identificar uma chave do KMS. O nome do alias é o valor do parâmetro KeyId.

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

Se a chave do KMS estiver em uma Conta da AWS diferente, você deverá usar um ARN de chave ou um ARN de alias nessas operações. Ao usar um ARN de alias, não se esqueça de que o alias de uma chave do KMS é definido na conta que tem a chave do KMS e que ele pode ser diferente em cada região. Para obter ajuda sobre como encontrar o ARN do alias, consulte Encontrar o nome e o ARN do alias.

Por exemplo, o seguinte comando GenerateDataKey usa uma chave do KMS que não está na conta do autor da chamada. O alias ExampleAlias está associado à chave do KMS na conta e região especificadas.

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

Um dos usos mais poderosos dos aliases é em aplicações executadas em várias Regiões da AWS. Por exemplo, você pode ter uma aplicação global que usa uma chave do KMS assimétrica RSA para assinatura e verificação.

  • Na região Oeste dos EUA (Oregon) (us-west-2), você deseja usar arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Na região Europa (Frankfurt) (eu-central-1), você deseja usar arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

  • Na região Ásia-Pacífico (Singapura) (ap-southeast-1), você deseja usar arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d.

É possível criar uma versão diferente da sua aplicação em cada região ou usar um dicionário ou instrução de alternância para selecionar a chave do KMS correta para cada região. Mas é muito mais fácil criar um alias com o mesmo nome em cada região. Lembre-se de que o nome do alias diferencia maiúsculas de minúsculas.

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

Depois, use o alias em seu código. Quando seu código for executado em cada região, o alias fará referência à sua chave do KMS associada nessa região. Por exemplo, esse código chama a operação Sign com um nome de alias.

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

No entanto, existe o risco de que o alias seja excluído ou atualizado para ser associado a outra chave do KMS. Nesse caso, as tentativas da aplicação de verificar assinaturas usando o nome do alias falharão e talvez seja necessário recriar ou atualizar o alias.

Para atenuar esse risco, tenha cuidado ao conceder permissão às entidades principais para gerenciar os aliases usados em sua aplicação. Para obter detalhes, consulte Controlar o acesso a aliases.

Existem várias outras soluções para aplicações que criptografam dados em várias regiões da Regiões da AWS, incluindo AWS Encryption SDK.