セキュリティは常に重要であり、クラウドで何かを行う前の第一のことだ。私は5年以上IP制限ポリシーを使用しており、このトリックを共有したい。2つの異なる方法がある。

ISPから静的IPを取得するか、VPNのIPアドレスも使用できる。

IPポリシーの利点は?

答えはシンプルだ。指定されたIPを使用していなければ、誰もクラウド内のリソースにアクセスできない。

IAMポリシーに特定のIPアドレスがない状態でログインした場合の例を以下に示す。ユーザーはログインできるが、リソースや情報については何も見ることができない。

特定のIPアドレスでログインした場合の例。すべて正常に見え、ユーザーはリソースやその他の情報を確認できる。

IPが一致した場合にアクセスを許可する

リソースへのアクセス権限を付与したい場合のIAM IPポリシーは以下の通り:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAccessIfIPsMatch",
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:IpAddress": {
                    "aws:SourceIp": [
                        "1.2.3.4/32",
                        "5.6.7.8/32"
                    ]
                }
            }
        }
    ]
}

IPが一致しない場合にアクセスを拒否する

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

このIAMポリシーはaws-cliリクエストやすべてのAWS APIコールにも影響する。AllowまたはDenyポリシーは同じ(逆もまた然り!)で、両方を同時に使用する必要はない。AWSアカウントを保護する方法が複数あることを知らせたかっただけだ。

注意: このIAMポリシーはIP制限のロジックについて伝えているに過ぎない。本番環境のアカウントでこのIAMポリシーを使用する前によく考えてほしい。すべてのAWSリソースへのAdministratorAccessを許可するものだからだ!

IAM IPポリシーを適用する前に、Amazon Web Servicesアカウントをセキュアにする方法についての以前のブログ記事をチェックするといいかもしれない。

読んでくれてありがとう!