

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 비대칭 KMS 키 생성
<a name="asymm-create-key"></a>

 AWS KMS 콘솔에서 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API를 사용하거나 [AWS::KMS::Key CloudFormation 템플릿](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)을 사용하여 [비대칭 KMS 키](symmetric-asymmetric.md)를 생성할 수 있습니다. 비대칭 KMS 키는 암호화, 서명 또는 공유 비밀을 도출하는 데 사용할 수 있는 퍼블릭 및 프라이빗 키 페어를 나타냅니다. 프라이빗 키는 내에 유지됩니다 AWS KMS. 외부에서 사용할 퍼블릭 키를 다운로드하려면 섹션을 AWS KMS참조하세요[퍼블릭 키 다운로드](download-public-key.md).

비대칭 KMS를 생성할 때 키 사양을 선택해야 합니다. 선택하는 키 사양은 규정, 보안 또는 비즈니스 요구 사항에 따라 결정됩니다. 또한 암호화하거나 서명해야 하는 메시지의 크기에 영향을 받을 수 있습니다. 일반적으로 암호화 키가 길수록 무차별 대입 공격에 더 강합니다. 지원되는 모든 키 사양에 대한 자세한 설명은 [키 사양 참조](symm-asymm-choose-key-spec.md) 단원을 참조하세요.

AWS 와 통합되는 서비스는 비대칭 KMS 키를 지원하지 AWS KMS 않습니다. AWS 서비스에서 저장하거나 관리하는 데이터를 암호화하는 KMS 키를 생성하려면 [대칭 암호화 KMS 키를 생성합니다](create-symmetric-cmk.md).

