Amazon QuickSightで、待望のIPアドレスによるアクセス制限が出来るようになりました

2021.10.23

いわさです。

QuickSightへのアクセスをIPアドレスで制限できるようになるアップデートが来ました。

以前までは、特定条件でのみIAMポリシーでAssumeRoleを制御することで実現していました。

これまで、上記以外の多くのケースではIP制限は難しかったのではないかと思います。

今回のアップデートで、IAMユーザーもQuickSightユーザーも無関係に、シンプルにアクセス元IPアドレスで制限出来るようになりました。
私の観測範囲だと、この機能はかなり望まれていたましたが、これまでQuickSightで実現出来ていなかった機能なので、嬉しい人が多いのではないかなと思います。

設定方法

QuickSight管理画面の「セキュリティとアクセス権限」にIP制限の管理メニューが追加されています。
QuickSight管理者権限が必要です。

許可するCIDRルールを登録して、制限を有効化するだけです。
とても直感的で使いやすいですね、素晴らしいです。

なお、ルールは最大100件まで登録可能です。

注意点として、設定変更後に即時反映はされず、少しタイムラグがあります。
ドキュメントによると最長10分とのことです。

やってみた

では早速設定変更し、試してみます。

まずは、許可されているIPアドレスからアクセスしてみましょう。

通常どおりアクセスすることが出来ました。

次は、許可されていないIPアドレスからアクセスしてみましょう。

You don't have permission to view this page.
Contact your QuickSight administrator to request permission.

アクセスできませんでした。
いいですね。

なお、エラー画面のカスタマイズは現状出来ないようです。

組み込みダッシュボードも制限される

QuickSightではダッシュボードの組み込みURLを発行して外部サイトにダッシュボードを埋め込むことができます。

そのダッシュボード埋め込み機能でもIPアドレス制限は有効なのか、気になったので試してみましょう。

ちなみに組み込みダッシュボードのコマンドは少し前に変わってるので注意してください。

以下のブログは古いコマンドを使っていますが、必要なパラメータの準備や確認方法は同じなので参考になると思います。

許可されたIPアドレスでアクセスしてみます。

アクセスできますね。

では許可されていないIPアドレスでアクセスしてみます。

We can't display this page (Insufficient permissions).

拒否されました。
組み込みダッシュボードでもIPアドレス制限は有効ですね。

アクセスできなくなってしまった場合の対処法

ここまでアクセスできなることを確認することができましたが、許可されていない IP アドレスの場合は管理者もアクセスできなくなります。

もし誤って管理者の IP アドレスを許可しなかった場合 IP アドレス制限の無効化をすることができなくなり誰もQuickSightにアクセスできなくなる可能性があります

このIPアドレス制限はAWS CLIやAPIは制御の対象外なので、AWS CLIなどからIPアドレス制限の無効化操作を行ってやることで対処することが可能です。

なお最近実装されたコマンドなので、AWS CLIのアップデートが必要です。
v2.2.47以上から利用可能です。

iwasa.takahito@hoge ~ % aws quicksight update-ip-restriction --aws-account-id 123456789012 --no-enabled
{
    "Status": 200,
    "AwsAccountId": "123456789012",
    "RequestId": "a765294e-445a-49d1-9bcb-e9b7e3ad81e3"
}

無効化操作も有効化のときと同じで、即反映ではありませんでした。
おそらく最大10分かかるものと思います。

無効化されて、無事アクセス出来るようになりました。

まとめ

QuickSightでIPアドレス制限が出来ることを確認しました。

  • IPアドレスルールは100件まで登録可能
  • IAMユーザもQuickSightユーザどちらも対象
  • 反映までタイムラグがある
  • 組み込みダッシュボードも対象
  • CLIはIPアドレス制限の対象外

是非、使ってみてください。

参考