SQS KMS 암호화 설정 점검

SQS의 실제 서버 측 암호화 방식과 키 관리 요구 사항을 확인하고, 필요한 경우 KMS 키와 사용 권한을 구성하세요.

설명

SQS 서버 측 암호화는 저장된 메시지 본문을 보호합니다. SQS 관리 키를 사용하는 SSE-SQS와 AWS KMS를 사용하는 SSE-KMS가 있으므로, kmsMasterKeyId가 없다는 사실만으로 메시지가 평문으로 저장된다고 단정할 수 없습니다. 신규 큐에는 서버 측 암호화가 기본 제공되지만 실제 큐의 설정을 확인해야 합니다.

조직에서 고객 관리 키의 정책과 사용 감사가 필요한 경우에는 적절한 KMS 키를 지정하세요. 저장 구간 암호화는 큐 접근 권한이나 전송 구간의 TLS를 대신하지 않습니다.

잠재적 영향

  • 실제로 암호화가 꺼져 있으면 새 메시지 본문에 저장 구간 암호화 보호가 적용되지 않습니다.
  • 필요한 키 관리 통제가 없으면 조직의 데이터 보호 요구 사항을 충족하지 못할 수 있습니다.

해결 방법

  • 큐의 실제 암호화 방식을 확인하고 요구 사항에 맞는 SSE-SQS 또는 SSE-KMS를 선택하세요. SSE-KMS를 사용할 때는 같은 리전의 사용 가능한 KMS 키를 kmsMasterKeyId로 지정하세요.
  • 생산자, 소비자와 연동 서비스에 필요한 키 사용 권한을 구성하고 메시지 전송·수신을 시험하세요.
  • 기존 메시지와 DLQ도 검토하세요. 암호화를 활성화해도 이미 대기 중인 미암호화 메시지는 자동으로 암호화되지 않습니다.

예시

암호화 설정을 비교하는 부분 예시입니다. 예시 KMS ARN은 큐와 같은 리전의 실제 키 ARN으로 바꾸고 필요한 키 정책을 별도로 구성하세요.

변경 전

yaml
apiVersion: sqs.aws.crossplane.io/v1beta1
kind: Queue
spec:
  forProvider:
    region: us-east-1
    delaySeconds: 4

KMS 키를 지정하지 않습니다. SSE-SQS 등 실제 적용된 암호화 설정을 확인해야 하며, 이 정의만으로 평문 저장을 뜻하지는 않습니다.

변경 후

yaml
apiVersion: sqs.aws.crossplane.io/v1beta1
kind: Queue
spec:
  forProvider:
    region: us-east-1
    kmsMasterKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    delaySeconds: 4

KMS 키를 명시해 SSE-KMS를 구성합니다. 키에 대한 권한과 실제 메시지 전송·수신까지 확인하세요.

참조