AWS Key Management Service(AWS KMS)에서는 AWS KMS 키를 1년에 한 번 자동으로 교체합니다. 1년에 한 번 자동으로 AWS KMS 키를 교체하기 전에 수동으로 교체하려면 어떻게 해야 하나요?
해결 방법
수동 키 교체를 사용하여 현재 키를 교체하기 위한 새 AWS KMS 키를 생성합니다.
이 예제에서는 현재 AWS KMS 키를 새 키로 교체하는 방법을 보여줍니다.
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.
1. 이름이 application-current인 별칭을 생성하고 기존 AWS KMS 키에 연결합니다.
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
2. 이름이 application-20180606인 새 별칭을 생성합니다. 이 별칭은 교체할 AWS KMS 키에 대한 이름의 일부로 교체 날짜를 포함합니다. 아래 예제에서 교체 날짜는 2018-06-06입니다. AWS KMS 키에는 다음 두 개의 별칭이 있습니다.
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
3. 다음과 유사한 새 AWS KMS 키를 생성합니다.
acbc32cf8f6f:~ $$ aws kms create-key
{
"KeyMetadata": {
"Origin": "AWS_KMS",
"KeyId": "9bf76697-5b41-4caf-9fe1-e23bbe20f858",
"Description": "",
"KeyManager": "CUSTOMER",
"Enabled": true,
"KeyUsage": "ENCRYPT_DECRYPT",
"KeyState": "Enabled",
"CreationDate": 1528289057.531,
"Arn": "arn:aws:kms:eu-west-1:123456789012:key/9bf76697-5b41-4caf-9fe1-e23bbe20f858",
"AWSAccountId": "123456789012"
}
}
4. 새 AWS KMS 키에 application-current 별칭을 연결합니다. NEW_KMS_KEY_ID를 3단계에서 새로 생성한 키 ID로 교체해야 합니다.
$$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID
5. 신규 및 기존 AWS KMS 키가 모두 있습니다. application-current 키를 사용하여 데이터를 암호화합니다. AWS KMS는 데이터를 해독할 때 AWS KMS 키를 자동으로 확인합니다.
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 9b5d79d7-f04c-4b30-baf1-deed52a7cc97
중요: 키 교체 수행 시점을 추적하거나 변경 사항을 롤백하려면 현재 AWS KMS 키를 백업으로 보관합니다.
참고: 기존 키가 있는 사용자는 해당 정책을 application-current 키에 복사해야 합니다.
6. AWS KMS 콘솔에 로그인하여 **고객 관리형 키(Customer managed keys)**를 선택합니다.
7. [별칭]에서 현재 키를 선택합니다.
8. [키 정책(Key policy)]에서 [정책 보기로 전환(Switch to policy view)]을 선택합니다.
9. 현재 정책을 복사한 다음 [고객 관리형 키(Customer managed keys)]를 선택합니다.
10. [별칭(Alias)]에서 application-current를 선택합니다.
11. [키 정책(Key Policy)]에서 [편집(Edit)]을 선택하고 application-current 정책을 삭제한 후 현재 정책을 붙여넣고 [변경 사항 저장(Save Changes)]을 선택합니다.
관련 정보
AWS Key Management Service에서 키 구성 요소를 가져오려면 어떻게 해야 합니까?