Kinesis 암호화 설정 확인 필요

Kinesis 스트림에 저장되는 새 레코드를 KMS로 암호화하고, 키 권한과 데이터 쓰기·읽기를 검증하세요.

설명

Kinesis 서버 측 암호화는 스트림에 저장되는 레코드를 보호합니다. 암호화가 필요하면 encryption_state: enabled, encryption_type: KMS와 유효한 key_id를 명시하고 실제 스트림 상태를 확인하세요. 기존 스트림을 관리하는 작업에서 옵션을 생략한 것만으로 암호화가 꺼지는 것은 아닙니다.

암호화는 활성화한 뒤 들어오는 레코드에 적용됩니다. 이전에 암호화 없이 저장된 레코드를 소급해서 암호화하지 않으며, 스트림 접근 권한과 전송 구간 보호도 별도로 필요합니다.

잠재적 영향

  • 실제로 서버 측 암호화가 꺼져 있으면 새로 저장하는 민감한 레코드가 저장 데이터 암호화 요구 사항을 충족하지 못할 수 있습니다.
  • 사용할 키와 권한을 잘못 구성하면 데이터 쓰기나 읽기가 중단될 수 있습니다. 암호화를 켜도 과거의 비암호화 레코드는 별도 검토가 필요합니다.

해결 방법

  • 스트림의 실제 암호화 상태를 확인하고 필요한 암호화 유형·상태·키를 명시하세요.
  • 데이터를 쓰고 읽는 주체가 KMS 키를 필요한 범위에서 사용할 수 있도록 구성하고 불필요한 권한은 제한하세요.
  • 변경 완료 후 스트림 상태, 새 레코드의 암호화와 쓰기·읽기를 검증하세요. 이전 레코드의 보존 기간과 처리 방안, 스트림 접근 권한과 전송 구간 보호도 확인하세요.

예시

변경 전

yaml
- name: Encrypt Kinesis Stream test-stream
  community.aws.kinesis_stream:
    name: test-stream
    state: present
    shards: 1
    encryption_state: disabled
    encryption_type: KMS
    key_id: alias/aws/kinesis
    wait: yes
    wait_timeout: 600

encryption_state: disabled는 암호화 중지를 요청합니다. 암호화 유형과 키를 함께 지정해도 이 요청이 활성화로 바뀌지는 않습니다.

변경 후

yaml
- name: Encrypt Kinesis Stream test-stream
  community.aws.kinesis_stream:
    name: test-stream
    state: present
    shards: 1
    encryption_state: enabled
    encryption_type: KMS
    key_id: alias/aws/kinesis
    wait: yes
    wait_timeout: 600

AWS 관리형 Kinesis 키의 별칭인 alias/aws/kinesis로 암호화를 요청합니다. 필요한 권한을 확인하고 활성화 이후 새 레코드의 보호를 검증하세요. 과거 레코드까지 암호화되는 것은 아닙니다.

참조