AWS Key Management Service
개발자 안내서

키 생성

AWS Management 콘솔에서, 또는 CreateKey 작업을 사용하여 고객 마스터 키(CMK)를 생성할 수 있습니다.

CMK 생성(Console)

AWS Management 콘솔을 사용하여 고객 마스터 키(CMK)를 생성할 수 있습니다.

참고

AWS KMS recently introduced a new console that makes it easier for you to organize and manage your KMS resources. It is available in all AWS Regions that AWS KMS supports except for AWS GovCloud (US-East) and AWS GovCloud (US-West). We encourage you to try the new AWS KMS console at https://console.aws.amazon.com/kms.

The original console will remain available for a brief period to give you time to familiarize yourself with the new one. To use the original console, choose Encryption Keys in the IAM console or go to https://console.aws.amazon.com/iam/home?#/encryptionKeys. Please share your feedback by choosing Feedback in either console or in the lower-right corner of this page.

새 CMK를 생성하려면(new console)
  1. AWS Management 콘솔에 로그인한 후 https://console.aws.amazon.com/iam/ 링크에서 AWS Identity and Access Management(IAM) 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 [Encryption keys]를 선택합니다.

  3. [Region]에서 적절한 AWS 리전을 선택합니다. 탐색 모음(오른쪽 상단 모서리)에서 리전 선택기를 사용하지 마십시오.

  4. In the navigation pane, choose Customer managed keys.

  5. [Create key]를 선택합니다.

  6. CMK의 별칭을 입력합니다. 별칭은 aws/로 시작할 수 없습니다. 해당 계정에서 AWS 관리형 CMK를 표현하기 위해 Amazon Web Services이 aws/ 접두사를 예약합니다.

    별칭은 CMK를 식별하는 데 사용할 수 있는 표시 이름입니다. 보호하고자 하는 데이터의 유형 또는 CMK와 함께 사용할 애플리케이션을 나타내는 별칭을 선택하는 것이 좋습니다.

    AWS Management 콘솔에서 CMK를 생성할 때 별칭이 필요합니다. 이들은 CreateKey 작업을 사용할 때 선택 사항입니다.

  7. (선택 사항) CMK에 대한 설명을 입력합니다.

    보호하고자 하는 데이터의 유형 또는 CMK와 함께 사용할 애플리케이션을 설명하는 내용을 선택하는 것이 좋습니다.

  8. [Next]를 선택합니다.

  9. (선택 사항) 태그 키와 태그 값(선택)을 입력합니다. CMK에 두 개 이상의 태그를 추가하려면 [Add tag]를 선택합니다.

    When you add tags to your AWS resources, AWS generates a cost allocation report with usage and costs aggregated by tags. For information about tagging CMKs, see 키 태그 지정.

  10. [Next]를 선택합니다.

  11. CMK를 관리할 수 있는 IAM 사용자 및 역할을 선택합니다.

    참고

    IAM 정책은 다른 IAM 사용자 및 역할에 CMK 관리 권한을 제공할 수 있습니다.

  12. (선택 사항) 선택한 IAM 사용자와 역할이 페이지 하단의 Key deletion(키 삭제) 섹션에서 이 CMK를 삭제하지 못하도록 하려면 Allow key administrators to delete this key(키 관리자가 이 키를 삭제하도록 허용) 확인란의 선택을 취소합니다.

  13. [Next]를 선택합니다.

  14. 암호화 작업에서 CMK를 사용할 수 있는 IAM 사용자 및 역할을 선택합니다.

    참고

    기본적으로 AWS 계정(루트 사용자)에게는 모든 권한이 있습니다. 따라서 IAM 정책은 사용자 및 역할에 암호화 작업에서 CMK를 사용할 수 있는 권한을 부여할 수도 있습니다.

  15. (선택 사항) 다른 AWS 계정이 암호화 작업에서 이 CMK를 사용하도록 허용할 수 있습니다. 이렇게 하려면 페이지 하단의 Other AWS accounts(다른 AWS 계정) 섹션에서 Add another AWS account(다른 AWS 계정 추가)를 선택하고 외부 계정의 AWS 계정 식별 번호를 입력합니다. 외부 계정을 여러 개 추가하려면 이 단계를 반복합니다.

    참고

    외부 계정의 보안 주체가 CMK를 사용하도록 허용하려면 외부 계정 관리자가 이러한 권한을 제공하는 IAM 정책을 생성해야 합니다. 자세한 내용은 외부 AWS 계정이 CMK에 액세스하도록 허용 단원을 참조하십시오.

  16. [Next]를 선택합니다.

  17. 옵션에서 생성한 키 정책 문서를 검토합니다. 이를 편집하는 것도 가능합니다.

  18. [Finish]를 선택해 CMK를 생성합니다.

작은 정보

새 CMK를 프로그래밍 방식으로 명령줄 인터페이스 작업에서 사용하려면, 키 ID 또는 키 ARN이 필요합니다. 자세한 지침은 키 ID 및 ARN 찾기 단원을 참조하십시오.

