送受信できるサービスへのアクセスを制限したい SQS があります。
読んで試してみたところ、SQS でアクセス ポリシーを使用することでこれを実行できることがわかりました。
私が書いたポリシー:
"Version": "2012-10-17",
"Id": "arn:aws:sqs:eu-west-1:123456789:HACKsqs03/SQSDefaultPolicy",
"Statement": [
{
"Sid": "Sid456789",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789:role/HACKiam01"
},
"Action": "SQS:ReceiveMessage",
"Resource": "arn:aws:sqs:eu-west-1:123456789HACKsqs03"
},
{
"Sid": "Sid123456",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789:role/HACKiam02"
},
"Action": "SQS:SendMessage",
"Resource": "arn:aws:sqs:eu-west-1:123456789:HACKsqs03"
}
]
このポリシーは SQS に添付されています。
テストに使用した 2 つの異なる EC2 インスタンスに追加された 2 つのロール。今でもメッセージを送受信できる場所の両方。理由がわからない?
私のポリシーは間違っていますか?または、ドキュメントを誤解していますか?
明確化: 1 つの instance/securitygroup/iam-role がメッセージを送信し、1 つの instance/sg/iam-role が受信できるようにするポリシーが必要です。