【小ネタ】Amazon Quick SuiteのIP/VPC制限でロックアウトして誰も入れなくなってしまった時の対処法

記事タイトルとURLをコピーする

さとうです。

Amazon Quick SuiteにはIP/VPC制限でアクセス制御ができる機能があります。

docs.aws.amazon.com

この設定で間違ったIPアドレスやレンジを指定して、誰もQuick Suiteに入れなくなってしまったらどうするのか?というTipsです。

そもそもそんなことが起きるのか?

ルール削除時に発生する可能性があるようです。

ルールを追加/変更する時に以下のようにバリデーションが行われており、更新後のルールセットに操作端末の送信元IPアドレスが含まれていない場合はルールの更新を防止する機能があるので通常は起こりません。

ルール削除も同様に通常はこのようにバリデーションが機能します。

ところがルールを全件削除するケースでのみこのバリデーションを素通りしてしまい、IP/VPC制限が有効になったまま1件もルールが登録されていない状態にすることができてしまいました。

数分後、誰も入れなくなった

IP/VPC制限を無効化しようとしたものの、上部の制限を強制のラジオボタンをオフにすることを忘れてこのような状況になってしまうことは起こり得そうです。

これが意図した動作かは不明ですが、不具合の可能性があります。

対策

実はAWS CLIからは送信元IPアドレスに関係なくIP/VPC制限の設定変更が可能です。

なお、この操作はIAMポリシーに基づいて認可されるためIAMユーザがQuick Suite上の管理者であるかどうかは無関係です。Quick Suiteに登録されていないIAMユーザでも実行が可能でした。

また、CLIでは先ほどのバリデーションが一切機能しなかったので管理画面限定の機能のようです。

ルールを参照

aws quicksight describe-ip-restriction \
    --aws-account-id <アカウントID> \
    --profile <プロファイル名>

ルールを追加

aws quicksight update-ip-restriction \
    --aws-account-id <アカウントID> \
    --ip-restriction-rule-map '{"<送信元端末のCIDR>": "<説明>"}' \
    --profile <プロファイル名>

IP/VPC制限の無効化

aws quicksight update-ip-restriction \
    --aws-account-id <アカウントID> \
    --no-enabled \
    --profile <プロファイル名>

IP/VPC制限の適用範囲について

ドキュメントに記載のある通り、パブリックAPIはIAMで認可が行われIP/VPC制限の対象外となるためこの操作自体は想定された仕様となります。

Quick Suiteから見ると管理者権限を持つIAMユーザはrootのような扱いになると言えますので、IAMポリシーでMFAの強制やIPアドレス制限などのガードレールを設定するようにしましょう。

docs.aws.amazon.com

IP および VPC エンドポイントルールは、Quick Suite のウェブ、埋め込み、モバイルアクセスにのみ適用され、パブリック API へのアクセスを制限しません。ユーザーは引き続き、制限対象の IP 範囲からすべての API オペレーションを呼び出すことができます。特定の IP アドレスからパブリック API への呼び出しを制限する方法については、IAM ユーザーガイドのAWS「: ソース IP AWS に基づいて へのアクセスを拒否する」を参照してください。

まとめ

検証環境でこれをやってアクセス不能になり少し焦ったので記事にしました🥲

どなたかのお役に立てば幸いです。

佐藤 航太郎(執筆記事の一覧)

エンタープライズクラウド部 クラウドモダナイズ課
最近はデータエンジニアのようなことをしています。