별칭 관리 - AWS Key Management Service

별칭 관리

권한이 부여된 사용자는 별칭을 생성하고 보고 삭제할 수 있습니다. 별칭을 업데이트할 수도 있습니다. 즉, 기존 별칭을 다른 KMS 키와 연결할 수 있습니다.

별칭 생성

AWS KMS 콘솔에서 또는 AWS KMS API 작업을 사용하여 별칭을 만들 수 있습니다.

별칭은 1~256자의 문자열이어야 합니다. 여기에는 영숫자, 슬래시(/), 밑줄(_) 및 대시(-)만 포함할 수 있습니다. 고객 관리형 키의 별칭 이름은 alias/aws/로 시작할 수 없습니다. alias/aws/ 접두사는 AWS 관리형 키용으로 예약되어 있습니다.

새 KMS 키 또는 기존 KMS 키에 대한 별칭을 만들 수 있습니다. 특정 KMS 키가 프로젝트 또는 애플리케이션에서 사용되도록 별칭을 추가할 수 있습니다.

별칭 생성하기(콘솔)

AWS KMS 콘솔에서 KMS 키를 생성할 때 새 KMS 키에 대한 별칭을 생성해야 합니다. 기존 KMS 키에 대한 별칭을 만들려면 KMS 키에 대한 세부 정보 페이지에서 별칭 탭을 사용합니다.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 탐색 창에서 고객 관리형 키(Customer managed keys)를 선택합니다. AWS 관리형 키 또는 AWS 소유 키의 별칭은 관리할 수 없습니다.

  4. 테이블에서 KMS 키의 키 ID 또는 별칭을 선택합니다. 그런 다음 KMS 키 세부 정보 페이지에서별칭 탭을 선택합니다.

    KMS 키에 별칭이 여러 개 있는 경우 테이블의 별칭 열에는 하나의 별칭과 별칭 요약(예: (n개 이상))이 표시됩니다. 별칭 요약을 선택하면 KMS 키 세부 정보 페이지의 별칭 탭으로 바로 이동합니다.

  5. 별칭 탭에서 별칭 생성을 선택합니다. 별칭 이름을 입력하고 별칭 생성을 선택합니다.

    참고

    콘솔에서는 alias/ 접두사를 지정할 필요가 없습니다. 콘솔에서 자체적으로 추가합니다. alias/ExampleAlias를 입력하면, 실제 별칭 이름은 alias/alias/ExampleAlias입니다.

별칭 생성하기(AWS KMS API)

별칭을 생성하려면 CreateAlias 작업을 사용합니다. 콘솔에서 KMS 키를 만드는 프로세스와 달리 CreateKey 작업은 새 KMS 키에 대한 별칭을 만들지 않습니다.

CreateAlias 작업을 사용하여 별칭이 없는 새 KMS 키의 별칭을 만들 수 있습니다. CreateAlias 작업을 사용하여 기존 KMS 키에 별칭을 추가하거나 실수로 삭제된 별칭을 다시 만들 수도 있습니다.

AWS KMS API 작업에서 별칭 이름은 alias/로 시작하고 그 뒤에 이름이 와야 합니다(예: alias/ExampleAlias). 별칭은 계정 및 리전 내에서 고유해야 합니다. 이미 사용 중인 별칭 이름을 찾으려면 ListAliases 작업을 사용합니다. 별칭 이름은 대/소문자를 구분합니다.

TargetKeyId는 동일한 AWS 리전의 모든 고객 관리형 키일 수 있습니다. KMS 키를 식별하려면, 이 KMS 키의 키 ID 또는 키 ARN을 사용합니다. 다른 별칭을 사용할 수 없습니다.

다음 예제에서는 example-key 별칭을 만들고 지정된 KMS 키와 연결합니다. 이 예제에서는 AWS Command Line Interface(AWS CLI)를 사용합니다. 다양한 프로그래밍 언어의 예는 별칭으로 작업 단원을 참조하십시오.

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

CreateAlias는 출력을 반환하지 않습니다. 새 별칭을 보려면 ListAliases 작업을 사용합니다. 자세한 내용은 별칭 보기(AWS KMS API) 단원을 참조하세요.

별칭 보기

별칭을 사용하면 AWS KMS콘솔에서 KMS 키를 쉽게 식별할 수 있습니다. AWS KMS 콘솔에서 또는 ListAliases 작업을 사용하여 KMS 키의 별칭을 볼 수 있습니다. KMS 키의 속성을 반환하는 DescribeKey 작업에는 별칭이 포함되지 않습니다.

