課題
AWSにアクセス制限(IP)をかけたい
AWS公式情報
実装の流れ
- IAMポリシーの作成
- IAMユーザーもしくはIAMユーザーグループにIAMポリシーをアタッチする
(IAMユーザーグループにアタッチするのが一般的)
手順1. IAMポリシーの作成
IAMポリシーを作成し、以下のjsonで記述する。
xxx, yyyy としているところを許可したいIP郡に書き換える。
[IAMコンソール] > [IAM] > [ポリシー] > [ポリシーを作成]
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"xxx.xxx.xxx.xxx/24",
"yyy.yyy.yyy.yyy"
]
},
"Bool": {"aws:ViaAWSService": "false"}
}
}
}
手順2. IAMユーザーもしくはIAMユーザーグループにIAMポリシーをアタッチする
ポリシーをアタッチする (割り当てる)
以下の手順はグループにアタッチする場合
[IAMコンソール] > [IAM] > [ユーザーグループ] > [対象のグループを選択] > [許可]のタブ > [許可を追加]
実装後
■xxx.xxx.xxx.xxx/24, yyy.yyy.yyy.yyy からアクセスした場合
ログイン可能、割り当てられたIAM権限で操作可能。
■xxx.xxx.xxx.xxx/24, yyy.yyy.yyy.yyy以外からアクセスした場合
※AWSコンソールのログインは可能。
ただ、全てのAWSサービスへのアクセスが Deny された状態で表示される。