저장 시 암호화: 아마존 키스페이스에서 작동하는 방식 - Amazon Keyspaces(Apache Cassandra용)

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

저장 시 암호화: 아마존 키스페이스에서 작동하는 방식

Amazon Keyspaces(Apache Cassandra용)유휴 시 암호화는 256비트 고급 암호화 표준 (AES-256) 을 사용하여 데이터를 암호화합니다. 이렇게 하면 기본 스토리지에 대한 무단 액세스로부터 데이터를 보호할 수 있습니다. Amazon Keyspaces 테이블의 모든 고객 데이터는 기본적으로 유휴 상태로 암호화되며 서버 측 암호화는 투명하므로 애플리케이션을 변경할 필요가 없습니다.

유휴 시 암호화는 테이블을 암호화하는 데 사용되는 암호화 키를 관리하기 위해 AWS Key Management Service(AWS KMS)와 통합됩니다. 새 테이블을 만들거나 기존 테이블을 업데이트할 때 다음 중 하나를 선택할 수 있습니다.AWS KMS키옵션:

  • AWS 소유 키— 이것은 기본 암호화 유형입니다. 키는 Amazon 키스페이스가 소유합니다 (추가 비용 없음).

  • 고객 관리형 키 - 사용자의 계정에 키가 저장되며 사용자가 생성, 소유, 관리하는 유형 고객 관리형 키를 완전하게 제어할 수 있습니다 (AWS KMS요금 적용).

AWS KMS키 (KMS 키)

저장 시 암호화는 다음을 사용하여 모든 Amazon Keyspaces 데이터를 보호합니다.AWS KMS키. 기본적으로 Amazon 키스페이스는AWS 소유 키는 Amazon KeySpaces 서비스 계정에서 생성 및 관리되는 다중 테넌트 암호화 키입니다.

그러나 다음을 사용하여 Amazon Keyspaces 테이블을 암호화할 수 있습니다.고객 관리형 키당신의AWS 계정. 키스페이스의 각 테이블에 대해 다른 KMS 키를 선택할 수 있습니다. 테이블에 대해 선택한 KMS 키는 모든 메타데이터와 복원 가능한 백업을 암호화하는 데에도 사용됩니다.

테이블을 생성 또는 업데이트할 때 테이블에 대해 KMS 키를 선택합니다. 언제든지 Amazon KeySpaces 콘솔에서 또는테이블 변경표시됩니다. KMS 키를 전환하는 프로세스는 원활하며 다운타임이나 서비스 저하를 유발하지 않습니다.

키 계층 구조

Amazon 키스페이스는 키 계층을 사용하여 데이터를 암호화합니다. 이 키 계층에서 KMS 키는 루트 키입니다. Amazon Keyspaces 테이블 암호화 키를 암호화하고 복호화하는 데 사용됩니다. 테이블 암호화 키는 읽기 및 쓰기 작업을 수행할 때 데이터를 암호화하고 해독하기 위해 Amazon Keyspaces에서 내부적으로 사용하는 암호화 키를 암호화하는 데 사용됩니다.

암호화 키 계층 구조를 사용하면 데이터를 다시 암호화하거나 애플리케이션 및 지속적인 데이터 작업에 영향을 주지 않고도 KMS 키를 변경할 수 있습니다.


            루트 키, 테이블 암호화 키 및 저장 시 암호화에 사용되는 데이터 암호화 키를 보여주는 키 계층입니다.
테이블 키

Amazon Keyspaces 테이블 키는 키 암호화 키로 사용됩니다. Amazon Keyspaces는 테이블 키를 사용하여 테이블, 로그 파일, 복원 가능한 백업에 저장된 데이터를 암호화하는 데 사용되는 내부 데이터 암호화 키를 보호합니다. Amazon Keyspaces는 테이블의 각 기본 구조에 대해 고유한 데이터 암호화 키를 생성합니다. 그러나 여러 테이블 행은 동일한 데이터 암호화 키로 보호될 수 있습니다.

KMS 키를 처음 고객 관리 키로 설정하면AWS KMS를 생성합니다.데이터 키. 이AWS KMS데이터 키는 Amazon 키스페이스의 테이블 키를 나타냅니다.

