この記事では、セキュリティアサーションマークアップランゲージ(SAML 2.0)によるシングルサインオンと、クロスドメインID管理システム (SCIM 2.0)によるプロビジョニングを、Udemy for Business向けに設定する手順について説明します。
Azure ADですでに、SAMLによるUdemy for Business向けシングルサインオン(SSO)を設定しており、SCIMのプロビジョニングを有効にするだけという場合は、Azure ADで既存のUdemy for Business SSOにアクセスし、以下のセクション2で解説している手順(SSOの設定後)に従ってください。
Udemy for Business SAML Metadata for Azure ADへのリンクはこちら.
ご注意:
- シングルサインオンとプロビジョニングをご利用いただけるのは、Udemy for Businessエンタープライズプランのお客様です。
- Azure ADでプロビジョニングが行われているユーザーは、Udemy for Businessの初回ログインを行うまでライセンスを必要としません。
- SCIMプロビジョニングに変更を加えた場合、Azure ADからUdemy for Businessへの同期のみ可能であり、逆はできません。
- Azure ADのSCIMで管理されているユーザーやグループにUdemy for Businessアプリから変更を加えることはできません。ユーザーおよびグループのデータに関して信頼できる唯一の情報源はSCIMです。
- 不要なユーザーがある場合や、Azure ADから除外するユーザー(例: 請負業者、派遣社員)がある場合は、これまでどおり手動でUdemy for Businessでグループを作成してください。
1. Azureでシングルサインオン(SSO)を設定する
Azureポータルにログインして、Azure Active Directoryをクリックします。
次に、エンタープライズアプリケーションをクリックします
トップバーにある+ 新しいアプリケーションをクリックします。
ギャラリー以外のアプリケーションを選択します。
新しいアプリケーションの名前を入力し、ウィンドウ末尾にある追加をクリックします。
次に、シングルサインオンのセットアップを選択します。
シングルサインオンモードで、SAMLベースのサインオンを選択します。
SAML画面に表示されている、SSOに関する4つの手順に従います。Azure ADのページ上部に詳細な設定ガイドが表示されます。詳しくはそちらでも確認できます。
手順1: 基本的なSAML構成:
- 識別子(エンティティID)フィールドに、PingConnectと入力します。
- 応答 URLフィールドに、https://sso.connect.pingidentity.com/sso/sp/ACS.saml2と入力します。
- サインオンURLフィールドに、Udemy for BusinessアカウントのURL「https://{yoursubdomain}.udemy.com」を入力します。
- {yoursubdomain}の部分を、所属する組織のUdemy for Businessのサブドメインに置き換えて入力してください。
手順2: ユーザー属性と申請:
「ユーザー識別子」フィールドにuser.mailと入力します。
Udemy for Businessは次のSAML属性(属性はすべて大/小文字の区別があります)に対応しています。
必須属性
- SCIM.email
ユーザーの、重複しないメールアドレス
任意属性
- SCIM.name.givenName
ユーザーの名 - SCIM.name.middleName
ユーザーのミドルネーム(該当する場合) - SCIM.name.familyName
ユーザーの姓 - SCIM.name.formatted
完全にフォーマットされたユーザー名 - groups
ユーザーが属するグループのリスト - externalID
顧客によって指定された、重複しないユーザーID
それぞれの属性を変更するには、対応する列をクリックします。
前述の表に記載されている属性名を入力し、対応する値を選択します。Namespaceの値を削除し(ブランクのままにし)、OKをクリックします。
SAMLアサーションにさらに属性を追加するには、属性の追加をクリックし、手順を繰り返します。
属性の追加が終了したら、保存をクリックすれば設定完了です。
手順3では、「SAML署名証明書」セクションで、アプリケーションのフェデレーションメタデータURLをコピーするか、フェデレーションメタデータXMLをクリックしてメタデータファイルをエクスポートします。
Udemy for Businessアカウントの「シングルサインオン(SSO)」タブを開きます。「設定を開始」をクリックして、IDプロバイダーを選択します。設定ページで適切なメタデータ設定方法を選択し、指示に従ってIDプロバイダーとUdemy for BusinessのSSO接続を作成します。
最後に、ここをクリックして、Udemyのサポートチームにご連絡ください。Udemyで必要なすべての設定を行います。Udemyの作業が完了したら、学習者がUdemy for Businessを利用するための設定を行ってください。。
Azure Active Directoryをクリックします。
エンタープライズアプリケーションをクリックします。
一覧から、新規作成したアプリケーションを選択します。
ユーザーとグループをクリックします。
「ユーザーの追加」>「ユーザーとグループ」の順にクリックします。
アプリケーションに追加するユーザーすべてを選択し、選択をクリックします。
以上で、Azure ADによるUdemy for Business向けのSSOの設定は終了です。
2. Azure ADでSCIMプロビジョニングを設定する
シングルサインオン(SSO)の設定が終了したら、Azure ADでUdemy for Business向けのSCIMプロビジョニングを設定します。この設定をすると、プロビジョニング、プロビジョニング解除、グループの作成、グループメンバーシップの管理、ユーザープロフィールの詳細(名前、メールアドレスなど)の変更ができます。変更はUdemy for Businessに自動的に反映されます。AzureおよびUdemy for Businessの両方でこうした作業を別々に実施する必要がなくなり、Azureからすべて同期されるようになります。
Udemy for BusinessのSCIMプロビジョニングを有効化するには、Udemy for Businessアカウントにログインして、「管理」 > 「設定」 > 「プロビジョニング(SCIM)」を開きます。
「設定を開始」をクリックしてIDプロバイダーを選択し、指示に従ってシークレットトークン(Bearerトークン)を作成し、それをAzure ADに入力します。
次に、Azure ADアカウントにアクセスし、Udemy for Business SSOアプリを開きます。以下の手順に従って設定します。詳しくは、Azure ADによるSCIMプロビジョニングについて解説しているMicrosoftの設定ガイドを参照してください。
Azureポータルのプロビジョニングタブを開きます。
(注意: 以下のスクリーンショットに表示されているudemyazureは、SCIMの設定方法を説明するために使ったテスト名です。SSOを設定する際にチームで命名したアプリを指定してください)
「プロビジョニングモード」で自動を選択します。
管理者資格情報セクションで次の操作を行います。
テナントの URL: https://yourdomain.udemy.com/scim/v2(yourdomainはお使いのUdemy for BusinessアカウントのURL)
シークレット トークン: Udemy for Businessアカウント内で生成および表示できる「Bearer」 トークンです(「管理」 > 「設定」 > 「ユーザー アクセス」の順に選択し、シークレット トークンを入手します)。
テスト接続をクリックし、正しく機能することを確認します。
任意: エラーに関するアラートをAzureから受信するには、メールアドレスを入力します。
マッピングで次の操作を行います。
ユーザーのメールアドレスがemails[type eq "work"].value にマッピングされるように、属性マッピングをオンにします。
設定で次の操作を行います。
「プロビジョニングの状態」ボタンをオンに切り替えます。
ユーザーとグループを同期する範囲を選択します。
特定の従業員や部門だけがアクセスできるようにする必要がある場合は、Udemy for Businessアプリに割り当てられているユーザーとグループに限定して同期するようにします。全従業員にアクセス権を付与する場合は、すべてのユーザーおよびグループを同期します。
Udemy for Businessのアクセス権を持つユーザーとグループをプロビジョニング対象として追加するときは、次の操作を行います。
ユーザーとグループをクリックします。
ユーザーの追加をクリックします(ユーザーとグループの両方を追加するオプションが表示されます)。
アプリケーションに追加するユーザーまたはグループすべてを選択し、選択をクリックします。
トラブルシューティング
マッピング関連:
プロビジョニング時に次のエラーが発生した場合:
{"スキーマ":["urn:ietf:params:scim:api:messages:2.0:Error"],"ステータス":400,"詳細":"{'emails': ['このフィールドは必須です。']}"}
ユーザーのマッピングを変更してください。
emails[type eq "work"].valueをuserPrincipalNameにマッピングしてください。userPrincipalNameはメールアドレスの格納場所です。
「ユーザープロファイル」を開くと、メールアドレスが格納されているフィールドを確認できます。