별칭 보기(콘솔)

AWS KMS 콘솔의 고객 관리형 키AWS 관리형 키 페이지에는 각 KMS 키와 연결된 별칭이 표시됩니다. 별칭을 기반으로 KMS 키를 검색, 정렬 및 필터링할 수도 있습니다.

다음 AWS KMS 콘솔 이미지는 예제 계정의 고객 관리형 키 페이지에 있는 별칭을 보여줍니다. 이미지에 보이는 것처럼 일부 KMS 키에는 별칭이 없습니다.

KMS 키에 별칭이 여러 개 있는 경우 테이블의 별칭 열 에는 하나의 별칭과 별칭 요약 (n개 이상). 별칭 요약은 KMS 키와 연결된 추가 별칭 수를 보여주고 별칭 탭의 KMS 키에 대한 모든 별칭 표시에 대한 링크를 제공합니다.


            AWS KMS 콘솔의 고객 관리형 키 페이지의 별칭

각 KMS 키에 대한 세부 정보 페이지의 별칭 탭에는 AWS 계정 및 리전의 KMS 키에 대한 모든 별칭의 별칭 이름과 별칭 ARN이 표시됩니다. 별칭 탭을 사용하여 별칭을 생성하고 별칭을 삭제할 수도 있습니다.

KMS 키에 대한 모든 별칭의 별칭 이름과 별칭 ARN을 찾으려면 별칭(Aliases) 탭을 사용합니다.

  • 별칭(Aliases) 탭으로 직접 이동하려면 별칭(Aliases) 열에서 별칭 요약(n개 이상)을 선택합니다. 별칭 요약은 KMS 키에 둘 이상의 별칭이 있는 경우에만 나타납니다.

  • 또는 KMS 키의 별칭 또는 키 ID를 선택(KMS 키의 세부 정보 페이지가 열림)한 다음별칭(Aliases) 탭을 선택합니다. 이 탭은 일반 구성 섹션 아래에 있습니다.

다음 이미지는 KMS 키 예제의 별칭탭을 보여 줍니다.

이 예제 AWS 관리형 키 페이지에 표시된 대로 별칭을 사용하여 AWS 관리형 키를 인식할 수 있습니다. AWS 관리형 키의 별칭 형식은 aws/<service-name>입니다. 예를 들어, Amazon DynamoDB에 사용되는 AWS 관리형 키의 별칭은 aws/dynamodb입니다.


            AWS KMS 콘솔의 AWS 관리형 키의 페이지에 포함된 별칭

별칭 보기(AWS KMS API)

ListAliases 작업은 계정 및 리전의 별칭 이름과 별칭 ARN을 반환합니다. 출력에는 AWS 관리형 키 및 고객 관리 키에 대한 별칭이 포함됩니다. AWS 관리형 키의 별칭 형식은 aws/<service-name>(예: aws/dynamodb)입니다.

응답에는 TargetKeyId 필드가 없는 별칭도 포함될 수 있습니다. 이러한 별칭은 미리 정의된 별칭으로, AWS에서 생성했지만 아직 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 } ] }

특정 KMS 키와 연결된 별칭을 모두 가져오려면 ListAliases 작업의 KeyId 파라미터 옵션을 사용합니다. KeyId 파라미터는 KMS 키의 키 ID 또는 키 ARN을 사용합니다.

이 예에서는 0987dcba-09fe-87dc-65ba-ab0987654321 KMS 키와 연결된 모든 별칭을 가져옵니다.

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

KeyId 파라미터는 와일드카드 문자를 사용하지 않지만 프로그래밍 언어의 기능을 사용하여 응답을 필터링할 수 있습니다.

예를 들어 다음 AWS CLI 명령은 AWS 관리형 키의 별칭만 가져옵니다.

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

다음 명령은 access-key 별칭만 가져옵니다. 별칭 이름은 대/소문자를 구분합니다.

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

별칭 업데이트

별칭은 독립 리소스이므로 별칭과 연결된 KMS 키를 변경할 수 있습니다. 예를 들어, test-key 별칭이 하나의 KMS 키와 연결된 경우 UpdateAlias 작업을 사용하여 다른 KMS 키와 연결할 수 있습니다. 이는 키 구성 요소를 변경하지 않고 KMS 키를 수동으로 교체하는 여러 방법 중 하나입니다. 새 리소스에 대해 하나의 KMS 키를 사용하던 애플리케이션이 이제 다른 KMS 키를 사용하도록 KMS 키를 업데이트할 수도 있습니다.

