SQS 큐 정책의 공개 접근

SQS 큐 접근을 필요한 주체와 메시지 작업으로 제한하세요.

설명

SQS 큐 정책에서 Principal: "*"로 메시지 작업을 허용하면 의도하지 않은 주체가 큐에 접근할 수 있습니다. 실제 접근에는 적용 가능한 조건과 명시적 거부 등도 영향을 줍니다.

잠재적 영향

허용된 작업에 따라 승인되지 않은 메시지가 전송되거나 큐의 메시지가 외부에 노출될 수 있습니다.

해결 방법

필요한 주체와 큐 ARN을 지정하고 메시지 전송·수신 권한을 각각 필요한 경우에만 부여하세요. 다른 큐 정책과 IAM 권한도 함께 확인하세요.

예시

예시는 같은 전송·수신 권한의 대상을 공개 주체에서 특정 계정으로 제한합니다. Queues 등 연결 설정은 생략했습니다. 계정 단위 허용은 그 계정 안의 권한 위임도 검토해야 합니다.

변경 전

yaml
Resources:
  SampleSQSPolicy:
    Type: AWS::SQS::QueuePolicy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - SQS:SendMessage
              - SQS:ReceiveMessage
            Effect: Allow
            Resource: arn:aws:sqs:us-east-2:444455556666:queue2
            Principal: "*"

변경 후

yaml
Resources:
  SampleSQSPolicy:
    Type: AWS::SQS::QueuePolicy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - SQS:SendMessage
              - SQS:ReceiveMessage
            Effect: Allow
            Resource: arn:aws:sqs:us-east-2:444455556666:queue2
            Principal:
              AWS:
                - "111122223333"

참조