암호화된 테이블에 액세스하면 Amazon Keyspaces가AWS KMS에서는 KMS 키를 사용하여 테이블 키를 복호화합니다. 그런 다음 일반 텍스트 테이블 키를 사용하여 Amazon Keyspaces 데이터 암호화 키를 해독하고, 일반 텍스트 데이터 암호화 키를 사용하여 테이블 데이터를 해독합니다.

Amazon Keyspaces는 밖에서 테이블 키와 데이터 암호화 키를 사용하고 저장합니다.AWS KMS. 고급 암호화 표준(AES) 암호화 및 256비트 암호화 키로 모든 키를 보호합니다. 그런 다음 필요에 따라 테이블 데이터를 해독할 때 사용할 수 있도록 암호화된 데이터로 암호화된 키를 저장합니다.

테이블 키 캐싱

전화를 피하려면AWS KMS각 Amazon KeySpaces는 메모리에 있는 각 연결의 일반 텍스트 테이블 키를 캐싱합니다. 5분의 비활성 시간이 경과하여 Amazon Keyspaces가 캐싱된 테이블 키를 요청할 경우 새로운 요청을AWS KMS는 테이블 키를 복호화합니다. 이 호출은 에서 KMS 키의 액세스 정책에 적용된 모든 변경 사항을 캡처합니다.AWS KMS또는AWS Identity and Access Management마지막 테이블 키 해제 요청 이후 (IAM) 입니다.

엔빌로프 암호화

테이블에 대한 고객 관리형 키를 변경하면 Amazon Keyspaces가 새 테이블 키를 생성합니다. 그런 다음 새 테이블 키를 사용하여 데이터 암호화 키를 다시 암호화합니다. 또한 새 테이블 키를 사용하여 복원 가능한 백업을 보호하는 데 사용되는 이전 테이블 키를 암호화합니다. 이 프로세스를 봉투 암호화라고 합니다. 따라서 고객 관리 키를 교체해도 복원 가능한 백업에 액세스할 수 있습니다. 봉투 암호화에 대한 자세한 내용은 단원을 참조하십시오.봉투 암호화AWS Key Management Service개발자 안내서.

AWS소유한 키

AWS 소유 키에 저장되지 않음AWS 계정. 이들은 다음과 같은 KMS 키 컬렉션의 일부입니다.AWS여러 용도로 사용할 수 있도록 소유 및 관리AWS 계정.AWS서비스 사용 가능AWS 소유 키는 데이터를 보호합니다.

보기, 관리 또는 사용할 수 없습니다.AWS 소유 키또는 사용을 감사할 수 있습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다.

월별 요금 또는 의 사용량에 따른 요금이 부과되지 않습니다.AWS 소유 키그리고 그들은 이에 포함되지 않습니다.AWS KMS계정에 대한 할당량

고객 관리형 키

고객 관리 키는 다음과 같은 핵심 요소입니다.AWS 계정사용자가 생성, 소유 및 관리합니다. 이러한 KMS 키를 완전하게 제어할 수 있습니다.

고객 관리형 키를 사용하여 다음과 같은 기능을 얻을 수 있습니다.

고객 관리형 키요금이 부과됩니다.각 API 호출에 대해AWS KMS할당량은 이러한 KMS 키에 적용됩니다. 자세한 내용은 단원을 참조하십시오.AWS KMS리소스 또는 요청 할당량.

고객 관리형 키를 테이블의 루트 암호화 키로 지정하면 복원 가능한 백업은 백업이 생성되는 당시에 테이블에 대해 지정된 동일한 암호화 키로 암호화됩니다. 테이블의 KMS 키를 회전하면 키 엔벨로핑을 통해 최신 KMS 키가 복원 가능한 모든 백업에 액세스할 수 있습니다.