AWS KMS 콘솔에서 별칭을 업데이트할 수 없습니다. 또한 UpdateAlias(또는 다른 작업)를 사용하여 별칭 이름을 변경할 수 없습니다. 별칭 이름을 변경하려면 현재 별칭을 삭제한 후 KMS 키에 대해 새 별칭을 생성합니다.

별칭을 업데이트할 때 현재 KMS 키와 새 KMS 키의 유형이 동일해야 합니다(모두 대칭 또는 비대칭). 또한 키 사용도 동일해야 합니다(ENCRYPT_DECRYPT 또는 SIGN_VERIFY또는 GENERATE_VERIFY_MAC). 이 제한은 별칭을 사용하는 코드에서 암호화 오류를 방지합니다.

다음 예에서는 먼저 ListAliases 작업을 사용하여 test-key 별칭이 현재 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 } ] }

그런 다음 UpdateAlias 작업을 사용하여 test-key 별칭과 연결된 KMS 키를 KMS 키 0987dcba-09fe-87dc-65ba-ab0987654321로 변경합니다. 현재 연결된 KMS 키를 지정할 필요가 없으며 새 ("대상") KMS 키만 지정하면 됩니다. 별칭 이름은 대/소문자를 구분합니다.

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

별칭이 이제 대상 KMS 키와 연결되어 있는지 확인하려면 ListAliases 작업을 다시 수행합니다. AWS CLI 명령은 --query 파라미터를 사용하여 test-key 별칭만 가져옵니다. TargetKeyIdLastUpdatedDate 필드가 업데이트됩니다.

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

별칭 삭제

AWS KMS 콘솔에서 또는 DeleteAlias 작업을 사용하여 별칭을 삭제할 수 있습니다. 별칭을 삭제하기 전에 별칭이 사용되지 않는지 확인합니다. 별칭을 삭제해도 연결된 KMS 키에는 영향을 주지 않지만 별칭을 사용하는 애플리케이션에 문제가 발생할 수 있습니다. 실수로 별칭을 삭제한 경우 이름이 같은 새 별칭을 만들어 동일한 또는 다른 KMS 키와 연결할 수 있습니다.

KMS 키를 삭제하면 해당 KMS 키와 연결된 모든 별칭이 삭제됩니다.

별칭 삭제(콘솔)

AWS KMS 콘솔에서 별칭을 삭제하려면을 사용하려면 KMS 키에 대한 세부 정보 페이지의 별칭 탭을 사용합니다. KMS 키의 별칭을 한 번에 여러 개 삭제할 수 있습니다.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 탐색 창에서 고객 관리형 키(Customer managed keys)를 선택합니다. AWS 관리형 키 또는 AWS 소유 키의 별칭은 관리할 수 없습니다.

  4. 테이블에서 KMS 키의 키 ID 또는 별칭을 선택합니다. 그런 다음 KMS 키 세부 정보 페이지에서별칭 탭을 선택합니다.

    KMS 키에 별칭이 여러 개 있는 경우 테이블의 별칭 열에는 하나의 별칭과 별칭 요약(예: (n개 이상))이 표시됩니다. 별칭 요약을 선택하면 KMS 키 세부 정보 페이지의 별칭 탭으로 바로 이동합니다.

  5. 별칭 탭에서 삭제할 별칭 옆의 확인란을 선택합니다. 그런 다음 삭제(Delete)를 선택합니다.

별칭 삭제(AWS KMS API)

별칭을 삭제하려면 DeleteAlias 작업을 사용합니다. 이 작업은 한 번에 하나의 별칭을 삭제합니다. 별칭 이름은 대/소문자를 구분하며 앞에 alias/접두사가 앞에 와야 합니다.

예를 들어, 다음 명령은 test-key 별칭을 삭제합니다. 이 명령은 출력을 반환하지 않습니다.

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

별칭이 삭제되었는지 확인하려면 ListAliases 작업을 사용합니다. 다음 명령은 AWS CLI의 --query 파라미터를 사용하여 test-key 별칭만 가져옵니다. 응답의 빈 대괄호는 ListAliases 응답에 test-key 별칭이 포함되지 않았음을 나타냅니다. 대괄호를 제거하려면 --output text 파라미터와 값을 사용합니다.

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