AWS KMS의 다중 리전 키 - AWS Key Management Service

AWS KMS의 다중 리전 키

AWS KMS는 다중 리전 키를 지원지원합니다. 이는 여러 리전에서 동일한 키를 가지고 있는 것처럼 서로 바꿔서 사용할 수 있는 다른 AWS 리전의 AWS KMS keys입니다. 관련된 다중 리전 키의 각 세트에는 동일한키 구성 요소키 ID가 있으므로 AWS KMS를 다시 암호화하거나 크로스 리전 호출을 수행하지 않고도 하나의 AWS 리전에서 데이터를 암호화하고 다른 AWS 리전에서 해독할 수 있습니다.

모든 KMS 키와 마찬가지로 다중 리전 키는 AWS KMS를 암호화하지 않은 상태로 두지 않습니다. 암호화 또는 서명을 위한 대칭 또는 비대칭 다중 리전 키를 생성하고 HMAC 태그를 생성 및 확인하기 위한 HMAC 다중 리전 키를 생성하고 가져온 키 구성 요소 또는 AWS KMS가 생성한 키 구성 요소를 사용하여 다중 리전 키를 생성할 수 있습니다. 별칭 및 태그 생성, 키 정책 및 권한 부여 설정, 선택적으로 활성화 및 비활성화를 포함하여 독립적으로 각 다중 리전 키를 관리해야 합니다. 단일 리전 키로 수행할 수 있는 모든 암호화 작업에서 다중 리전 키를 사용할 수 있습니다.

다중 리전 키는 많은 일반적인 데이터 보안 시나리오를 위한 유연하고 강력한 솔루션입니다.

재해 복구

백업 및 복구 아키텍처에서 다중 리전 키를 사용하면 AWS 리전 중단이 발생한 경우에도 중단 없이 암호화된 데이터를 처리할 수 있습니다. 백업 리전에서 유지 관리되는 데이터는 백업 리전에서 해독할 수 있으며, 백업 리전에서 새로 암호화된 데이터는 해당 리전이 복원될 때 기본 리전에서 해독할 수 있습니다.

글로벌 데이터 관리

전 세계적으로 운영되는 비즈니스에는 AWS 리전에서 일관되게 사용할 수 있는 전 세계적으로 분산된 데이터가 필요합니다. 데이터가 상주하는 모든 리전에서 다중 리전 키를 만든 다음 교차 리전 호출의 지연 시간 또는 각 리전의 다른 키로 데이터를 다시 암호화하는 비용 없이 단일 리전 키인 것처럼 키를 사용할 수 있습니다.

분산 서명 애플리케이션

교차 리전 서명 기능이 필요한 애플리케이션은 다중 리전 비대칭 서명 키를 사용하여 다른 AWS 리전에서 일관되고 반복적으로 동일한 디지털 서명을 생성할 수 있습니다.

