0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QuickSightモバイルアプリからAWS SSOを使ってログインする

Last updated at Posted at 2023-09-19

はじめに

QuickSightのモバイルアプリをSP Initiatedな感じでAWS SSO(現IAM アイデンティティセンター)のアイデンティティでSSOログインする手順を記載します。

なお、公式の以下の情報をみると、いっけんQuickSightモバイルアプリからのシングルサインオンができないような印象を受けますが、実際にはできます
https://aws.amazon.com/jp/iam/identity-center/faqs/

Q: IAM アイデンティティセンターはネイティブなモバイル、デスクトップアプリケーションへのシングルサインオンをサポートしていますか?
いいえ。IAM アイデンティティセンターはウェブブラウザを通したビジネスアプリケーションへのシングルサインオンのみをサポートしています。

  • 上記の「ネイティブなモバイル」という部分が曲者です。一言でいえば「QuickSightモバイルアプリ」のSSO利用は「ネイティブなモバイル」でのSSOではないため、AWS SSOの利用が可能という解釈になります。どういうことかというと、以下の通りです。

    • まず、QuickSightの管理画面で、後述するSP InitiatedのSSOの有効化を行います。
    • するとQuickSightモバイルアプリでは、アプリ起動後のログイン処理時に(多くのスマホアプリのSSOがそうであるように)スマホのブラウザに遷移します。つまりアプリケーションから離れる(「ネイティブなモバイル」ではなくなる)ことになり、「ウェブブラウザを通した」SSOに切り替わるという処理になります。
    • つまり公式が記載していることをQuickSightモバイルアプリ視点で意訳すると、「現在の仕様ではモバイルアプリ内でSSOを完結させることはできない。ブラウザ遷移させれば可能」ということになります。
    • 英語版のFAQを見ると、より直感的に理解できます。
      • IAM Identity Center supports single sign-on to business applications through web browsers only.

  • なお、本記事は手順メモです。気が向いたらディティールを付け足して行こうと思います。

    • また、本記事は執筆時点(2023/9/19)の情報です。参考にする際は最新情報をご確認ください。

検証環境

  • QuickSightはEnterpriseEdtionを東京リージョンで利用しています。

  • QuickSightモバイルアプリ

    • スマホはGoogle Pixel系で、OSはAndroid Ver.13 で検証しています。
    • QuickSightモバイルアプリのバージョンは 2.1.22 で検証しています。
  • AWS SSO(現IAM アイデンティティセンター)

    • 本検証におけるIdPはAWS SSOです。(SP は QuickSight)
    • AWS SSOはバージニア北部にデプロイしています。

事前準備

設定

PCのブラウザ

  • QuickSightに管理者権限でログインし、管理画面を開きます。

    • image.png
  • 左メニューの「SPがSSOを開始」を選択し、以下の項目を入力した上で、「設定を保存」をクリックします。

  • 「設定を保存」後、「サービスプロバイダーがシングルサインオン(SSO)を開始しました」のステータスを「オン」に変更します。

    • ダイアログにも記載されていますが、オンに変更したあとはQuickSightモバイルアプリのログインがAWS SSOにリダイレクトされる形になります。
      • つまりこれまでモバイルで「QuickSight管理ユーザ」や「IAMユーザ」でログインしていた人は、それができなくなり(※)、 AWS SSOのユーザ(実体としてはIAM Role)のみに切り替りますので注意してください。
        • ※後述しますがモバイルアプリからのログインにこれらの影響を受けます。ブラウザでのログインへの影響は限定的です。
    • image.png
    • 以下はAWS公式資料Amazon QuickSight におけるシングルサインオンの設計と実装からの引用になりますが、3番目の「IAM Role」のみに切り替ります。
    • image.png
  • 以下のように画面右上に「SSO設定が正常に保存されました」と表示されていればOKです。

    • image.png

ログインテスト

いくつかのパターンでログインを試してみます。

スマホのQuickSightモバイルアプリからのログイン

まず、スマホのQuickSightモバイルアプリを使用して、AWS SSOでログインできるか試していきます。

