QuickSightシングルサインオンのユーザープロビジョニング時にIdPの電子メールが自動同期出来るようになりました

2021.11.01

いわさです。

QuickSightでは外部IdPを使ってシングルサインオンさせる機能があります。
以下の記事ではトラストログインを使ってQuickSightへシングルサインオンさせています。

今回、シングルサインオン時にユーザーがQuickSight上でメールアドレスを入力する必要がなくなるアップデートがされました。
この機能を有効化すると、SAML属性でメールアドレスをIdPから受け渡すことで、QuickSight側のユーザープロビジョニング時に利用することが出来るようになります。

アップデート前まで

従来までは、IdPの認証画面でサインインした後、QuickSightのプロビジョニング画面へ遷移していました。

プロビジョニング画面ではメールアドレスの入力が要求されますが、IdP側で管理するメールアドレスを利用する必要もなく、どのメールアドレスを利用するかはユーザーが管理をする必要がありました。

メールアドレス入力後にダッシュボードへアクセスできるようになります。

もしIdP側でメールアドレスが決まっているのであれば、そのまま利用してくれても良いのにと、当時思っていました。

今回のアップデート後

IdPで認証を行った後は、そのままメールアドレスを使用して自動プロビジョニングされるようになりました。

IdP側からSAML属性で渡されたメールアドレスを使用することが出来ます。

必要な追加設定

従来のシングルサインオン構成に少し追加の設定が必要です。

IAMIDプロバイダーにアタッチしているIAMロールへ以下のハイライト部分を追記します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::123456789012:saml-provider/trustlogin"
      },
      "Action": "sts:AssumeRoleWithSAML",
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::123456789012:saml-provider/trustlogin"
      },
      "Action": "sts:TagSession",
      "Condition": {
        "StringLike": {
          "aws:RequestTag/Email": "*"
        }
      }
    }
  ]
}

また、IdP側でもSAML連携時にメールアドレスを属性として追加するように設定を変更する必要があります。
トラスト・ログインの場合だと、テンプレートのIAM認証では属性のカスタマイズが出来なかったので、カスタムSAML認証を作成する必要があります。

キャプチャだと入力欄が切れてしまっていますが以下を入力しています。
1つ目、2つ目の属性はシングルサインオンを構成する上でいままでも必要だった設定値で、今回メールアドレス連携で追加で必要になる属性は3つ目の情報です。

属性指定名 属性種類 属性名 属性値
https://aws.amazon.com/SAML/Attributes/RoleSessionName Basic https://aws.amazon.com/SAML/Attributes/RoleSessionName メンバー - メールアドレス
https://aws.amazon.com/SAML/Attributes/Role Basic https://aws.amazon.com/SAML/Attributes/Role 固定値 : arn:aws:iam::123456789012:role/trustlogin-reader2,arn:aws:iam::123456789012:saml-provider/trustlogin2
https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email Basic https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email メンバー - メールアドレス

最後に、QuickSightのシングルサインオン設定画面で、Email Syncing for Federated UsersをONにすれば完了です。

もちろんこの設定値をOFFにすれば、シングルサインオンを有効化した上でいままでのように任意のメールアドレスをユーザーに入力させてプロビジョニングさせることも可能です。

まとめ

前回シングルサインオンの記事を作成した際は、やはりメールアドレスを二度入力するユーザーフローに少し違和感を感じていました。
今回のアップデートで利用ユーザーのプロビジョニング時のフローが改善されるとても良いアップデートだと思いました。
地味な機能かもしれませんが、きっと要望が多かったのかもしれませんね。

従来のシングルサインオン機能に加えて追加の設定が必要なので、すでに組み込んでいて本機能を有効化したい方は、本記事で紹介のとおり QuickSight / AWS IAM / IdP とそれぞれ追加設定が必要なのでご注意ください。