단일 글로벌 신뢰 저장소(단일 루트 CA(인증 기관) 및 루트 CA에서 서명한 리전의 중간 CA에 대해 인증서 체인을 사용하는 경우 다중 리전 키가 필요하지 않습니다. 그러나 시스템에서 애플리케이션 서명과 같은 중간 CA를 지원하지 않는 경우 다중 리전 키를 사용하여 리전 인증에 일관성을 유지할 수 있습니다.

여러 리전에 걸친 활성/활성 애플리케이션

일부 워크로드 및 애플리케이션은 여러 리전에 걸쳐 활성/활성 아키텍처에 있을 수 있습니다. 이러한 애플리케이션의 경우 다중 리전 키는 리전 경계를 넘어 이동할 수 있는 데이터에 대한 동시 암호화 및 해독 작업에 동일한 키 구성 요소를 제공하여 복잡성을 줄일 수 있습니다.

클라이언트 측 암호화 라이브러리(예: AWS Encryption SDK, DynamoDB 암호화 클라이언트Amazon S3 클라이언트 측 암호화)와 함께 다중 리전 키를 사용할 수 있습니다 Amazon DynamoDB 글로벌 테이블 및 DynamoDB 암호화 클라이언트에서 다중 리전 키를 사용하는 예는 AWS 보안 블로그의 AWS KMS 다중 지역 키로 글로벌 데이터 클라이언트 측 암호화를 참조하세요.

유휴 시 암호화 또는 디지털 서명을 위해 AWS KMS와 통합되는 AWS 서비스는 현재 다중 리전 키를 단일 리전 키인 것처럼 취급합니다. 리전 간에 이동된 데이터를 다시 래핑하거나 다시 암호화할 수 있습니다. 예를 들어, Amazon S3 교차 리전 복제는 다중 리전 키로 보호된 객체를 복제하는 경우에도 대상 리전의 KMS 키 아래에 있는 데이터를 해독하고 다시 암호화합니다.

다중 리전 키는 전역 키가 아닙니다. 다중 리전 기본 키를 만든 다음 AWS 파티션 내에서 선택한 리전에 복제합니다. 그런 다음 각 리전에서 다중 리전 키를 독립적으로 관리합니다. AWS, AWS KMS 모두 사용자를 대신하여 다중 리전 키를 자동으로 생성하거나 리전으로 복제하지 않습니다. AWS 서비스가 귀하의 계정에 생성하는 KMS 키인 AWS 관리형 키는 항상 단일 리전 키입니다.

기존 단일 리전 키는 다중 리전 키로 변환할 수 없습니다. 이러한 설계는 기존 단일 리전 키로 보호되는 모든 데이터가 동일한 데이터 상주 및 데이터 주권 속성을 유지하도록 보장합니다.

대부분의 데이터 보안 요구 사항에 대해 리전 리소스의 리전 격리 및 내결함성은 표준 AWS KMS 단일 리전 키를 가장 적합한 솔루션으로 만듭니다. 그러나 여러 리전의 클라이언트 측 애플리케이션에서 데이터를 암호화하거나 서명해야 하는 경우 다중 리전 키가 해결책일 수 있습니다.

리전

다중 리전 키는 중동(UAE), 중국(베이징) 및 중국(닝샤)을 제외하고 AWS KMS가 지원하는 모든 AWS 리전에서 지원됩니다.

요금 및 할당량

관련된 다중 리전 키 세트의 모든 키는 가격 책정 및 할당량에 대해 하나의 KMS 키로 계산됩니다. AWS KMS 할당량은 계정의 각 리전에 대해 별도로 계산됩니다. 각 리전에서 다중 리전 키의 사용 및 관리는 해당 리전의 할당량에 포함됩니다.

지원되는 KMS 키 유형

다음 유형의 멀티 리전 KMS 키를 만들 수 있습니다.

  • 대칭 암호화 KMS 키

  • 비대칭 KMS 키

  • HMAC KMS 키

  • 가져온 키 구성 요소를 사용한 KMS 키

사용자 지정 키 스토어에서는 다중 리전 키를 만들 수 없습니다.

다중 리전 키에 대한 보안 고려 사항

AWS KMS 다중 리전 키는 필요할 때만 사용할 수 있습니다. 다중 리전 키는 AWS 리전 간에 암호화된 데이터를 이동하거나 지역 간 액세스가 필요한 워크로드에 유연하고 확장 가능한 솔루션을 제공합니다. 여러 리전에서 보호된 데이터를 공유, 이동 또는 백업해야 하거나 다른 리전에서 작동하는 애플리케이션의 동일한 디지털 서명을 만들어야 하는 경우 다중 리전 키를 고려하십시오.

그러나 다중 지역 키를 만드는 프로세스는 AWS KMS 내의 AWS 리전 경계를 넘어 키 구송 요소를 이동합니다. 다중 리전 키에 의해 생성된 암호문은 여러 지리적 위치에 있는 여러 관련 키에 의해 해독될 수 있습니다. 또한 지역적으로 격리된 서비스 및 리소스에도 상당한 이점이 있습니다. 각 AWS 리전은 격리되어 있으며 다른 리전에 독립적입니다. 리전에서는 내결함성, 안정성 및 복원성을 지원하고 지연 시간을 줄일 수도 있습니다. 이를 통해 사용자는 가용 상태를 유지하며 다른 리전에서 중단되는 경우 영향을 받지 않는 중복 리소스를 생성할 수 있습니다. AWS KMS에서 모든 암호문은 단 하나의 키로 해독할 수 있습니다.

또한 리전 지역 키는 새로운 보안 고려 사항을 제기합니다.

  • 다중 리전 키를 사용하면 액세스 제어 및 데이터 보안 정책 적용이 더욱 복잡해집니다. 격리된 여러 리전의 키에 대해 정책을 일관되게 감사해야 합니다. 또한 별도의 키에 의존하는 대신 정책을 사용하여 경계를 적용해야합니다.

    예를 들어, 한 리전의 급여 팀이 다른 지역의 급여 데이터를 읽을 수 없도록 데이터에 대한 정책 조건을 설정해야 합니다. 또한 한 리전의 다중 리전 키가 한 테넌트의 데이터를 보호하고 다른 리전의 관련 다중 리전 키가 다른 테넌트의 데이터를 보호하는 시나리오를 방지하려면 액세스 제어를 사용해야 합니다.

  • 리전 간 키 감사 또한 더 복잡합니다. 다중 리전 키를 사용하면 여러 리전의 감사 활동을 검사하고 조정하여 보호된 데이터에 대한 주요 활동을 완벽하게 이해할 수 있어야 합니다.

  • 데이터 상주 규정 준수는 더욱 복잡할 수 있습니다. 격리된 리전을 사용하면 데이터 상주 및 데이터 주권 준수를 보장할 수 있습니다. 지정된 리전의 KMS 키는 해당 리전의 민감한 데이터만 해독할 수 있습니다. 한 리전에서 암호화된 데이터는 완전히 보호되고 다른 리전에서는 액세스할 수 없게 됩니다.

    다중 리전 키로 데이터 상주 및 데이터 주권을 확인하려면 액세스 정책을 구현하고 여러 리전에 걸쳐 AWS CloudTrail 이벤트를 컴파일해야 합니다.

다중 리전 키에 대한 액세스 제어를 더 쉽게 관리할 수 있도록 다중 리전 키 복제 권한(kms:ReplicateKey) 복제 권한은 키 생성을 위한 표준 권한(kms:CreateKey)과 별개입니다. 또한, AWS KMS는 다중 리전 키를 생성, 사용 또는 관리할 수 있는 권한을 허용하거나 거부하는 kms:MultiRegion과 다중 리전 키를 복제할 수 있는 리전을 제한하는 kms:ReplicaRegion을 비롯한 다중 리전 키에 대한 여러 정책 조건을 지원합니다. 자세한 내용은 다중 리전 키에 대한 액세스 제어 섹션을 참조하세요.

다중 리전 키의 작동 방식

먼저 미국 동부(버지니아 북부)와 같이 AWS KMS가 지원하는 AWS 리전의 대칭 또는 비대칭 다중 리전 기본 키를 생성합니다. 키를 만들 때만 키가 단일 리전인지 또는 다중 리전인지를 결정합니다. 나중에 이 속성을 변경할 수 없습니다. 다른 KMS 키와 마찬가지로 다중 리전 키에 대한 키 정책을 설정하고 권한 부여를 만들고 분류 및 권한 부여를 위한 별칭 및 태그를 추가할 수 있습니다. (이들은 다른 키와 공유되거나 동기화되지 않는 독립적인 속성입니다.) 암호화 또는 서명에 대한 암호화 작업에 다중 리전 기본 키를 사용할 수 있습니다.

AWS KMS 콘솔에서 또는 MultiRegion 파라미터가 true로 설정된 CreateKey API를 사용하여 다중 리전 기본 키를 생성할 수 있습니다. 다중 리전 키에는 mrk-로 시작하는 구분 키 ID가 있습니다. mrk- 접두사를 사용하여 프로그래밍 방식으로 MRK를 식별할 수 있습니다.

선택하는 경우 다중 리전 기본 키를 유럽(아일랜드)과 같은 동일한 AWS 파티션에 있는 하나 이상의 다른 AWS 리전에 복제할 수 있습니다. 그렇게 할 때 AWS KMS는 기본 키와 동일한 키 ID 및 기타 공유 속성을 사용하여 지정된 리전에 복제본 키를 생성합니다. 그런 다음 리전 경계를 넘어 키 구성 요소를 안전하게 전송하고 AWS KMS 내에서 대상 리전의 새 KMS 키와 연결합니다. 그 결과 두 개의 관련 다중 리전 키(기본 키와 복제본 키)가 생성되며, 이 키를 서로 바꿔 사용할 수 있습니다..

AWS KMS 콘솔에서 또는 ReplicateKey API를 사용하여 다중 리전 복제본 키를 생성할 수 있습니다.

결과 다중 리전 복제본 키는 기본 키와 동일한 공유 속성을 가진 완전한 기능의 KMS 키입니다. 다른 모든 측면에서 자체 설명, 키 정책, 권한 부여, 별칭 및 태그가 있는 독립 KMS 키입니다. 다중 리전 키를 사용하거나 사용하지 않도록 설정해도 관련된 다중 리전 키에는 영향을 주지 않습니다. 기본 키와 복제 키를 암호화 작업에서 독립적으로 사용하거나 사용을 조정할 수 있습니다. 예를 들어 미국 동부(버지니아 북부) 리전의 기본 키를 사용하여 데이터를 암호화하고, 데이터를 유럽(아일랜드) 리전으로 이동하고, 복제 키를 사용하여 데이터를 해독할 수 있습니다.

관련 다중 리전 키는 동일한 키 ID를 갖습니다. 키 ARN(Amazon 리소스 이름)은 리전 필드에서만 다릅니다. 예를 들어 다중 리전 기본 키 및 복제본 키에는 다음 예제 키 ARN이 있을 수 있습니다. 키 ID(키 ARN의 마지막 요소)는 동일합니다. 두 키 모두 다중 리전 키의 구분적 키 ID를 가지며, mrk-로 시작합니다.

Primary key: arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab Replica key: arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab

상호 운용성을 위해서는 동일한 키 ID가 필요합니다. 암호화할 때 AWS KMS는 KMS 키의 키 ID를 암호문에 바인딩하므로 암호문은 해당 KMS 키 또는 동일한 키 ID를 가진 KMS 키로만 해독할 수 있습니다. 또한 이 기능을 사용하면 관련 다중 리전 키를 쉽게 인식할 수 있으며 상호 교환 방식으로 쉽게 사용할 수 있습니다. 예를 들어 애플리케이션에서 이러한 키를 사용하는 경우 공유 키 ID로 관련 다중 리전 키를 참조할 수 있습니다. 그런 다음 필요한 경우 리전 또는 ARN을 지정하여 구분합니다.

데이터 요구 사항이 변경되면 기본 키를 미국 서부(오레곤) 및 아시아 태평양(시드니)과 같은 동일한 파티션의 다른 AWS 리전에 복제할 수 있습니다. 결과는 다음 다이어그램과 같이 동일한 키 구성 요소 및 키 ID를 가진 4개의 관련 다중 리전 키입니다. 키를 독립적으로 관리합니다. 독립적으로 또는 조정된 방식으로 사용할 수 있습니다. 예를 들어 아시아 태평양(시드니)의 복제본 키를 사용하여 데이터를 암호화하고, 데이터를 미국 서부(오레곤)로 이동한 다음, 미국 서부(오레곤)의 복제 키를 사용하여 암호를 해독할 수 있습니다.


                다중 리전 키의 기본 키 및 복제본 키

다중 리전 키에 대한 기타 고려 사항은 다음과 같습니다.

공유 속성 동기화 — 다중 리전 키의 공유 속성이 변경되면, AWS KMS는 기본 키에서 모든 복제본 키로 변경 사항을 자동으로 동기화합니다. 공유 속성의 동기화를 요청하거나 강제할 수 없습니다. AWS KMS가 모든 변경 사항을 감지하고 동기화합니다. 그러나 CloudTrail 로그에서 SynchronizeMultiRegionKey 이벤트를 사용하여 동기화를 감사할 수 있습니다.

예를 들어 대칭 다중 리전 기본 키에서 자동 키 교체를 활성화하면 AWS KMS는 해당 설정을 모든 복제 키에 복사합니다. 키 구성 요소가 교체되면 모든 관련 다중 리전 키 간에 교체가 동기화되므로 동일한 현재 키 구성 요소를 가지며 모든 이전 버전의 키 구성 요소에 액세스할 수 있습니다. 새 복제 키를 만들면 관련된 모든 다중 리전 키와 동일한 현재 키 구성 요소를 가지며 이전 버전의 키 구성 요소에 액세스할 수 있습니다. 자세한 내용은 다중 리전 키 교체 섹션을 참조하세요.

기본 키 변경 — 모든 다중 리전 키 세트에는 정확히 하나의 기본 키가 있어야 합니다. 기본 키는 복제 할 수있는 유일한 키입니다. 또한 복제 키의 공유 속성의 소스이기도합니다. 하지만 기본 키를 복제본으로 변경하고 복제본 키 중 하나를 기본 키로 승격할 수 있습니다. 이를 수행하여 특정 리전에서 다중 리전 기본 키를 삭제하거나 프로젝트 관리자와 더 가까운 지역에서 기본 키를 찾을 수 있습니다. 자세한 내용은 기본 리전 업데이트 섹션을 참조하세요.

다중 리전 키 삭제 — 모든 KMS 키와 마찬가지로 다중 리전 키의 삭제를 예약해야 AWS KMS가 해당 항목을 삭제합니다. 키가 삭제 대기 중인 동안에는 어떠한 암호화 작업에도 해당 키를 사용할 수 없습니다. 그러나 AWS KMS는 모든 복제 키가 삭제될 때까지 다중 리전 기본 키를 삭제하지 않습니다. 자세한 내용은 다중 리전 키 삭제 섹션을 참조하세요.

개념

다중 리전 키에 사용되는 용어와 개념은 다음과 같습니다.

다중 리전 키

다중 리전 키는 다른 AWS 리전에서 동일한 키 ID와 키 구성 요소(및 다른공유 속성)를 가진 KMS 키 집합 중 하나입니다 각 다중 리전 키는 완벽하게 작동하는 KMS 키이며 관련 다중 리전 키와 완전히 독립적으로 사용할 수 있습니다. 왜냐하면 모든 관련 다중 리전 키는 동일한 키 ID와 키 구성 요소를 가지며 상호 운용 가능합니다. 즉, AWS 리전의 모든 관련 다중 리전 키는 다른 관련 다중 리전 키로 암호화된 암호문을 해독할 수 있습니다.

KMS 키를 생성할 때 다중 리전 속성을 설정합니다. 기존 키에서는 다중 리전 속성을 변경할 수 없습니다. 단일 리전 키를 다중 리전 키로 변환하거나 다중 리전 키를 단일 리전 키로 변환할 수 없습니다. 기존 워크로드를 다중 리전 시나리오로 이동하려면 데이터를 다시 암호화하거나 새로운 다중 리전 키로 새 서명을 만들어야 합니다.

다중 리전 키는 대칭 또는 비대칭일 수 있으며 AWS KMS 키 구성 요소 또는 가져온 키 구성 요소를 사용할 수 있습니다. 사용자 지정 키 스토어에서는 다중 리전 키를 만들 수 없습니다.

관련된 다중 리전 키 세트에는 항상 정확히 하나의 기본 키가 있습니다. 다른 AWS 리전에서 해당 기본 키의 복제본 키를 생성할 수 있습니다. 기본 리전을 업데이트할 수도 있습니다. 즉, 기본 키를 복제본 키로 변경하고 지정된 복제본 키를 기본 키로 변경하는 것입니다. 그러나 각 AWS 리전에서 기본 키 또는 복제본 키를 하나만 유지할 수 있습니다. 모든 리전은 동일한 AWS 파티션에 있어야 합니다.

동일 또는 다른 AWS 리전에 여러 관련 다중 리전 키 세트가 있을 수 있습니다. 관련된 다중 리전 키는 상호 운용이 가능하지만 관련되지 않은 다중 리전 키는 상호 운용할 수 없습니다.

기본 키

다중 리전 기본 키는 동일한 파티션의 다른 AWS 리전에 복제할 수 있는 KMS 키입니다. 각 다중 리전 키 세트에는 기본 키가 하나만 있습니다.

기본 키와 복제본 키는 차이점은 다음과 같습니다.

  • 기본 키만 복제될 수 있습니다.

  • 기본 키는 키 구성 요소 및 키 ID를 포함하여 복제 키공유 속성에 대한 소스입니다.

  • 기본 키에서만 자동 키 교체를 활성화, 비활성화할 수 있습니다.

  • 언제든지 기본 키의 삭제를 예약할 수 있습니다. 하지만 AWS KMS는 모든 복제본 키가 삭제될 때까지 기본 키를 삭제하지 않습니다.

기본 키와 복제본 키는 암호화 속성에서 다르지 않습니다. 기본 키와 해당 복제 키를 서로 바꿔서 사용할 수 있습니다.

따라서 기본 키를 복제할 필요는 없습니다. KMS 키와 마찬가지로 사용할 수 있으며 유용할 때 복제할 수 있습니다. 그러나 다중 리전 키는 단일 리전 키와 보안 속성이 다르기 때문에 다중 리전 키를 복제하려는 경우에만 다중 리전 키를 만드는 것이 좋습니다.

복제본 키

다중 리전 복제본 키기본 키 및 관련 복제본 키와 키 ID키 구성 요소가 동일하지만 다른 AWS 리전에 존재하는 KMS 키입니다.

복제 키는 자체 키 정책, 권한 부여, 별칭, 태그 및 기타 속성을 포함하는 완전한 기능을 갖춘 KMS 키입니다. 기본 키 또는 다른 키의 복사본이나 포인터가 아닙니다. 기본 키 및 모든 관련 복제본 키가 비활성화되어 있어도 복제본 키를 사용할 수 있습니다. 복제본 키를 기본 키로, 기본 키를 복제본 키로 변환할 수도 있습니다. 복제 키는 일단 생성되면 키 교체기본 리전 업데이트에 대해서만 기본 키에 의존합니다.

기본 키와 복제 키는 암호화 속성에서 다르지 않습니다. 기본 키와 해당 복제 키를 서로 바꿔서 사용할 수 있습니다. 기본 키 또는 복제본 키로 암호화된 데이터는 동일한 키 또는 관련된 기본 키 또는 복제본 키로 해독할 수 있습니다.

복제

다중 리전 기본 키를 동일한 파티션의 다른 AWS 리전에 복제할 수 있습니다. 이렇게 하면 AWS KMS는 프라이머리 키와 동일한 키 ID 및 기타 공유 속성을 사용하여 지정된 리전에 다중 리전 복제본 키를 생성합니다. 그런 다음 리전 경계를 넘어 키 자료를 안전하게 전송하고 이를 AWS KMS 내에 있는 새 복제본 키와 연결합니다.

공유 속성

공유 속성은 복제본 키와 공유되는 다중 리전 기본 키의 속성입니다. AWS KMS는 기본 키와 동일한 공유 속성 값을 가진 복제 키를 생성합니다. 그런 다음 기본 키의 공유 속성 값을 복제 키와 주기적으로 동기화합니다. 복제본 키에는 이러한 속성을 설정할 수 없습니다.

다음은 다중 리전 키의 공유 속성입니다.

또한 관련 다중 리전 키의 기본 및 복제 지정을 공유 속성으로 생각할 수 있습니다. 새 복제본 키를 생성하거나 기본 키를 업데이트할 때 AWS KMS는 모든 관련 다중 리전 키에 변경 사항을 동기화합니다. 이러한 변경이 완료되면 관련된 모든 다중 리전 키가 기본 키와 복제 키를 정확하게 나열합니다.

다중 리전 키의 다른 모든 속성은 설명, 키 정책, 권한 부여, 활성화 및 비활성화 키 상태, 별칭태그를 포함해 독립적인 속성입니다. 관련된 모든 다중 리전 키에서 이러한 속성에 대해 동일한 값을 설정할 수 있지만 독립 속성의 값을 변경하면 AWS KMS가 동기화하지 않습니다.

다중 리전 키의 공유 속성 동기화를 추적할 수 있습니다. AWS CloudTrail 로그에서 SynchronizeMultiRegionKey 이벤트를 찾습니다.