orenoblog

エンジニアになりたいExcel方眼紙erの物語

SQSのアクセス制限がうまくいかない

※FAQにAWSアカウントはOKって書いてあった。 匿名の場合はIP見たりするってことのような感じがする。

http://aws.amazon.com/jp/sqs/faqs/

前回作成したメッセージキューのアクセス制限をかけてみたいと思いました。 参考はドキュメント

  • SQS Policy
{
  "Version": "2012-10-17",
  "Id": "cd3ad3d9-2776-4ef1-a904-4c229d1642ee",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Deny",
      "Action": [
        "sqs:SendMessage",
        "sqs:ReceiveMessage"
      ],
      "Resource": "arn:aws:sqs:ap-northeast-1:075069182505:myque",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "54.199.136.217/32"
        }
      }
    }
  ]
}
  • テスト

send/receiveをDenyしたIPアドレスを割り当ててるEC2からリクエストを投げてみます

[root@ip-10-0-0-98 ~]# curl ifconfig.me
54.199.136.217
[root@ip-10-0-0-98 ~]# aws sqs send-message --queue-url https://ap-northeast-1.queue.amazonaws.com/075069182505/myque --message-body hello
{
    "MD5OfMessageBody": "5d41402abc4b2a76b9719d911017c592",
    "MessageId": "9cfd6d60-3203-4c85-8675-3912cd688541"
}
[root@ip-10-0-0-98 ~]# aws sqs receive-message --queue-url https://ap-northeast-1.queue.amazonaws.com/075069182505/myque
{
    "Messages": [
        {
            "Body": "hello",
            "ReceiptHandle": "cOJv9qrD9XLVlpsfwYn3xZcjweCMUMv59bttg4XRtlKxIbNwhsQk/4OcfC58iNk2hEQoEbtZXrcmrLllzyQfgrdwb2Qq95IAU0rni/x/6spEg+SgsYeQXRbbyVTo/Q1jvZiEthtihOcf78S+i5Ww1oMRYu3qSynS0lgTUvqGM+apOBrYWftrdOxOc09XT96JvcGh6jTO1OwywUprvYpLR8bBXGxXvBdx0i03TskBNoa6XEe4XPPql8iwCgyi4udrjtjvY9pWnYiR3HSc4MtBJp6tEwVjc/BcakZ3hD0rlp1QPNvnyKIM4w==",
            "MD5OfBody": "5d41402abc4b2a76b9719d911017c592",
            "MessageId": "9b75a443-9634-44b3-b256-61fecd9b5b95"
        }
    ]
}

通った......('A`) ( ‘д‘⊂彡☆))Д´) パーン

今日の収穫

  • IP制限かけるやりかたは他にありそう
  • 制限かけててもコマンド実行するとのAccess_key所有者がSQSのPrincipal(AWS Account Number)と同一だったら通すってこと?
  • IAM覚えたら天下取れる気がした。というぐらい難しい気がした。
  • ゆとりの走りの世代だから諦めてもいいよねって言いたいおっさんです( ‘д‘⊂彡☆))Д´) パーン
  • ifconfig.me知らなかったので教えていただいた先輩Y氏に感謝。三木道三スーパーベスト

色々修行不足。