SSO初回ログイン、もしくはQuickSightセッション切れからのログイン

  • スマホでQuickSightアプリを起動します。

    • image.png
  • QuickSightアカウント名を入力します。

    • image.png
  • アプリからブラウザに遷移しました。

    • 「サービスプロバイダーがシングルサインオン(SSO)を開始しました」のステータスが「オフ」の場合は、QuickSightのユーザー名の入力画面に遷移しますが、今回は「オン」となっているためAWS SSOにリダイレクトされています。
    • ユーザー名を入力します(AWS SSOのユーザ名)
      • image.png
  • パスワードを入力します(AWS SSOのパスワード)

    • image.png
  • MFAコードを入力します(AWS SSOに設定済みの場合)

    • image.png
  • AWS SSOのポータル画面に遷移しました。QuickSightアイコンを選択します。

    • [image.png
    • すでにAWSのIAMロールを使って、e-mailアドレスを指定したログインを済ませている場合は、QuickSight側にプロファイルができていますので、以下の画面のあと、QuickSightアプリに遷移できます。
    • image.png
    • 初回ログインの場合は、セルフサインアップの画面が表示されますので、e-mailアドレスを入力して該当のIAMロールでのログインをセットアップしてください。
      • image.png

AWS SSOセッション継続中のログイン

  • AWS SSOのセッションは設定によりけりですが、最大で12時間に設定できます。
    • QuickSightモバイルアプリで一度SSOセッションのログインまで実施しておけば、セッションが続くかぎりはSSOのログインをスキップできます。

    • 1. QuickSightモバイルアプリの起動

    • 2. QuickSightアカウント名を入力します。

      • image.png
    • 3. アプリからブラウザ画面に遷移します。SSOの情報入力がスキップできるので、自動でサインインが成功します。「QuickSightアプリを起動」をクリックします。

      • image.png
    • 4. QuickSightログイン画面が表示される

      • image.png

バイオメトリクス認証が設定済みの場合のログイン

  • また、QuickSightの認証としてスマホ機能のバイオメトリクス認証(指紋タッチなど)を予め設定しておくことができます。設定済みの場合、初回にQuickSightの「QuickSightアカウント名」を入力することにより、次回以降はバイオメトリクス認証で「QuickSightアカウント名」の入力や「SSOのユーザ・パスワード・MFA」をスキップすることができます。

  • 上記の条件下においては、2アクションでQuickSightログイン画面まで遷移できます。

    • 1. QuickSightモバイルアプリの起動

    • 2. バイオメトリクス認証

      • image.png
    • 3. QuickSightログイン画面が表示される

      • image.png
  • 追記(2023/9/19)

    • 上記の2ステップ認証は、SSOセッションが切れたであろう12時間後(私の設定)でも可能でしたし、スマホのOS再起動後でも可能でした。かなり長い期間継続できるようです。
    • 追記(2023/9/20)
      • スマホのセッション有効期間については、QuickSight側で設定できるようです(つまりAWS SSOのセッション時間に依存しない)。以下はデフォルト値です。
      • image.png

[おまけ] モバイルアプリからのダッシュボードの見栄え

  • あらかじめダッシュボードを作成または共有しておくことで、モバイルアプリから各データを閲覧することができます。
    • スマホなので操作性には限界がありますが、スマホでも意義のあるビジュアルを選ぶことで、それなりにキレイに表示してくれます。
    • ダッシュボード選択画面
      • image.png
    • 円グラフ
      • image.png
    • ピボットテーブル
      • image.png

PCのブラウザからのログイン

QuickSight専用ポータル(通常)

上記のようにSP InitiatedなAWS SSOログインが設定されている状態で、PCのブラウザからQuickSight専用ポータルを開くとどうなるのでしょうか?

  • ブラウザでQuickSight専用ポータルを開きます。
  • QuickSightアカウント名を入力します。
    • image.png
  • 一瞬、AWS SSOポータルにリダイレクトされます。
    • image.png
  • AWS SSOのログイン画面に遷移します。
    • image.png

上記をみるとおり、QuickSight専用ポータルはブラウザにおいても強制的にAWS SSOにリダイレクトされます。
これによりQuickSight管理ユーザでのログインの道が絶たれたようにみえますが、ブラウザの場合以下の回避方法があります。

QuickSight専用ポータル(AWS SSOバイパス)

  • QuickSight管理画面には以下のとおり、バイパス用URLが記載されています。
  • PCのブラウザから上記URLを叩いてみます。
  • QuickSightアカウント名を入力します。
    • image.png
  • QuickSightユーザ名入力画面に遷移します。QuickSight管理ユーザ名を入力します。
    • image.png
  • QuickSight管理ユーザのパスワードを入力します。
    • image.png
  • QuickSight管理ユーザでログインできました。
    • image.png

上記のとおり、バイパス用URLを使えば、QuickSight管理ユーザでもログインができます。
(とはいえ、当然AWS SSOのIAM Roleとは別ユーザ扱いではありますが)

IAMユーザによるQuickSightへのログイン

なお、IAMユーザによるQuickSightへのログインを行う場合は、従来どおり以下の流れで利用することができます。

  • ブラウザからAWSマネジメントコンソールにログイン
  • サービスとしてQuickSightを選択する

自動プロビジョニングの簡易化

おわりに

  • 本記事では「QuickSightモバイルアプリからAWS SSOを使ってログインを簡素化する」ことを目的とした書き方にしています。
    • しかしながら上記を目的とした場合、下表のとおり、SP InitiatedなSSOをQuickSightで有効化することによる、モバイルアプリにおけるデメリットが生じます。
      • 下表内「マネコン」とは「AWSマネジメントコンソール」を指します。
      • image.png
      • メリット
        • 「QuickSightモバイルアプリ」からAWS SSOのQuickSightに紐づいたIAM Roleでのログインが可能になる
      • デメリット
        • 「QuickSightモバイルアプリ」から「IAMユーザ」や「QuickSight管理ユーザ」を利用したログインが不可能になる
          • ログインの一本化という観点ではデメリットではなくメリットかもしれませんが、アプリの実装上、選択可能としてほしいです。
            • なぜなら現状では各認証タイプ間でのQuickSightリソース移植は大変ハードルが高いため、各認証タイプを併用していくことが現実的だからです。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?