sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。ADの外部コラボレーションとBYOIDこんにちは、富士榮です。ADの外部連携(B2B)の機能ですよね。B2CのSAMLサポートが正式リリースされた、という話があったので、もしやこれは繋がる???ということでやってみました。Identity)ってやつです。ADのカスタムドメインを使った外部ID連携でも良いわけですが、この辺は後で比較をしてきます。関連する記事、ドキュメント類を。B2CのSAML対応(AlexはGAって言ってますが、ドキュメント上は未だPreview)https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/connect-with-saml-service-providersとりあえず完成イメージを言葉で説明しても伝わりにくいと思うので、どういうことが出来るようになるのか?を動画にしています。ADにゲストユーザとして登録されてアプリケーションが使えるようになる、というシナリオです。IdPとして動作出来るようになります。(カスタムポリシーを使います。慣れると非常に簡単です)大きな流れは以下の通りです。B2C側の設定アサーション署名用の証明書(PFX)を作ってポリシーキーとしてアップロードするClaimsProviderとして、SAML2AssertionIssuerを作成するMetadataにIssuerUriとして設定したものがIdPのEntityIDになりますCryptographicKeysに先にアップロードした証明書コンテナを指定するとアサーション署名をしてくれます(暗号化用証明書もアップロードすれば暗号化もできます)こんな感じの設定になります。ADの直接フェデレーションの設定を行います。Metadataのダウンロードが出来るようになっていますので、保存したMetadataをアップロードして解析を行う直接フェデレーションの設定画面。こんな感じで設定します。設定としては非常にシンプルです。何点かクセがありますので、その部分を重点的に書いておきます。B2Bと直接連携するためには以下の情報を設定する必要があることがわかります。AssertionConsumerServicehttps://login.microsoftonline.com/login.srfAudience(日本語ドキュメントだと「対象ユーザー」となっていますが。B2Cのアプリケーション登録ではカスタムスキームのAudience(urn:federation:MicrosoftOnline)をマニフェスト編集をしても登録することが出来ません。AD)のMetadataを作って適当なところ(今回はbob)にアップロードし、カスタムポリシーから参照する形をとります。Metadataはこんな感じです。単純にEntityIDとエンドポイントさえ書いてあれば最低限はOKです。URLが生成されます。B2CのRelyingParty設定を行います。具体的にはOutputClaimsの設定です。B2CのSAML設定だと結構冗長な感じでAttributeStatementが書かれるので、TechnicalProfileのMetadataにSaml11AttributeEncodingInfo(Saml20~でもOK)を指定することで少しすっきりします。こんな感じのRelyingParty定義になります。</RelyingParty></TrustFrameworkPolicy>ちなみにClaimType「b2cmail」は適当に適宜した属性なので自由に定義してもらえれば良いかと思います。B2Cのドメインと同じドメイン名を持つメールアドレスが設定されていること」です。B2Cドメインを使っている場合は、fuga@hoge.b2clogin.comという値を返す必要があります。B2Cがカスタムドメインをサポートしてくれないと実利用するには辛いですね。設定はこれでおしまいです。B2Bにおける「外部ユーザの招待において独自のパスワードを払い出さずに済ませるための機能(これ重要)」なので、あらかじめユーザを招待しておく必要があります。B2Cのドメインと同じドメインのユーザを指定して招待する、というところがポイントです。(少なくともb2clogin.comを使っている限り、一般人はこのドメインでメールは届かないと思います)ただ、招待されている状態であれば招待元のアプリケーションにアクセスすれば招待の承認と同じことが起きますので、運用でカバーです。これも公式ドキュメントに記載されていますが、現状B2Bの直接フェデレーションはマルチテナントアプリケーションでのホームレルムディスカバリが使えないので、招待元ディレクトリのテナントIDやドメイン名が明示的に指定されているアプリケーションしか動きません。https://myapps.microsoft.comはダメhttps://myapps.microsoft.com/?tenantid=xxxxxxxxはOKという感じです。ここまで行けば、冒頭に動画で紹介した動きが再現できるはずです。ちなみに動画内では条件付きアクセスを使ってゲストユーザの初回ログイン時に利用規約に同意させる様にしています。ADにはカスタムドメイン単位で外部のSAML/WS-FederationのIdPと連携する機能があります。FSをオンプレにおいてOffice365とSSOをやっていた構成ですね。このケースは社内ユーザを想定した話ですが、技術的に言うとB2Bの直接フェデレーションとほぼ変わりません。細かく見るとちょっとずつ違います。非常に雑な比較ですが、こんな感じです。PCログインには使えないということで、実用的かどうかはユースケース次第というところですが、日々色々な機能が拡張されてきているな、というところです。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。