테이블 데이터에 대한 액세스 권한을 제공하려면 Amazon Keyspaces가 고객 관리 키에 액세스할 수 있어야 합니다. 암호화 키의 상태가 비활성화됨으로 설정되었거나 삭제 일정이 잡힌 경우 Amazon Keyspaces는 데이터를 암호화하거나 해독할 수 없습니다. 따라서 테이블에서 읽기 및 쓰기 작업을 수행할 수 없습니다. 서비스에서 사용자의 암호화 키가 접근 불가 상태인 것을 탐지하면 바로 Amazon Keyspaces는 사용자에게 이를 알리기 위해 이메일 공지를 보냅니다.

7일 이내에 암호화 키에 대한 액세스를 복원해야 합니다. 그렇지 않으면 Amazon Keyspaces가 테이블을 자동으로 삭제합니다. Amazon Keyspaces는 테이블을 삭제하기 전에 테이블 데이터의 복원 가능한 백업을 생성합니다. Amazon 키스페이스는 복원 가능한 백업을 35일 동안 유지합니다. 35일이 지나면 더 이상 테이블 데이터를 복원할 수 없습니다. 복원 가능한 백업에 대한 요금은 청구되지 않지만 표준 백업에 대한 요금은 청구되지 않습니다.복원 요금 적용.

이 복원 가능한 백업을 사용하여 데이터를 새 테이블에 복원할 수 있습니다. 복원을 시작하려면 테이블에 대한 최종 고객 관리형 키가 활성화되어야 하며, Amazon KeySpaces는 이에 액세스할 수 있어야 합니다.

참고

생성 프로세스가 완료되기 전에 액세스할 수 없거나 삭제하도록 예약된 고객 관리 키를 사용하여 암호화된 테이블을 만드는 경우 오류가 발생합니다. 테이블 만들기 작업이 실패하고 이메일 알림이 전송됩니다.

유휴 시 암호화 사용량 노트

Amazon 키스페이스에서 유휴 시 암호화를 사용할 때 다음을 고려하십시오.

  • 서버 측 저장 데이터 암호화는 모든 Amazon KeySpaces 테이블에서 활성화되며 비활성화할 수 없습니다. 전체 테이블이 저장 중에 암호화되므로 암호화를 위해 특정 열이나 행을 선택할 수 없습니다.

  • 기본적으로 Amazon 키스페이스는 단일 서비스 기본 키를 사용합니다 (AWS 소유 키) 를 사용하여 모든 테이블을 암호화합니다. 이 키가 없는 키는 사용자를 위해 생성됩니다. 서비스 기본 키는 비활성화할 수 없습니다.

  • 유휴 시 암호화는 영구 스토리지 미디어에서 정적 (유휴) 상태인 데이터만 암호화합니다. 전송 중인 데이터 또는 사용 중인 데이터에 대한 데이터 보안 문제가 있는 경우 추가 조치를 취해야 합니다.

    • 전송 중인 데이터: Amazon Keyspaces의 모든 데이터는 전송 중에 암호화됩니다. 기본적으로 Amazon 키스페이스와의 통신은 SSL (Secure Sockets Layer) /TLS (Transport Layer Security) 암호화를 사용하여 보호됩니다.

    • 사용 중인 데이터: Amazon Keyspaces에 보내기 전에 클라이언트 측 암호화를 사용하여 데이터를 보호합니다.

    • 고객 관리형 키: 테이블에 저장된 데이터는 항상 고객 관리형 키를 사용하여 암호화됩니다. 그러나 여러 행의 원자 업데이트를 수행하는 작업은 다음을 사용하여 데이터를 일시적으로 암호화합니다.AWS 소유 키처리 중. 여기에는 범위 삭제 작업과 정적 데이터와 비정적 데이터에 동시에 액세스하는 작업이 포함됩니다.

  • 단일 고객 관리형 키는 최대 50,000개의 키를 보유할 수 있습니다.보조금. 고객 관리 키와 연결된 모든 Amazon Keyspaces 테이블에는 2개의 부여가 사용됩니다. 테이블이 삭제되면 하나의 부여가 해제됩니다. 두 번째 부여는 Amazon Keyspaces가 실수로 고객 관리 키에 액세스할 수 없는 경우 데이터 손실을 방지하기 위해 테이블의 자동 스냅샷을 생성하는 데 사용됩니다. 이 부여는 테이블 삭제 후 42일 후에 릴리스됩니다.