KMS 키를 생성하는 데 필요한 권한에 대한 자세한 내용은 [KMS 키를 생성하기 위한 사용 권한](create-keys.md#create-key-permissions) 섹션을 참조하세요.

## AWS KMS 콘솔 사용
<a name="create-asymmetric-keys-console"></a>

를 사용하여 비대칭 AWS KMS keys (KMS 키) AWS Management Console 을 생성할 수 있습니다. 각 비대칭 KMS 키는 퍼블릭 및 프라이빗 키 페어를 나타냅니다.

**중요**  
별칭, 설명 또는 태그에 기밀 또는 민감한 정보를 포함하지 마십시오. 이러한 필드는 CloudTrail 로그 및 기타 출력에 일반 텍스트로 표시될 수 있습니다.

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

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

1. 탐색 창에서 **고객 관리형 키**를 선택합니다.

1. **키 생성**을 선택합니다.

1. 비대칭 KMS 키를 생성하려면 **키 유형(Key type)**에서 **비대칭(Asymmetric)**을 선택합니다.

1. 퍼블릭 키 암호화를 위한 비대칭 KMS 키를 생성하면 **키 사용(Key usage)**에서 **암호화 및 해독(Encrypt and decrypt)**를 선택합니다.

   메시지 서명 및 서명 확인을 위한 비대칭 KMS 키를 생성하려면 **키 사용**에서 **서명 및 확인**을 선택합니다.

   공유 보안 비밀을 도출하기 위한 비대칭 KMS 키를 생성하려면 **키 사용**에서 **키 계약**을 선택합니다.

   키 사용 값 선택에 대한 도움말은 [생성할 KMS 키 유형 선택](create-keys.md#symm-asymm-choose) 섹션을 참조하세요.

1. 비대칭 KMS 키에 대한 사양(**키 사양(Key spec)**)을 선택합니다.

1. **다음**을 선택합니다.

1. KMS 키에 대한 [별칭](kms-alias.md)을 입력합니다. 별칭은 **aws/**로 시작할 수 없습니다. **aws/** 접두사는 Amazon Web Services에서 계정에서 AWS 관리형 키 를 나타내기 위해 예약한 것입니다.

   *별칭*은 콘솔 및 일부 AWS KMS APIs. 보호하고자 하는 데이터의 유형 또는 KMS 키와 함께 사용할 애플리케이션을 나타내는 별칭을 선택하는 것이 좋습니다.

    AWS Management Console에서 KMS 키를 생성할 때 별칭이 필요합니다. [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 작업을 사용할 때는 별칭을 지정할 수 없지만 콘솔이나 [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) 작업을 사용하여 기존 KMS 키의 별칭을 생성합니다. 자세한 내용은 [의 별칭 AWS KMS](kms-alias.md) 섹션을 참조하세요.

1. (선택 사항) KMS 키에 대한 설명을 입력합니다.

   보호하려는 데이터의 유형 또는 KMS 키와 함께 사용하려는 애플리케이션을 설명하는 내용을 입력합니다.

   [키 상태](key-state.md)가 `Pending Deletion` 또는 `Pending Replica Deletion`이 아닌 한 지금 설명을 추가하거나 언제든지 설명을 업데이트할 수 있습니다. 기존 고객 관리형 키에 대한 설명을 추가, 변경 또는 삭제하려면의 KMS 키에 대한 세부 정보 페이지에서 설명을 편집 AWS Management Console 하거나 [UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html) 작업을 사용합니다.

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

    AWS 리소스에 태그를 추가하면가 태그별로 집계된 사용량 및 비용이 포함된 비용 할당 보고서를 AWS 생성합니다. KMS 키에 대한 액세스를 제어하는 데에도 태그를 사용할 수 있습니다. KMS 키 태그 지정에 대한 자세한 내용은 [의 태그 AWS KMS](tagging-keys.md) 및 [에 대한 ABAC AWS KMS](abac.md) 섹션을 참조하십시오.

1. **다음**을 선택합니다.

1. KMS 키를 관리할 수 있는 IAM 사용자 및 역할을 선택합니다.
**참고**  
이 키 정책은이 KMS 키를 AWS 계정 완전히 제어합니다. 계정 관리자가 IAM 정책을 사용하여 KMS 키를 관리할 수 있는 권한을 다른 보안 주체에게 부여하도록 허용합니다. 자세한 내용은 [기본 키 정책](key-policy-default.md)을 참조하세요.  
IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자의 사용을 장려하지 않습니다. 가능할 경우, 임시 보안 인증 정보를 제공하는 IAM 역할을 사용하세요. 자세한 내용은 *IAM 사용 설명서*의 [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.  
 AWS KMS 콘솔은 문 식별자 아래의 키 정책에 키 관리자를 추가합니다`"Allow access for Key Administrators"`. 이 문 식별자를 수정하면 문에 대해 콘솔이 업데이트 내용을 표시하는 방식에 영향을 미칠 수 있습니다.

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

1. **다음**을 선택합니다.

1. [암호화 작업](kms-cryptography.md#cryptographic-operations)에서 KMS 키를 사용할 수 있는 IAM 사용자 및 역할을 선택합니다.
**참고**  
IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자의 사용을 장려하지 않습니다. 가능할 경우, 임시 보안 인증 정보를 제공하는 IAM 역할을 사용하세요. 자세한 내용은 *IAM 사용 설명서*의 [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.  
 AWS KMS 콘솔은 명령문 식별자 `"Allow use of the key"` 및 아래의 키 정책에 키 사용자를 추가합니다`"Allow attachment of persistent resources"`. 이러한 문 식별자들을 수정하면 문에 대해 콘솔이 업데이트 내용을 표시하는 방식에 영향을 미칠 수 있습니다.

1. (선택 사항) 다른 사용자가 암호화 작업에이 KMS 키를 AWS 계정 사용하도록 허용할 수 있습니다. 이렇게 하려면 페이지 하단의 **기타 AWS 계정** 섹션에서 **다른 AWS 계정추가**를 선택하고 외부 계정의 AWS 계정 식별 번호를 입력합니다. 외부 계정을 여러 개 추가하려면 이 단계를 반복합니다.
**참고**  
외부 계정의 보안 주체가 KMS 키를 사용하도록 허용하려면 외부 계정 관리자가 이러한 권한을 제공하는 IAM 정책을 생성해야 합니다. 자세한 정보는 [다른 계정의 사용자가 KMS를 사용하도록 허용](key-policy-modifying-external-accounts.md) 섹션을 참조하세요.

1. **다음**을 선택합니다.

1. 키에 대한 키 정책 문을 검토합니다. 키 정책을 변경하려면 **편집**을 선택하세요.

1. **다음**을 선택합니다.

1. 선택한 키 설정을 검토합니다. 여전히 돌아가서 모든 설정을 변경할 수 있습니다.

1. **마침(Finish)**을 선택하여 KMS 키를 생성합니다.

## AWS KMS API 사용
<a name="create-asymmetric-keys-api"></a>

[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 작업을 사용하여 비대칭을 생성할 수 있습니다 AWS KMS key. 이 예제들은 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만, 사용자는 어떤 지원되는 프로그래밍 언어라도 사용할 수 있습니다.

비대칭 KMS 키를 생성할 때 `KeySpec` 파라미터를 지정해야 합니다. 이 파라미터는 생성할 키의 유형을 결정합니다. 또한 ENCRYPT\$1DECRYPT, SIGN\$1VERIFY 또는 KEY\$1AGREEMENT의 `KeyUsage` 값을 지정해야 합니다. KMS 키가 생성된 후에는 이러한 속성을 변경할 수 없습니다.

`CreateKey` 작업을 사용하면 별칭을 지정할 수 없지만 [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) 작업을 사용하여 새 KMS 키의 별칭을 만들 수 있습니다.

**중요**  
`Description` 또는 `Tags` 필드에 기밀 또는 민감한 정보를 포함하지 마십시오. 이러한 필드는 CloudTrail 로그 및 기타 출력에 일반 텍스트로 표시될 수 있습니다.

**퍼블릭 암호화를 위한 비대칭 KMS 키 페어 생성**  
다음 예제에서는 `CreateKey` 작업을 사용하여 퍼블릭 키 암호화를 위해 설계된 4096비트 RSA 키의 비대칭 KMS 키를 생성합니다.

```
$ aws kms create-key --key-spec RSA_4096 --key-usage ENCRYPT_DECRYPT
{
    "KeyMetadata": {
        "KeyState": "Enabled",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "KeyManager": "CUSTOMER",
        "Description": "",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "CreationDate": 1569973196.214,
        "MultiRegion": false,
        "KeySpec": "RSA_4096",
        "CustomerMasterKeySpec": "RSA_4096",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "EncryptionAlgorithms": [
            "RSAES_OAEP_SHA_1",
            "RSAES_OAEP_SHA_256"
        ],
        "AWSAccountId": "111122223333",
        "Origin": "AWS_KMS",
        "Enabled": true
    }
}
```

**서명 및 확인을 위한 비대칭 KMS 키 페어 생성**  
다음 예제 명령은 서명 및 확인에 사용되는 ECC 키 페어를 나타내는 비대칭 KMS 키를 생성합니다. 암호화 및 암호 해독을 위한 타원 곡선 키 페어는 생성할 수 없습니다.

```
$ aws kms create-key --key-spec ECC_NIST_P521 --key-usage SIGN_VERIFY
{
    "KeyMetadata": {
        "KeyState": "Enabled",
        "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": 1570824817.837,
        "Origin": "AWS_KMS",
        "SigningAlgorithms": [
            "ECDSA_SHA_512"
        ],
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
        "AWSAccountId": "111122223333",
        "KeySpec": "ECC_NIST_P521",
        "CustomerMasterKeySpec": "ECC_NIST_P521",
        "KeyManager": "CUSTOMER",
        "Description": "",
        "Enabled": true,
        "MultiRegion": false,
        "KeyUsage": "SIGN_VERIFY"
    }
}
```

**공유 보안 비밀을 도출하기 위한 비대칭 KMS 키 페어 생성**  
다음 예제 명령은 공유 비밀을 도출하는 데 사용되는 ECDSA 키 페어를 나타내는 비대칭 KMS 키를 생성합니다. 암호화 및 암호 해독을 위한 타원 곡선 키 페어는 생성할 수 없습니다.

```
$ aws kms create-key --key-spec ECC_NIST_P256 --key-usage KEY_AGREEMENT
{
    "KeyMetadata": {
        "AWSAccountId": "111122223333",
        "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": "2023-12-27T19:10:15.063000+00:00",
        "Enabled": true,
        "Description": "",
        "KeyUsage": "KEY_AGREEMENT",
        "KeyState": "Enabled",
        "Origin": "AWS_KMS",
        "KeyManager": "CUSTOMER",
        "CustomerMasterKeySpec": "ECC_NIST_P256",
        "KeySpec": "ECC_NIST_P256",
        "KeyAgreementAlgorithms": [
            "ECDH"
        ],
        "MultiRegion": false
    }
}
```