こんにちはこんばんは、ディレクトリ統合をこよなく愛するネクストモードのおはらふです
今回は、みんなが大好きなAzure ADをIdPとしてOktaと連携する手順をご紹介いたします
前回のブログにて、この構成を組む背景やメリット等を紹介しましたので、合わせて見ていただけると嬉しいです
Azure ADをIdP(メインとなるID管理基盤)とし、SSOするひとつのアプリとしてOktaと連携するイメージです
もちろんOktaからいつも通り接続先SaaSにログインできます
今回実装する下図の構成では、Azure ADのユーザーをOktaのアプリと連携することでOktaにユーザーが自動作成され、その情報がSaaS側にも連携されます
Okta公式ドキュメントに手順がありますので、この手順を参考に実装してきます
一部補足があった方が分かりやすい部分もありましたので、その点を中心にご紹介します
https://help.okta.com/oie/ja-jp/Content/Topics/Provisioning/azure/azure-integrate-main.htm
Microsoft Azureにログインし、Azure ADにエンタープライズアプリを作りましょう
[エンタープライズアプリケーション] → [新しいアプリケーション] → [独自アプリケーションの作成]から作成できます
残念ながらOktaと検索してもお目当てのものは出てこないので、独自アプリケーションで任意の名前のアプリを作成します
作成後のシングルサインオンの項目から、作業の開始をクリックし画面へ遷移させます
[シングル サインオン方式の選択] では [SAML] を選択しましょう
一旦Oktaで使う証明書のダウンロードのために、シングルサインオンの項目で必須となっている [識別子] と [応答URL] に適当な値をぶっ込みます
Oktaにて証明書をインポートすると正しい値が出力されますので、この手順では適当な値入れましょう!
[証明書(Base64)] のダウンロードと、 [ログインURL] 、 [Azure AD識別子] のコピーをしておきます
Oktaの管理者コンソールから [Security] → [identity Providers] → [Add identity provider] へ進み、[SAML 2.0 IdP] を追加します
設定する値についてはこちらを参考に、同期したい情報等を環境に合わせて設定してください
!!注意事項!!
今回はOkta公式ドキュメントととは違い、Azure ADの [UPN] をOktaの [ユーザー名] にマッピングするやり方で進めていきます
この段階ではUPNのマッピング情報がないため、[IdP username] に [idpuser.email] と一時的に入力しますが、後ほど変更しますので、作業を忘れないように覚えておきます
先ほどダウンロードした証明書(Base64)と、コピーしたログインURL、Azure AD識別子をそれぞれ設定します
下部の[Finish]を押すとサマリー画面が出てきます 以下それぞれの値を、適当な値をぶっ込んでおいたAzure ADの [基本的なSAML構成] に設定反映させます
プロビジョニングへ向け、もうちょっと手順が必要なのでやっていきます
上記で作成したIdPの [Actions] から [Edit Profile and Mappings] をクリックし、[Attributes] → [Mappings] の画面へ進みます
一番上のログイン以外の全てを [Do not map] にします
続いて、[Filters] の項目にある [Custom] から全ての項目を消し去ります
綺麗になったら [Add Attribute] を押します
この画面にて、Azure ADからOktaへマッピングさせたい属性を設定していきます
本構成では [UPN] と [lastName] 、[firstName] の属性をマッピングさせてみましょう
Azure ADに作成したアプリケーション内にある [属性とクレーム] から設定値をコピーできます
氏名の表記の仕方が違ったりExternal name(クレーム名)がURLなのが不思議な感じですが、そういうもんだと思ってみましょう
例:UPNの場合
属性のCustomが完了したら、先ほど消したマッピング作業をやり直します
[Attributes] → [Mappings] の画面へ進み、先ほど作ったカスタム属性を入力していきます
最後に、仮で入れておいたIdPからログインする際のマッピングを、[メールアドレス] から [UPN] に変更します
[Identity Providers] → [Actions] → [configure Identity Provider]の画面へ進み、[IdP username] の設定値を [idpuser.upn] へ変更します
以上で設定終了です!
早速テストをしてみましょう
前の手順で作ったAzure ADのOktaアプリにテストしたいユーザーを追加します
追加したらその下のシングル サインオンタブにてテストを行います
テストユーザーによってはプラグイン等必要な場合がありますので、Azure ADさんの指示に従ってください
無事にログインできたらテスト完了です!
ログイン時にJITで新規ユーザーがOktaに作られる動作となります
テストが終わったら、任意のユーザーなりグループなりを割り当てておきましょう!
実際のお客様環境でもAzure ADとOktaを連携する機会は意外と多く、うまく連携することで既存のID管理の業務フローを変えずにOktaを利用することが可能です
もう少し補足で設定すると便利な項目もあるのですが、またの機会にご紹介したいと思います
それではよきOktaライフを!