sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。AD]SAMLアサーションへのカスタム属性マッピングがサポートこんにちは、富士榮です。Assertionにカスタム属性をマッピングすることが出来るようになりました。Assertionのマッピングのワークアラウンドについて書きました。この辺りもカスタム属性マッピングで解消できるポイントの一つです。AppsとのSSO設定でのポイントhttp://idmlab.eidentity.jp/2016/02/azure-adgoogle-appssso.html早速見ていきましょう。AD上のextensionAttributeに値をセットしてあげないといけません。Connectを使って同期することにします。ADの同期ルールです。Editorを開き、以下の通りルールを作成(編集)します。Update※本番環境では既存のルールを編集するのではなく、追加ルールを新規作成することをお勧めします。こちらがオンプレADの説明属性をMetaverseのextensionAttribute1へ同期するInboundルールです。ADのextensionAttribute1へ同期するOutboundルールです。AssertionのnameIdentifierに入れたい値を設定します。Appsでやりたいので、このユーザのuserPrincipalNameとはドメイン名の異なるメールアドレスを説明属性に設定しました。ついでにmail属性をnameIdentifierへマッピングするテストもしてみたいので、メール属性に説明属性とは異なる値を入れてみます。Appsへ、かつnameIdentifierへマッピングする属性をメールと説明で変えれば別のユーザとしてログインできるようになるはずです。ちなみにこちらがuserPrincipalNameです。先のドメイン名とは異なることがわかります。ADへのログインはこの名前で行います。AD上のオブジェクトの状態は以下のようになります。Spaceで確認すると、userPrincipalName、mail、extensionAttribute1の値がそれぞれ異なっていることがわかります。Assertionに含める属性のマッピング変更を行います。Appsを例に解説をします。Onを見ると初期状態は以下のようにnameIdentifierにはuserPrincipalName属性のマッピングがされています。Appsのドメイン名が異なると動きません。いうことで、ここを先に設定したextensionAttribute1にマッピング変更を行いたいと思います。nameIdentifier属性の編集ボタンをクリックし、マッピングする属性としてextensionAttribute1を選択します。以前はここで拡張属性を設定することが出来ませんでしたが、今回のアップデートで選択できるようになりました。※尚、mail属性とのマッピングは以前から出来ていたのですが、少なくとも私の環境ではマッピング変更を行っても実際のAssertionの中身を見ても正しくマッピングがされていませんでした。今回のアップデートでこの部分も解消されていました。これで準備は完了です。Appsとは異なるユーザ名)でログインします。Apps側にSSO設定をしています。Appsへサインオンできました!ログインユーザ名を見るとオンプレADの「説明」属性に設定したユーザ名になっていることがわかります。Tracerを使って実際にどんなAssertionが発行されているのかを確認してみます。想定通り、extensionAttribute1に入れた値がNameIDにマッピングされており、Assertionに含まれていることがわかります。◆テスト3)別の属性にマッピングを変更して別ユーザとしてサインオンしてみる先ほどはextensionAttribute1に入れた値をnameIdentifierにマッピングしましたが、メール属性にも別のメールアドレスを設定してあったのを思い出してください。追加のテストとして、このメール属性をマッピングしてみます。Appsへサインオンできるはずです。ADのアプリケーションの設定で属性マッピングをmailに変更するだけです。Appsへサインオンすると想定通り、別のユーザとして扱われました。ADのSAML対応アプリ連携の可能性がぐっと広がりました。ADのドメイン名を一致させる必要があった。オンプレのアプリケーションなど、従業員番号などメールアドレス形式以外のnameIdentifier属性を要求するアプリケーションとのSSOがやりやすくなったこれまでもExtractMailPrefix()関数でuserPrincipalnameのドメイン名を除いた値を使うことはできたが、必ずしもアプリケーションが要求する値がuserPrincipalNameのローカルパートになっているとは限らず、アプリケーション側でのID変更などが必要だった。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。