AWS Key Management Service(AWS KMS)는 1년에 한 번 AWS KMS 키를 자동으로 교체합니다. AWS KMS 키가 자동으로 교체하기 전에 수동으로 교체하고 싶습니다.
해결 방법
현재의 AWS KMS 키를 새 키로 수동으로 교체하려면 다음 단계를 완료하세요.
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
-
application-current라는 별칭을 생성한 다음 기존 AWS KMS 키에 연결합니다.
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ 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
-
교체할 AWS KMS 키의 이름에 교체 날짜를 포함하는 application-20180606이라는 새 별칭을 생성합니다. 다음 예에서는 교체 날짜가 2018년 6월 6일입니다. AWS KMS 키에는 두 개의 별칭이 있습니다.
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ 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
-
다음과 비슷한 새 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"
}
}
-
application-current 별칭을 새 AWS KMS 키에 연결합니다. NEW_KMS_KEY_ID를 3단계에서 새로 생성한 키 ID로 바꾸세요.
$$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID
참고: 새 KMS 키는 이전 키로 암호화된 데이터를 해독할 수 없습니다. 대칭 암호화 키로 암호화된 데이터의 경우 AWS KMS는 메타데이터에서 AWS KMS 키 ID를 추출합니다. 그러면 AWS KMS가 해당 키를 사용하여 암호 해독을 수행합니다. 암호 해독 요청에서 키 ID를 지정하지 않도록 하세요. 비대칭 AWS KMS 키를 사용하는 경우 암호 해독 요청에서 키 ID를 수동으로 지정해야 합니다. 암호화 작업에 사용되는 AWS KMS 키를 추적해야 합니다.
-
새로운 AWS KMS 키와 현재의 AWS KMS 키가 모두 있습니다. application-current 키를 사용하여 데이터를 암호화합니다. AWS KMS가 데이터를 해독하면 AWS KMS 키가 자동으로 확인됩니다.
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep applicationALIASES 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 9bf76697-5b41-4caf-9fe1-e23bbe20f858
키 교체가 발생한 시기를 추적하거나 변경 사항을 롤백하려면 현재의 AWS KMS 키를 백업으로 보관하세요.
참고: 기존 키가 있는 경우 해당 정책을 application-current 키에 복사합니다.
-
AWS KMS 콘솔을 열고 고객 관리형 키를 선택합니다.
-
별칭에서 현재 키를 선택합니다.
-
키 정책에서 정책 보기로 전환을 선택합니다.
-
현재 정책을 복사한 다음 고객 관리형 키를 선택합니다.
-
별칭에서 application-current를 선택합니다.
-
키 정책에서 편집을 선택합니다. application-current 정책을 삭제하고 현재 정책을 붙여넣습니다. 변경 사항 저장을 선택합니다.
관련 정보
키를 AWS 키 관리 서비스로 가져오려면 어떻게 해야 하나요?