toto_1212

技術のログをツラツラ書きます。自分用ですが参考にしていただけたら嬉しいです。間違ってたらドンドン突っ込んでください。

【AWS】Management ConsoleのIP制限

IAMのグループもしくはユーザに対し、AWS Management ConsoleへのIPアドレス制限方法です。

IAMのサービスコンソールへ移動し、適応したいグループ or ユーザの「Permissions」タブにて、
「Attach User Policy」をクリックします。

Set Permissionsウインドウにて「Custom Policy」をセレクトし、任意のPolicy Nameを記載し、
Policy Documentに以下を設定します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1402314147000",
      "Effect": "Deny",
      "Action": "*",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp":["xxx.xxx.xxx.xxx/32", "xxx.xxx.xxx.xxx/32", "xxx.xxx.xxx.xxx/32"]
        }
      },
      "Resource": "*"
    },
    {
      "Sid": "Stmt140231667000",
      "Effect": "Allow",
      "Action": "*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp":["xxx.xxx.xxx.xxx/32", "xxx.xxx.xxx.xxx/32", "xxx.xxx.xxx.xxx/32"]
        }
      },
      "Resource": "*"
    }
  ]
}

※aws:SourceIpにはどちらも同じIPを指定する。
※Sidは適当に任意の値に変更して頂いて構いません。

Apply Policyをクリックして設定をします。

このポリシーを設定することで、

・指定したIP以外からのアクセスについて全てのActionを拒否する
・指定したIPからのアクセスについて全てのActionを許可する

という意味が設定されます。

参考までにIAMポリシーは以下の順序で参照されます。
1. 全ての明示的な拒否(Explicit Deny)のポリシーの中で1つでも合致すると拒否。
2. 1.に合致しない場合で、全ての許可(Allow)のポリシーの中で1つでも合致するものがあれば許可。
3. 1.もしくは2.に合致しない場合は拒否。

以下を参考にするといいと思います。

IAM ポリシーの評価論理

IAMアカウントをIPアクセス制限するときの注意点 | Developers.IO