説明
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"