🔑

IAMにIP制限を設定する

2022/10/10に公開

IaCで利用したり作業効率向上のためにやむを得ず強い権限のついたIAMユーザーのアクセスキーを発行することがあります。
そんなときにもなるべくIP制限をかけて、万が一アクセスキーが流出したときに不正利用をされないようにしましょう。なお、IP制限をかけていてもアクセスキーが流出した場合は速やかにアクセスキーを無効化してください。

以下の様にIAMポリシーを設定します(IPアドレスは自分のアドレスに変更してください)。
複数ある場合は","で複数のIPアドレスを並記できます。

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Effect": "Deny",
           "Action": "*",
           "Condition": {
               "NotIpAddress": {
                   "aws:SourceIp": [
                       "x.x.x.x/32"
                   ]
               }
           },
           "Resource": "*"
       }
   ]
}

なお、以下のようにも書けますが、明示的拒否が含まれないため別のポリシーなどで別のIPアドレスからの許可があると不正利用されてしまいます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "x.x.x.x/32"
                    ]
                }
            }
        }
    ]
}

アクセスキーは便利ですが流出は事故のもとなので、しっかり保護しましょう。

Discussion