• Azure Active Directory(AD)でSCIMプロビジョニングを設定する

    シングルサインオン(SSO)の設定が終了したら、Azure Active Directory(AD)で Udemy Business向けのクロスドメインID管理システム( SCIM 2.0) のプロビジョニングを設定します。この設定により、プロビジョニング、プロビジョニング解除、グループの作成、グループメンバーシップの管理、ユーザープロフィールの詳細の変更(名前、メールアドレスなど)をAzure ADで行えます。変更の結果は、Udemy Businessに自動で反映されます。Azure ADおよびUdemy Businessの両方でこうした作業を別々に実施する必要がなくなり、Azure ADからすべて同期されるようになります。

    Udemy BusinessアカウントでSCIMプロビジョニングを有効化するには、Udemy Businessアカウントにログインし、管理 > 設定 > プロビジョニング(SCIM)に進みます。

    設定を開始をクリックし、指示に従ってSCIMを有効化します。シークレットトークン(Bearerトークン)を作成し、それをAzure ADに入力します。

    メモ:

    • シングルサインオンとプロビジョニングをご利用いただけるのは、Udemy Businessエンタープライズプランのお客様です。
    • Azure ADでプロビジョニングが行われているユーザーは、Udemy Businessの初回ログインを行うまでライセンスを必要としません。 
    • SCIMプロビジョニングに変更を加えた場合、Azure ADからUdemy Businessへの同期のみ可能であり、逆はできません。 
    • Azure ADのSCIMで管理されているユーザーやグループにUdemy Businessアプリから変更を加えることはできません。ユーザーおよびグループのデータに関して信頼できる唯一の情報源はSCIMです。
    • Azure ADに、Udemy Businessを利用しないユーザーや、除外すべきユーザー(請負業者、派遣社員)が含まれている場合は、これまでどおり手動でUdemy Businessでグループを作成してください。

    Azure ADでSCIMプロビジョニングを設定する

    1. Udemy BusinessのSCIMプロビジョニングを有効化するには、Udemy Businessアカウントにログインして、「管理」 > 「設定」 > 「プロビジョニング(SCIM)」を開きます。
    2. 設定を開始をクリックして、IDプロバイダーを選択し、指示に従ってシークレットトークン(Bearer token)を作成し、それをAzure ADに入力します。  1a.png
    3. 次に、Azure ADアカウントにアクセスし、Udemy Business SSOアプリを開きます。以下の手順に従って設定します。詳しくは、Azure ADによるSCIMプロビジョニングについて解説しているMicrosoftの設定ガイドを参照してください。 

      Azureポータルのプロビジョニングタブを開きます。 

      (メモ: 以下のスクリーンショットに表示されているudemyazureは、SCIMの設定方法を説明するためのテスト名です。インスタンスを設定する際にチームで命名したアプリを指定してください)  1b.png

    4. 「プロビジョニングモード」で自動を選択します。  1c.png
    5. 管理者資格情報セクションで次の操作を行います。 

      テナントの URL: https://yourdomain.udemy.com/scim/v2(yourdomainはお使いのUdemy BusinessアカウントのURL)

      シークレット トークン: Udemy Businessアカウント内で生成および表示できる「Bearer」 トークンです(「管理」 > 「設定」 > 「ユーザー アクセス」の順に選択し、シークレット トークンを入手します)。
      1. テスト接続をクリックし、正しく機能することを確認します。 

      任意: エラーに関するアラートをAzureから受信するには、メールアドレスを入力します。  1d.png

    6. マッピングで次の操作を行います。  ユーザーのメールアドレスがemails[type eq "work"].value にマッピングされるように、属性マッピングをオンにします。 1e.png1f.png
    7. 設定で次の操作を行います。  「プロビジョニングの状態」ボタンをオンに切り替えます。 1h.png
    8. ユーザーとグループを同期する範囲を選択します。1i.png 特定の従業員や部門だけがアクセスできるようにする必要がある場合は、Udemy Businessアプリに割り当てられているユーザーとグループに限定して同期するようにします。全従業員にアクセス権を付与する場合は、すべてのユーザーおよびグループを同期します。1j.png  Udemy Businessのアクセス権を持つユーザーとグループをプロビジョニング対象として追加するときは、次の操作を行います。
    9. ユーザーとグループをクリックします。 1k.png
    10. ユーザーの追加をクリックします(ユーザーとグループの両方を追加するオプションが表示されます)。  アプリケーションに追加するユーザーまたはグループすべてを選択し、選択をクリックします。 1l.png

    トラブルシューティング

    マッピング関連:

    1m.png

    プロビジョニング時に次のエラーが発生した場合:

    {"スキーマ":["urn:ietf:params:scim:api:messages:2.0:Error"],"ステータス":400,"詳細":"{'emails': ['このフィールドは必須です。']}"}

    ユーザーのマッピングを変更してください。

    1n-1.png

    emails[type eq "work"].valueuserPrincipalNameにマッピングしてください。userPrincipalNameはメールアドレスの格納場所です。

    「ユーザープロファイル」を開くと、メールアドレスが格納されているフィールドを確認できます。

    1o.png

    記事を読む
  • OneLoginでSCIMプロビジョニングを設定する

    シングルサインオン(SSO)の設定が終了したら、OneLoginで Udemy Business向けのクロスドメインID管理システム(SCIM) のプロビジョニングを設定します。この設定により、プロビジョニング、プロビジョニング解除、グループの作成、グループメンバーシップの管理、ユーザープロフィールの詳細の変更(名前、メールアドレスなど)をOneLoginで行えます。変更の結果はUdemy Businessに自動的に反映されます。OneLoginとUdemy Businessでこうした作業を別々に行う必要がなくなり、OneLoginからすべて同期されるようになります。

    この記事では、OneLoginでSCIMプロビジョニングを設定する方法について説明します。 

    SCIMプロビジョニングを有効にするには

    Udemy BusinessアカウントでSCIMプロビジョニングを有効化するには、Udemy Businessアカウントにログインし、管理 > 設定 > プロビジョニング(SCIM)に進みます。

    設定を開始をクリックします。指示に従ってSCIMを有効化し、シークレットトークン(Bearerトークン)を作成し、それをOneLoginに保存します。

    1_21.png

    次にOneLoginアカウントにアクセスしてUdemy Business SSOアプリを開き、 以下の手順に従って設定します。 

    ユーザーをプロビジョニングする方法の詳細は、OneLoginのサポートセンターでもご確認いただけます。

    1. 管理者パネルで「Applications」タブをクリックします。
      2_21.png
    2. 「Configuration」タブに移動します。「Configuration」タブ内で、Udemy Businessアカウントから上記で生成したSCIM Bearerトークンを入力して、「Enabled」に設定します。
      3_21.png
    3. 次に「Provisioning」タブに移動して、「Enable provisioning」ボックスをオンにします。

    workflow_enable_provisioning.png

    ユーザーグループをUdemy Businessと同期するためのルールの作成

    OneLoginでは、Udemy Businessアカウント内の特定のグループのユーザーと同期するための「ルール」という概念を使用します。グループを同期するために異なる要件に基づいてルールを作成するための多くの方法があります。次に、「Engineers」と呼ばれるグループのユーザーを同期するためのルールを作成する方法の具体例を挙げます。

    1. 「Rules」タブに移動して、「Add Rule」を選択します。
      rules_.png
    2. 前提条件:次の手順に進む前に、サポートチームに連絡して、Udemy BusinessからSCIMグループをプルできるように、機能フラグを有効にするよう依頼してください。この機能を有効にすると、Udemy Businessから既存グループをプルして、OneLoginでアクセスできるようになります。
    3. 「Edit Mapping」画面内で、ルールのロジックを設定できます。この例では、「ユーザーのグループがエンジニアグループである場合、アクションがUdemy Businessでユーザーのグループを「Engineers」に設定する」というロジックを作成します。
      Udemy Businessで「From Existing」のグループをプルするには、権利を更新する必要があります。
      actions.png
    4. 「Parameters」タブに移動します。
      parameters.png
    5. 「Groups」フィールドをクリックします。
      groups_field.png
    6. 「Include in User Provisioning」ボックスをオンにして、保存します。
      9_21.png
    7. OneLoginでユーザーを追加して、ユーザーのグループを「Engineering Group」に設定したら、以下を実行します。
      10_21.png
    8. ユーザーがUdemy Businessアプリケーションに追加され、ルールに従って同期されると、このユーザーがUdemy Businessアカウントの「Engineers」グループに追加されます。

    11_21.png

     

    記事を読む
  • SCIMでユーザーとグループの管理を自動化する方法

    Udemy Businessは、クロスドメインID管理システム(SCIM)規格によるユーザーとグループのアクセス権限とID管理の自動化に対応しています。SCIMは、シングルサインオン(SSO)サービスおよびIDプロバイダーによって、Udemy Businessなど、各種アプリやツールの違いを超えてユーザーを管理するために使用されます。

    Udemy Businessの規模とセキュリティを最大限にし、ユーザー管理の手間を最小限にしたいと考えている組織にとって、SCIMは理想的なオプションです。

    SCIMを使ってできること:

    • ライセンスの自動付与と、IDプロバイダーによるユーザーとグループへのアクセス(プロビジョニング)
    • IDプロバイダーによるユーザーとグループの自動非アクティブ化(プロビジョニング解除)
    • 以前プロビジョニング解除されたユーザーを再アクティブ化する(ユーザーの個人を特定可能な情報が匿名化されていない場合
    • ユーザーの詳細情報の変更: 名前、メールアドレス 
    • グループの作成、削除、編集
    • グループメンバーシップ(グループを変更するユーザー)の管理

    SCIMを使ってできないこと:

    • 任意のIDプロバイダー上のSCIM経由でユーザーの個人を特定可能な情報(PIIを削除する
    • Udemy BusinessのデータをIDプロバイダーに反映する 
    • ロールの管理(管理者、グループ管理者、ユーザー)
    • Udemy Business Proライセンスの割り当て

    Udemy Businessが対応している 上記のいずれかの操作を行うと、入力されたデータや変更箇所はUdemy Businessに自動的に反映されます。

    Udemy BusinessアカウントへのSCIM統合のキーポイント

    • SCIM統合の設定方法は、IDプロバイダーによって異なります。 
    • Udemy Businessは、アクセスおよびID管理を提供する主要なIDプロバイダーやSSOサービス向けのSCIMプロビジョニングをサポートします。
    • SCIMプロビジョニングをご利用いただけるのは、シングルサインオン(SSO)を使用するエンタープライズプランのお客様に限られます。
    • SSOサービスへのプロビジョニングをSCIMで行ったユーザーは、Udemy Businessで初回のサインインを行うまでライセンスを使用しません。SCIMでプロビジョニングを行い、初回のサインインを行っていない場合は、ライセンスなしで閲覧できる全ユーザー向けページが表示されます。

    users_with_no_license.png

    SCIMプロビジョニングを有効にするには

    Udemy Businessは、アクセスおよびID管理を提供する主要なIDプロバイダーやSSOサービス向けのSCIMプロビジョニングをサポートします。 

    SCIMプロビジョニングをご利用いただけるのは、シングルサインオン(SSO)を使用するエンタープライズプランのお客様に限られます。 

    ご注意: SSOサービスのSCIMでプロビジョニングされたユーザーは、Udemy Businessで初回のサインインを行うまでライセンスを必要としません。 

    Udemy BusinessアカウントのSCIMプロビジョニングを有効にするには、最初にUdemy Businessアカウントでログインし、管理 > 設定 > プロビジョニング(SCIM)の順に移動します。

    「SCIMインテグレーション」セクションまでスクロールします。次に、指示に従ってSCIMを有効化し、ドロップダウンリストからIDプロバイダーを選択し、信用情報(ユーザー名とパスワードまたはSecret/Bearerトークン)を生成します。その後、構成の一部として、この情報をIDプロバイダーに入力する必要があります。

    provisioning_scim_start_setup.png

    使用するIDプロバイダーによっては、以下の適切なガイドの指示に従って、SCIM設定を完了します。

    Okta設定ガイド 

    Azure ADコンフィグレーションガイド

    OneLogin設定ガイド

    その他のIdP、もしくはご自身のツールを利用する場合は、 UdemyのSCIM API設定ガイドを参照してください。

    SCIMプロビジョニングを無効にするには

    (プロバイダーを変更する場合や、今後SCIMを使用しない場合に)Udemy BusinessアカウントのSCIMプロビジョニングを無効にするには、管理 > 設定 > プロビジョニング(SCIM)の順に移動します。

    「SCIMインテグレーション」セクションまでスクロールし、「インテグレーションを無効化」リンクをクリックして、表示される案内に従ってSCIMを無効化します。これにより、Udemy Business側でこのインテグレーションが無効化されますが、あなたのITチームでIDプロバイダー側のインテグレーションも無効化する必要があります。 

    provisioning_scim_disable_integration.png

    引き続きUdemy Businessを使い続けることはできますが、これ以降は、プラットフォーム内でユーザーおよびグループ情報を手動で更新する必要があります。

    SCIMでユーザーをプロビジョニング解除する

    IDプロバイダーによりプロビジョニング解除されたUdemy Businessユーザーは、Udemy Business内で非アクティブ化されます。後日ユーザーを再アクティブ化する場合や、ユーザーのデータを誤って匿名化してしまい、元に戻せない場合に備えて学習者の履歴を保存するため、最初に「論理削除(ソフトデリート)」を行います。ユーザーとそのデータを完全に削除したい場合は、以下の手順に従ってください。

    SCIM管理された学習者のPIIを削除する

    SCIMを使ったIDプロバイダーによる管理対象から学習者を外したい場合は、まずSSOのActive Directoryでその学習者のデプロビジョニングを行います。その結果、Udemy Businessアカウントから学習者のPIIを削除できるようになります。学習者の匿名化の方法については、こちらをクリックしてください。

    SSO IDプロバイダーを通じてではなく、Udemy Businessアカウント内で学習者を管理する必要があり、さらにその学習者のPIIを削除したくない場合は、Udemyのサポートチームに連絡してください。

     

    記事を読む
  • OktaでSCIMプロビジョニングを設定する

    このガイドでは、すでにOktaとUdemy Businessをご使用中のお客様に対してクロスドメインID管理(SCIM 2.0)を使ってUdemy Businessの自動プロビジョニング、デプロビジョニング、プロファイル更新、グループ管理の設定を行う方法について説明します。

    ご注意:

    • 既存のUdemy BusinessアプリですでにSSOサインオンを有効化している場合は、SSOを再設定する必要はありません。OktaのApplications(アプリケーション)でProvisioning(プロビジョニング)タブを開いてSCIMを開いてください。 
    • UdemyサポートチームがSSOを手動で設定している場合は、Oktaアカウントに新しいUdemy Businessアプリを追加してください。この機能は、Applications(アプリケーション)のUdemy Businessにあります。Oktaにおいてこのアプリは新バージョンとなりますので、既存のお客様はSCIMプロビジョニングを有効化する前にシングルサインオン(SSO)の再設定が必要な場合があります(詳しい手順は以下を参照してください)。
    • Oktaでプロビジョニングされたユーザーは、Udemy Businessの初回ログインを行うまでライセンスを必要としません。 
    • SCIMプロビジョニングに変更を加えた場合、OktaからUdemy Businessへの同期のみ可能であり、逆はできません。 
    • OktaのSCIMで管理されているユーザーやグループにUdemy Businessアプリから変更を加えることはできません。ユーザーおよびグループデータに関して信頼できる唯一の情報源はSCIMです。

    コンテンツ

    • 特徴
    • 要件
    • 設定手順
    • スキーマの発見
    • トラブルシューティングのヒント

    特徴

    対応しているプロビジョニング機能は以下の通りです:

    • Identity Provider(IdP)Initiated SSO
      • ユーザーはOktaダッシュボードでログイン手続きを行えます。
    • Service Provider(SP)Initiated SSO
      • ユーザーは[貴社のサブドメイン.udemy.com]を開いてUdemy Businessのログインページでログイン手続きを行えます。
    • ジャストインタイム(JIT)プロビジョニング
      • SSOで認証されたユーザーは、初回ログイン時にUdemy Business向けにプロビジョニングされます。
      • 送信用に設定されているすべてのユーザー属性は、ユーザーのログイン時に更新されます。以上はSCIMユーザーには当てはまりません。SCIMユーザーを管理するのはSCIMのみです。
    • 事前プロビジョニングによるユーザーのプッシュ(SCIM)
      • OktaでUdemy Businessアプリに登録することで、Udemy Businessに新規ユーザーを作成します。
    • プロファイル更新のプッシュ(SCIM)
      • OktaでUdemy Businessに登録しているユーザーのプロファイルを更新すると、Udemy Businessにプッシュされます。
    • ユーザーの非アクティブ化のプッシュ(SCIM)
      • Oktaでユーザーを非アクティブ化ずるか、アプリケーションへのアクセスを無効化すると、Udemy Businessのユーザーも非アクティブ化され、すべてのグループから削除されます。
      • ご注意: 非アクティブ化されたユーザーはUdemy Businessにログインできなくなりますが、Udemy Businessには非アクティブ化されたユーザーの情報が保持されます。
    • ユーザーの再アクティブ化
      • Udemy Businessのユーザーアカウントを再アクティブ化するには、Oktaでそのユーザーにアプリを再割り当てしてください。
    • グループプッシュ(SCIM)
      • グループとそのメンバーの情報はUdemy Businessにプッシュされます。管理できるのはOktaからプッシュされたグループに限られます。Udemy Businessで作成されたグループの情報は送信されません。

    要件

    Udemy Business向けにSCIMプロビジョニングを有効化する前に、Udemy Businessサポートチームに連絡して、この機能をアクティブ化し、API認証情報を発行するよう依頼してください。連絡先: business-support@udemy.com

    設定手順

    メモ: 

    • Udemy アプリですでにOktaのSSOログインを有効化している場合は、SSOを再設定する必要はありません。手順8に進んでください。 
    • UdemyサポートチームがSSOを手動設定している場合は、Oktaの新しいUdemy BusinessアプリでSSOを再設定してください(手順1‐7)。
      • 新しいSSOとSCIMの設定が完了するまでは、OktaダッシュボードにあるUdemy Businessのタイルを隠しておくことで、SSOのサービス停止を避けることができます。 
      • Application Visibility(アプリケーションの可視性)の横のDo not display application icon to users(アプリケーションのアイコンをユーザーに表示しない)をクリックします。

    1 - Udemy Businessアカウントにログインし、管理 > 設定> シングルサインオン(SSO)からユーザーアクセスページに移動します

    設定を開始をクリックします。IDプロバイダーを選択します。指示に従ってSCIMを有効化してIDプロバイダーの設定プロセスで使用する認証情報を生成します。

    start_setup.png

    2 - Oktaで、サイドバーからApplications(アプリケーション)ページを開きます。

    3 - Browse App Catalog(アプリケーションカタログを表示)をクリックし、Udemy Businessを選択して、Add(追加)をクリックします。

     

    browse_app_catalog_add.png


    4 - Udemy Businessアプリを追加すると、以下のように Application General Settings - Required(アプリケーションの一般設定 - 必須)にリダイレクトされます。Application label(アプリケーションラベル)の名前を選び、Done(完了)をクリックします。

    general_settings_required.png

    5 - 次にSign On(サインオン)タブをクリックし、Edit(編集)をクリックします。

    sign_on_tab.png

    下にスクロールしてAdvanced Sign-on Settings(アドバンスサインオン設定)を表示し、Audience URI (SP Entity ID)(オーディエンスURI(SPエンティティID))値を追加して、Save(保存)をクリックします。

    d905a6ca-adf9-45e2-9b9d-0d6485f27206

    advanced_settings_save.png

    6 - 同じページで、下のSAML Signing Certificates(SAML署名証明書)までスクロールします。Actions(アクション)をクリックしてから、View IdP metadata(IdPメタデータを表示)をクリックします。メタデータのURLをクリップボードにコピーします 

    (代わりに、Download certificate(証明書をダウンロード)を選択して、コンピューターにメタデータファイルをダウンロードすることもできます)。 

    view_idp_metadata.png

    7 - Udemy Businessアカウントに戻ってシングルサインオン(SSO)設定にアクセスします。 設定ページで適切なメタデータ設定方法を選択し、指示に従ってIDプロバイダーとUdemy BusinessのSSO接続を作成します。

    sso_okta_connection.png

    8 - これでOktaのSSOが有効になり、プロビジョニング(SCIM)の有効化が可能になります。開始するには、Provisioning(プロビジョニング)タブをクリックし、Configure API integration(API統合の設定)をクリックします。

    configure_api_integration.png

    9 - Enable API Integration(API統合を有効化)をクリックして、貴社のサブドメインCLIENT_IDユーザー名として、SECRET_IDパスワードとして入力します。 

    管理 -> 設定からプロビジョニング(SCIM)ページアクセスすることで、これらの認証情報をUdemy Businessアカウントで生成および表示できます。)

    test_api_credentials.png
    10 -  Test API Credentials(API認証情報のテスト)をクリックすると、SSO統合が完了したことを示すメッセージが表示されます。メッセージが表示されない場合は、エラーメッセージを添えてUdemy Businessサポートチームまでご連絡ください。

    11 - Save(保存)をクリックすると、Application(アプリケーション)のProvisioning(プロビジョニング)設定ページにリダイレクトします。

    provisioning_to_app_save.png
    12 - To App(アプリへ)リンクでEdit(編集)をクリックして、各機能を有効化します。すべての機能を使用する場合は、このページでCreate Users(ユーザーの作成)Update User Attributes(ユーザー属性の更新)Deactivate Users(ユーザーの非アクティブ化)を有効にすることをお勧めします。

    provisioning_to_app_edit.png
    13 - Save(保存)をクリックします。

    14 - Assignments(割り当て)タブを開いて、特定のユーザーまたはグループ全体にUdemy Businessを割り当てます。割り当てられたユーザーは、追加後に自動でプロビジョニングされます。プロファイルが変更されると自動で修正され、割り当てから削除されると自動で非アクティブ化されます。

    15 - Push Groups(グループのプッシュ)タブを開いて、グループとメンバーの情報をUdemy Businessに送信します。

    push_groups_to_ub.png

    16- + Push Groups(+ グループのプッシュ)をクリックして、 Udemy Businessにプッシュするグループを選択します。

    個々のグループを選択することも、自動ルールを作成することもできます。

    find_groups_ub.png
    17 - グループの検索基準を選択し、Udemy Businessに送信するグループの特定に必要な情報を入力します。

    push_groups_by_name.png

    18 - グループを選択した後、Push group memberships immediately(グループメンバーの情報を同時にプッシュする)にチェックを入れて、選択したグループの情報だけでなく所属メンバーの情報も送信されるように設定し、Save(保存)をクリックします。

    19 - Udemy Businessに送信するすべてのグループについて以上の手順を繰り返します。

    ご注意: OktaからUdemy Businessにユーザー情報またはグループ情報が送信された後はOktaが信頼できる唯一の情報源と見なされます。Udemy Business上でユーザープロファイルやグループの情報を書き換えることはできません。

    記事を読む
  • Udemy SCIM APIでSCIMプロビジョニングを設定する

    概要

    クロスドメインID管理システム(SCIM)は、ユーザーとグループのプロビジョニングやプロビジョニング解除、ユーザーデータとグループデータの更新をお客様のIDプロバイダー(IdP)で行い、Udemy Businessアカウントに自動で反映するための標準APIです。SCIMは、Okta、Azure AD、OneLoginなど多くのIDプロバイダーが採用しています。Udemy Business SCIM APIは、その他のIDプロバイダーや独自に構築されたツールでも利用できます。

    所属する組織が以下のIDプロバイダーのうちいずれかを使用している場合は、以下のSCIM設定ガイドを参照してください。

    SCIMでは、JSON形式のデータによる標準化されたREST APIが使用されます。Udemy Businessは、SCIM規格バージョン2.0をサポートしています。このAPIは、エンタープライズプランに加入しているすべてのお客様にご利用いただけます。

    Udemy Business SCIM APIでは、以下の機能をサポートしています。 

    • ユーザーのプロビジョニング
    • ユーザーのプロビジョニング解除(非アクティブ化)
    • メールアドレスの変更
    • ユーザーの詳細情報の変更
    • グループのプロビジョニング
    • グループへのユーザーの追加/削除

    SCIMプロトコルの説明

    SCIMプロトコルは、ウェブ上でIDデータのプロビジョニングと管理を行うためのアプリケーションレベルのRESTプロトコルです。クライアントサーバー方式のプロトコルであり、クライアントがIDプロバイダー(IdP)でサーバーがUdemy Businessです。

    基本のフローは次のとおりです。

    • お客様がIdPでユーザーにUdemy Businessへのアクセスを許可すると、IdPからUdemy Businessにこのユーザーがデータベースに存在するかどうかをチェックするためのリクエストが送信されます。発行されるのは、userNameまたはemailなどの属性によるユーザー検索リクエストです。
    • ユーザーが存在しない場合は、IdPからユーザーの作成リクエストが送信されます。
    • ユーザーが存在する場合は、IdPからユーザーの更新リクエストが送信されます。
    • Udemy Businessへのアクセスが取り消された場合は、IdPからUdemy Businessのデータベースでユーザーを非アクティブ化するためのリクエストが送信されます。
    • IdPからは、ユーザーの詳細情報を変更するためのリクエストも送信可能です。

    APIへのアクセス方法

    SCIM APIに接続するための認証資格情報を取得するには、Udemy Businessアカウントで管理 -> 設定 -> プロビジョニング(SCIM)ページを開き、SCIM統合を設定します。このページにアクセスできるのは管理者のみです。 

    設定を開始をクリックします。
    provisioning_scim.png

    次に、プロバイダーを選択カスタムの順に選択します。

    select_provider.png

    トークンを作成するをクリックします。

    generate_token.png

    この画面で、コピーをクリックして、Bearerトークンをクリップボードにコピーします。

    copy_bearer_token.png

    リクエストには、次のようにBearerトークンのAuthorization HTTPヘッダーを指定します。

    GET /scim/v2/Users HTTP/1.1

    Host: myorganization.udemy.com

    Accept: application/scim+json

    Authorization: Bearer <ここにBearerトークンを入力>

    Content-Type: application/scim+json

    Udemy Business SCIM APIにはHTTPプロトコルが使用されており、セキュアなHTTPS接続でのみ利用可能です。

    APIのベースURLはhttps://<organization>.udemy.com/scim/v2/です。 

    Udemy Business SCIM APIと接続するアプリケーションを構築する場合は、この文書の末尾に付記されているSCIMのRFC文書を参照してください。Udemy Business SCIM APIの実装は、この規格に準拠しています。

    SCIM APIエンドポイント

    情報エンドポイント

    これらのエンドポイントは情報であり、クライアントの設定に使用します。認証は要求されません。したがって、これらのエンドポイントにアクセスする際に Authorizationヘッダーを指定する必要はありません。

    GET /ServiceProviderConfig

    サポートされているメソッドなど、Udemy Business SCIMの実装に関する詳細情報を返します。

    GET /Schemas

    Udemy Business SCIMの実装でサポートされているスキーマについての情報を返します。サポートされているスキーマは、UsersとGroupsです。

    GET /Schemas/Users

    Userリソースでサポートされているすべての属性を返します

    GET /Schemas/Groups

    Groupリソースでサポートされているすべての属性を返します。

    Userエンドポイント

    これらのエンドポイントを使用すれば、ユーザーのリスト、属性によるフィルタリング、新規ユーザーの追加、ユーザー情報の更新、ユーザーの非アクティブ化や匿名化を実行できます。アクセスできるユーザーは、SCIM APIを使って作成したユーザーに限られます。Udemy Businessで作成したユーザーにアクセスするには、これらのユーザーをSCIMで調整する必要があります。調整についての詳細は以下のとおりです。

    サポートされている属性

    SCIM属性

    必須か

    説明

    userName

    はい

    IdPでのuserName。一意でなければなりません。

    name, { givenName, familyName }

    いいえ

    ユーザーの氏名。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。

    emails[type=”work”]]['value’]

    はい

    ユーザーのメールアドレス。一意でなければなりません。

    active

    はい

    ユーザーを非アクティブ化/再アクティブするためのフラグ

    title

    いいえ

    Userの肩書。例:「シニアエンジニア」。

    externalId

    はい

    IdPにおけるユーザーのexternalId。一意でなければなりません。

    注意:このリストに記載されていない属性を指定した場合は、無視されます。

    GET /Users

    ページ分割されたユーザーリストを返します。デフォルトでページ当たり12ユーザーです。countstartIndexパラメーターを指定することで、結果セットをページ分割できます。例:

    GET /scim/v2/Users?startIndex=1&count=100 HTTP/1.1

    Host: myorganization.udemy.com

    Accept: application/scim+json

    Authorization: Bearer <ここにBearerトークンを入力>

    • startIndexは、現在のリスト結果セットの冒頭の結果に適用される1から始まるインデックス(オフセット)
    • countは、返されるリストの1ページに表示するリソース数(上限)。1回のリクエストで取得できるユーザー数は1,000人未満です。この項目を省略すると、デフォルトの12になります。

    GET /Users?filter=

    このエンドポイントは、特定の属性でユーザーをフィルタリングするために使用します。たとえば、userName属性を使えば次のような検索が可能です。

    GET /Users?filter=userName eq "gloria.graynor”


    注意:URLパラメーターはURLエンコードが必要です。この例では次のようになります。
    GET /Users?filter=userName%20eq%20%22gloria.graynor%22

    これにより、ユーザーリソースのリストが返されます。結果がない場合は、空のリストが返されます。

    サポートされているフィルターは以下の通りです。

    • userName
    • externalID
    • emails[type eq=”work”]

    サポートされている演算子は以下の通りです。

    • and
    • eq

    レスポンス:

    • 成功した場合は、HTTPステータスコード200とエンティティのリスト
    • サポートされていないフィルターが指定された場合は、HTTPステータスコード501

    POST /Users

    このエンドポイントは、Udemy Businessで新規ユーザーを作成(プロビジョニング)するために使用します。 

    レスポンスにはid属性が含まれます。これは、その後のあらゆるリクエストでこのユーザーを参照するために使用します。

    注意:

    • この方法で作成された新規ユーザーは、初回のサインインをするまでライセンスを消費しません
    • このユーザーにすでに保留中の招待状がある場合は、この時点で使用されます。
      ユーザーは、招待状に指定された内容にしたがってグループに追加され、適切な役割やコースを割り当てられます。
    • すでにUdemy Businessに存在しているユーザーを新規作成しようとした場合は、そのユーザーがSCIMの管理下に入ります( 「ユーザー管理」ページで小さなリンクアイコンが表示されます)。ユーザーのステータスやライセンスの使用状況に変更は生じません。ユーザーがアクティブな場合は引き続きアクティブであり、非アクティブ化されている場合は非アクティブ化されたままです。

    レスポンス:

    • 成功した場合は、HTTPステータスコード201とユーザーのリソース
    • 組織に同じuserNameがすでに存在している場合は、HTTPステータスコード409
    • リクエストが検証をパスしなかった場合は、HTTPステータスコード400とエラーの詳細情報を記したレスポンスボディ

    GET /Users/<id>

    このエンドポイントは、特定のユーザーの詳細情報を取得するために使用します。上記リクエストのidパラメーターには、SCIMでユーザーを作成した際に返されたか、既存のすべてのユーザーを一覧表示した際に示された一意の識別子を指定します。

    レスポンス:

    • 成功した場合は、HTTPステータスコード200とユーザーリソース
    • ユーザーが見つからなかった場合は、HTTPステータスコード404

    PUT /Users/<id>

    このエンドポイントは、Udemy Businessのユーザー詳細情報の置き換え(上書き)に使用します。指定した場合、active属性を使用して、ユーザーを非アクティブ化や再アクティブ化できます。

    レスポンス:

    • HTTPステータスコード200と更新されたユーザーリソース
    • ユーザーが存在しない場合は、HTTPステータスコード404。 
    • 組織の所有者を非アクティブ化しようとした場合は、HTTPステータスコード400。

    PATCH /Users/<id>

    このエンドポイントは、Udemy Businessのシステムでユーザー詳細情報の一部分を更新する場合に使用します。ユーザーの一部の属性だけを変更できます。ユーザー全体を置き換えるPUTとは異なります。 

    active属性を含めた場合、ユーザーを非アクティブ化や再アクティブ化できます。

    • 各リクエストのボディの「schemas」属性には必ず「urn:ietf:params:scim:api:messages:2.0:PatchOp」というURL値を指定します。
    • HTTP PATCHリクエストのボディには「Operations」属性を必ず指定します。この値は1つ以上のPATCH操作の配列です。各PATCH操作オブジェクトには、必ず1つだけ「op」メンバーを指定して実行する処理を指示します。値には「add」、「remove」、「replace」の中の1つを記載できます。
    • 「path」属性は空でもかまいませんが、その場合、「value」は{“path”: “value”}形式の辞書となります。

    レスポンス:

    • 成功した場合は、HTTPステータスコード200と更新されたユーザーのリソース
    • ユーザーが見つからなかった場合は、HTTPステータスコード404
    • 組織の所有者を非アクティブ化しようとした場合、または不正な操作を行った場合は、HTTPステータスコード400。

    グループエンドポイント

    サポートされている属性

    SCIM属性

    必須か

    説明

    displayName

    はい

    グループ名。すべてのUdemy Businessグループ内で一意でなければなりません。

    externalId

    いいえ

    IDプロバイダーによるグループのexternalId

    注意:このリストに記載されている以外の属性を指定した場合は、無視されます。

    GET /Groups

    このエンドポイントは、プロビジョニングしたすべてのグループのページ分割されたリストを取得するために使用します。結果をページ分割するには、startIndexcountクエリストリングパラメーターが必要です。 

    取得できるのはSCIMを使って作成したグループのみです。Udemy Businessで作成したグループは取得できません。

    GET /Groups?filter=

    このエンドポイントは、特定の属性でグループをフィルタリングするために使用します。たとえば、displayName属性を使えば次のような検索が可能です。

    GET /Groups?filter=displayName eq "Marketing”

    これにより、グループリソースのリストを取得できます。結果がない場合は、空のリストが返されます。

    パラメーターはURLエンコードする必要があります。したがって、上記リクエストは次のようになります。
    GET /Groups?filter=displayName%20eq%20%22Marketing%22

    サポートされているフィルターは以下の通りです。

    • displayName
    • externalId
    • Id
    • member.value

    サポートされている演算子は以下の通りです。

    • and
    • eq

    レスポンス:

    • 成功した場合は、HTTPステータスコード200とエンティティのリスト
    • サポートされていないフィルターが使われた場合は、HTTPステータスコード501

    POST /Groups

    このエンドポイントは、Udemy Businessで新規グループを作成(プロビジョニング)するために使用します。 

    レスポンス:

    • 組織にプロビジョニングされた同名のグループがすでに存在している場合は、HTTPステータスコード409が返されます。Udemy Businessでは409(Conflict)とともにuniquenessのscimTypeエラーコードが返されます。
    • グループの作成に成功した場合は、グループの完全なレプリゼンテーションとHTTPステータスコード201(Created)とともに、作成されたグループリソースのURLを記したLocationヘッダーが返されます。

    GET /Groups/<id>

    このエンドポイントは、Udemy Businessのグループ詳細情報を取得するために使用します。 

    レスポンス:

    • HTTPステータスコード200とグループリソース
    • グループが見つからなかった場合は、HTTPステータスコード404

    PUT /Groups/<id>

    このエンドポイントは、Udemy Businessのグループ詳細情報を置き換えるために使用します。

    レスポンス:

    • HTTPステータスコード200と更新されたグループリソース 
    • グループが存在しない場合は、HTTPステータスコード404。 

    PATCH /Groups/<id>

    このエンドポイントは、Udemy Businessにおけるグループ詳細情報の部分的な更新を行うために使用します。 

    PATCHエンドポイントでは、さまざまな操作とその組み合わせが可能なため、他のエンドポイントよりも扱いにくい面があります。

    • replaceは、特定の値を変更する操作です。Udemy Businessの場合は、グループ名かメンバーです。
    • removeは、グループからメンバーを削除する操作です。
    • addは、グループにメンバーを追加する操作です。

    ルールは以下の通りです。

    • たとえば、メンバーを「replace」する操作の場合、プロビジョニングされていないメンバーはグループから削除されません。
    • PATCHリクエストは、操作数に関係なくアトミックなものとして扱われます。

    インプットの検証は次の通りです。

    • 各リクエストのボディの「schemas」属性には必ず「urn:ietf:params:scim:api:messages:2.0:PatchOp」というURL値を指定します。
    • HTTP PATCHリクエストのボディには「Operations」属性を必ず指定します。この値は1つ以上のPATCH操作の配列です。各PATCH操作オブジェクトには、必ず1つだけ「op」メンバーを指定して実行する処理を指示します。値には「add」、「remove」、「replace」の中の1つを記載できます。
    • 「path」属性は空でもかまいませんが、その場合、「value」は{“path”: “value”}形式の辞書となります。
    • 「Remove」操作の場合は「members」パスが必要です。
    • 「Add」操作の場合は「members」または「externalId」「path」が必須です。
    • 「Replace」操作の場合は、「members」パスを指定できます。指定されていない場合、グループ名などのグループ詳細情報は変更されますが、メンバーは変更されません。

    ご注意:

    • グループへのユーザーの割り当てと割り当て解除は非同期で行われます。そのため、変更はすぐにはUdemy Businessに反映されません。
    • ネスト化されたグループはサポートしていないため、このリクエストでは無視されます。

    レスポンス:

    • 操作に成功した場合は、HTTPステータスコード204。
    • グループが存在しない場合は、HTTPステータスコード404。
    • 組織のメンバーでないユーザーにグループを割り当てようとした場合は、HTTPステータスコード404とエラー詳細情報。
    • リクエストが検証をパスしなかった場合は、HTTPステータスコード400とレスポンスボディのエラー詳細情報。

    DELETE /Groups/<id>

    このエンドポイントは、Udemy Businessにおけるグループの削除またはプロビジョニング解除するために使用します。 グループを削除しても、グループ内のユーザーは削除されません。ユーザーは、削除されたグループから除外されるだけです。

    ルールは以下の通りです。

    • グループにプロビジョニングされていないメンバーがいる場合は、プロビジョニングされているメンバーがグループから削除され、「OrganizationSCIMGroup」レコードが消去されます。

    レスポンス:

    • 操作に成功した場合は、HTTPステータスコード204。
    • グループが存在しない場合は、HTTPステータスコード404。

    参考文献

    記事を読む
  • 承認済みのメールドメインを使って、ユーザーが「セルフサービス」でUdemy Businessを利用できるようにする方法

    Udemy Businessアカウントへのアクセスをユーザーに提供する方法は2つあります。シングルサインオン(SSO)を使う方法と管理者/グループ管理者から招待状を送付する方法です。

    この機能は、招待手続きを使用する場合に利用できます。ユーザーは、管理者があらかじめ設定した承認済み/確認済みのメールアドレスドメインを組織アカウントのランディングページ(例: company.udemy.com)で入力することにより、自分宛に招待メールを送信することができます。

    メールアドレスドメインを承認する方法

    管理者は、設定内のメールドメインアクセスページで組織のUdemy Businessアカウントへの参加を承認するメールアドレスドメインを1つ以上指定できます。

    settings_email_domain_access.png

    この機能はチームプランでもエンタープライズプランでも利用できます。ただし、メールドメインアクセスページで承認メールドメインの設定ができるのは、アカウントの所有者または管理者に限られます。グループ管理者にはできません。

    アカウントのランディングページのURLをユーザーと共有してサインアップする方法

    Udemy BusinessアカウントのランディングページURLを、アクセス権を付与したい組織内のユーザーやグループに共有するには、Slack、メール、wiki、イントラネットなどを使うか、学習管理システム(LMS)にリンクを追加してください。

    ユーザーは、組織アカウントのランディングページURLにアクセスして、登録用のメールアドレスを入力します。入力したメールアドレスが、管理者のあらかじめ設定した承認済みのメールドメインと合致していれば、登録できます。

    UB_login.jpg

    ユーザーが承認済みのメールアドレスを入力すると、アカウントの確認を促すメッセージが画面に表示されます。

     check_your_email.png

    ライセンスの使用と確認

    ユーザーがライセンスを申請するには、サインアップを完了する必要があります。 

    利用できるライセンスが不足している場合は、ユーザーに以下のメッセージが表示され、マネージャーかIT部門に問い合わせるよう促されます。

    all_licenses_have_been_allocated.png

    ユーザーはこの確認メールに含まれるリンクを使ってアカウント情報の確認をする必要があります。確認のためのリンクの期限は1時間*です。ユーザーは、アカウントの確認を終えると、名前、メールアドレス、パスワードを入力してサインアップすることが可能になります。

    *シングルサインオン(SSO)/クロスドメイン管理用システム(SCIM)のユーザーには、この確認手続きはありません。

    send_verification_email.png

    activate_account_email.png

    ユーザーの入力したメールアドレスが承認済みのメールドメインに合致しない場合は、以下のメッセージが表示され、そのユーザーは登録手続きに進むことができません。

    not_invited.png

    利用できるライセンスが不足している場合は、以下のメッセージが表示され、マネージャーかIT部門に問い合わせるように促されます。

    no_licenses.png

    承認済みのメールドメインによる手続きに従って登録を完了したユーザーは、ユーザー管理の保留中の招待状画面に表示されます。ただし「承認済みメールによる招待」と付記されます。

    pending_invitations.png

    以上の機能は、チームプランでもエンタープライズプランでも利用できますが、ユーザーアクセスページで承認済みメールドメインを設定できるのは、所有者と管理者に限られます。グループ管理者はこのページにアクセスできません。

    記事を読む