새 CMK를 생성하려면(original console)
  1. Sign in to the AWS Management 콘솔 and go to https://console.aws.amazon.com/iam/home?#/encryptionKeys.

  2. For Region, choose the appropriate AWS Region. Do not use the region selector in the navigation bar (top right corner).

  3. [Create key]를 선택합니다.

  4. CMK의 별칭을 입력합니다. 별칭은 aws로 시작할 수 없습니다. 계정에서 AWS관리형 CMK를 확인하기 위해 Amazon Web Services이 aws 접두사를 예약합니다.

    별칭은 CMK를 식별하는 데 사용할 수 있는 표시 이름입니다. 보호하고자 하는 데이터의 유형 또는 CMK와 함께 사용할 애플리케이션을 나타내는 별칭을 선택하는 것이 좋습니다.

    AWS Management 콘솔에서 CMK를 생성할 때 별칭이 필요합니다. 이들은 CreateKey 작업을 사용할 때 선택 사항입니다.

  5. (선택 사항) CMK에 대한 설명을 입력합니다.

    보호하고자 하는 데이터의 유형 또는 CMK와 함께 사용할 애플리케이션을 설명하는 내용을 선택하는 것이 좋습니다.

  6. [Next Step]을 선택합니다.

  7. (선택 사항) 태그 키와 태그 값(선택)을 입력합니다. CMK에 두 개 이상의 태그를 추가하려면 [Add tag]를 선택합니다.

  8. [Next Step]을 선택합니다.

  9. CMK를 관리할 수 있는 IAM 사용자와 역할을 선택합니다.

    참고

    기본적으로 AWS 계정(루트 사용자)에게는 모든 권한이 있습니다. 따라서 연결된 정책이 적절한 권한을 허용하는 IAM 사용자와 역할도 CMK를 관리할 수 있습니다.

  10. (선택 사항) 앞의 단계에서 선택한 IAM 사용자와 역할이 이 CMK를 삭제하지 못하도록 하려면, 페이지 하단에서 키 관리자가 이 키를 삭제하도록 허용합니다. 확인란의 선택을 취소합니다.

  11. [Next Step]을 선택합니다.

  12. CMK를 사용해 API로 데이터를 암호화하고 해독할 수 있는 사용자와 역할을 선택합니다.

    참고

    기본적으로 AWS 계정(루트 사용자)에게는 모든 권한이 있습니다. 따라서 연결된 정책이 적절한 권한을 허용하는 IAM 사용자와 역할도 CMK를 사용할 수 있습니다.

  13. (선택 사항) 페이지 하단의 컨트롤을 사용하여 이 CMK를 이용해 데이터를 암호화하고 해독할 수 있는 다른 AWS 계정을 지정할 수 있습니다. 이를 위해 외부 계정 추가를 선택한 후 원하는 AWS 계정 ID를 입력합니다. 필요한 만큼 반복하여 두 개 이상의 외부 계정을 추가합니다.

    참고

    외부 계정 관리자는 사용자에 대해 IAM 정책을 생성하여 CMK에 대한 액세스도 허용해야 합니다. 자세한 내용은 외부 AWS 계정이 CMK에 액세스하도록 허용 단원을 참조하십시오.

  14. [Next Step]을 선택합니다.

  15. [Finish]를 선택해 CMK를 생성합니다.

작은 정보

새 CMK를 프로그래밍 방식으로 명령줄 인터페이스 작업에서 사용하려면, 키 ID 또는 키 ARN이 필요합니다. 자세한 지침은 키 ID 및 ARN 찾기 단원을 참조하십시오.

CMK 생성(KMS API)

CreateKey 작업은 새 AWS KMS 고객 마스터 키(CMK)를 생성합니다. 이 예제들은 AWS Command Line Interface(AWS CLI)를 사용하지만, 사용자는 어떤 지원되는 프로그래밍 언어라도 사용할 수 있습니다.

이 작업에는 필수 파라미터가 없습니다. 하지만 키 구성 요소 없이 키를 만드는 경우 Origin 파라미터가 필요합니다. Policy 파라미터를 사용해 키 정책을 지정할 수도 있습니다. 언제든 키 정책(PutKeyPolicy)을 변경하고 설명태그 등의 선택적 요소를 추가할 수 있습니다.

다음은 파라미터 없이 CreateKey 작업을 호출하는 예제입니다.

$ aws kms create-key { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1502910355.475, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333" } }

새 CMK에 키 정책을 지정하지 않으면 CreateKey가 적용하는 기본 키 정책은 새 CMK를 만들 때 콘솔이 적용하는 기본 키 정책과 다릅니다.

예를 들어 이 GetKeyPolicy 작업 호출은 CreateKey가 적용하는 키 정책을 반환합니다. 그러면 AWS 계정 루트 사용자에게 CMK 액세스 권한을 부여하고, CMK에 대한 AWS Identity and Access Management(IAM) 정책 작성을 허용합니다. IAM 정책 및 CMK의 키 정책에 대한 자세한 내용은 AWS KMS에 대한 인증 및 액세스 제어 단원을 참조하십시오.

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default --output text { "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" } ] }