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

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

    メモ: Entra IDは、以前はAzure ADという名称でした。

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

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

    メモ: 

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

    Entra IDでSCIMプロビジョニングを設定する

    1. Udemy BusinessのSCIMプロビジョニングを有効化するには、Udemy Businessアカウントにログインして、「管理」 > 「設定」 > 「プロビジョニング(SCIM)」を開きます。

    2.設定を開始をクリックして、IDプロバイダーを選択し、指示に従ってシークレットトークン(Bearer token)を作成し、それをEntra IDに入力します。

    1a.png

    3. 次に、Entra IDアカウントにアクセスし、Udemy Business SSOアプリを開きます。以下の手順に従って設定します。詳しくは、Entra IDよる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」 トークンです(「管理」 > 「設定」 > 「ユーザーアクセス」の順に選択し、シークレットトークンを入手します)。

    6.テスト接続をクリックし、正しく機能することを確認します。  

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

    1d.png

    7.マッピングで次の操作を行います。

    以下の属性マッピングを確認します。

    1e.png

    Azure SCIM Attribute.png

    以下の必須属性がcustomappsso属性に追加されていることを確認します。これらのフィールドは、SCIMプロビジョニングがUdemy内で機能するために必要です。

    サポートされている属性

    SCIM属性 必須か コース解説
    emails[type eq "work"].value 可能 ユーザーのメールアドレス。一意でなければなりません
    userName 可能 IdPでのuserName。一意でなければなりません。
    アクティブ 可能 ユーザーを非アクティブ化/再アクティブするためのフラグ
    externalId 可能 IdPにおけるユーザーのexternalId。一意でなければなりません。

    urn:ietf:params:scim:schemas:extension:

    enterprise:2.0:User:employeeNumber

    可能 EnterpriseSchemaからemployeeNumberフィールドを返し、external_idフィールドとして保存します。外部IDに送信する属性と一致している必要があります。
    name.givenName 不可 ユーザーのファーストネーム。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    name.familyName 不可 ユーザーの姓。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    name, { givenName, familyName } 不可 ユーザーの氏名。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    title 不可 Userの肩書。例:「シニアエンジニア」。

    urn:ietf:params:scim:schemas:extension:

    udemy:2.0:User:licensePoolName

    不可 ライセンスプール名

    Edit_attribute.jpg

    属性Switch([IsSoftDeleted], , "False", "True", "True", "False")アクティブにマッピングされ、ユーザーの非アクティブ化を引き継ぐことができることを確認します。

    mapping_type.jpg

    8. 「ユーザー属性マッピング」の一番下までスクロールし、詳細オプションの表示を有効にします。

    customappssoの属性リストの編集を選択し、IDuserNameの両方で大文字と小文字を区別するを有効にしました。

    9. メインのプロビジョニング設定画面に戻ります。

    1h.png

     

    10. ユーザーとグループを同期する範囲を選択します。

    1i.png

    特定の従業員や部門だけがアクセスできるようにする必要がある場合は、Udemy Businessアプリに割り当てられているユーザーとグループに限定して同期するようにします。全従業員にアクセス権を付与する場合は、すべてのユーザーおよびグループを同期します。

    1j.png

    Udemy Businessのアクセス権を持つユーザーとグループをプロビジョニング対象として追加するときは、次の操作を行います。

    11.ユーザーとグループをクリックします。

    users_and_groups.png

    12.ユーザーの追加をクリックします(ユーザーとグループの両方を追加するオプションが表示されます)。

    アプリケーションに追加するユーザーまたはグループすべてを選択し、選択をクリックします。

    Add_assignment.png

    トラブルシューティング

    マッピング関連:

    User_mapping.png

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

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

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

    Edit_attribute.png

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

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

    user_profile.png

    ユーザーのプロビジョニングにエラーが発生した場合は、プロビジョニングログを見て詳細情報を確認できます。

    • このログを取得するには、AzureのUdemyアプリに移動し、「プロビジョニング」 > 「プロビジョニングログ」 > 「影響を受けたユーザーを検索」 > 「トラブルシューティングと推奨」の順に進みます。
    • 必要に応じてサポートチケットを開き、Azureプロビジョニングログのスクリーンショットを提示してください。Udemyがエラー内容を確認いたします。

    記事を読む
  • 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」タブに移動します。
      OneLogin parameters.png

      OneLoginからUdemyにexternalId値を送信するには、パラメーターのurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumberが追加されているかどうかご確認ください。
      ご注意:OneLoginではパラメーターの同期を毎日実行するため、パラメーターを追加してもすぐに反映されない場合があります。

    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ライセンスの割り当て
    • メモ: SCIMでプロビジョニングされたユーザーは、Udemy Businessユーザー管理ポータルから手動で招待される場合とは異なり、Udemy Businessライセンスを取得するための自動生成の招待メールを受け取りません。貴社の学習担当チームは、SSOプロバイダー経由でログインしてアクセスを取得する方法を説明する別のお知らせを送信することが推奨されます。しかし、SCIM経由で再アクティベート化されたユーザーは、アカウントが再アクティベート化されたことを知らせる自動生成メールをUdemyから受け取ります。

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

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

    • SCIM統合の設定方法は、IDプロバイダーによって異なります。 
    • Udemy Businessは、アクセスおよびID管理を提供する主要なIDプロバイダーやSSOサービス向けのSCIMプロビジョニングをサポートします。
    • SCIMプロビジョニングをご利用いただけるのは、シングルサインオン(SSO)を使用するエンタープライズプランのお客様に限られます。
    • SSOサービスへのプロビジョニングをSCIMで行ったユーザーは、Udemy Businessで初回のサインインを行うまでライセンスを使用しません。ユーザーがSCIMを使用してプロビジョニングされていても、初めてのサインインでない場合は、「すべてのユーザー」ページにライセンスなしステータスで表示されます。
      • すべてのユーザーのUdemy Business Proライセンスを購入したお客様の場合、ユーザーが招待を受け入れるか、SSO/SCIM経由で認証すると、Proライセンスが自動的に割り当てられます。
      • メモ: SCIMが有効になっている場合、UdemyはSAML経由の属性マッピングにSCIMプロトコルを使用します。グループとlmsUserIDはSCIMユーザー属性ではないため、以前にSAMLのみの構成の一部としてマップしていた場合、SAML経由で渡されません。グループはSCIMユーザー属性ではないため、以前にSAMLのみの構成の一部として属性をマップしていた場合、SAML経由で渡されません。

      SCIM管理されているユーザーには、名前とメールの横に灰色のSCIMフラグが表示されます。SCIMがプロビジョニング済みのステータスを持つユーザーは、初めてログインするまでアクティブなライセンスを消費しません。

    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プロバイダー側のインテグレーションも無効化する必要があります。 

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

    provisioning_scim_disable_integration.png

    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ユーザーとグループの自動プロビジョニング、デプロビジョニング、プロフィール更新、グループ管理の設定を行う方法について説明します。

    メモ:

    • OktaのUdemy BusinessのSSOサインオンがすでに有効になっている場合は、SSOを再設定する必要はありません。SCIMを設定するには、Oktaのアプリケーションでプロビジョニングタブを探します。 
    • UdemyサポートチームがSSOを手動で設定している場合は、Oktaアカウントに新しいUdemy Businessアプリを追加してください。Udemy Businessアプリは、Applications(アプリケーション)でUdemy Businessを検索すると見つかります。Oktaにおいてこのアプリは新バージョンとなりますので、既存のアプリをご利用のお客様はSCIMプロビジョニングを有効化する前にシングルサインオン(SSO)の再設定が必要な場合があります(詳しい手順は以下を参照してください)。
    • Oktaでプロビジョニングされたユーザーは、Udemy Businessアプリに初回ログインするまで、アクティブライセンスは消費されません。
    • SCIMで管理されるユーザーとグループは、Oktaでのみ変更できます。
    • SCIMが有効になっている場合、UdemyはSAML経由の属性マッピングにSCIMプロトコルを使用します。グループはSCIMユーザー属性ではないため、以前にSAMLのみの構成の一部として属性をマップしていた場合、SAML 経由で渡されません。

    コンテンツ

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

    特徴

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

    • Oktaからユーザーをプロビジョニングする
      • OktaでUdemy Businessアプリを割り当てられたユーザーは、Udemy Businessでプロビジョニングされます。
      • OktaからSCIMプロビジョニングされたユーザーは、自動生成の招待メールが届かないことに注意してください。
    • プロフィール更新のプッシュ
      • OktaからUdemy Businessに登録しているユーザーのプロフィールを更新すると、Udemy Businessにプッシュ(送信)されます。
    • ユーザーの非アクティブ化のプッシュ
      • Oktaでユーザーを非アクティブ化するか、アプリケーションへのアクセスを無効にすると、Udemy Businessのユーザーも非アクティブ化され、すべてのグループから削除されます。
      • メモ: 非アクティブ化されたユーザーは、レポート目的または将来の再アクティブ化のために学習データを保持します。SCIMで管理されている非アクティブ化されたユーザーを完全に削除するには、まずそのユーザーのSCIM接続を切断する必要があります。これについては、Udemy Businessサポートがお手伝いいたします。 
    • ユーザーの再アクティブ化
      • Oktaを通じてアプリをそのユーザーに再割り当てすることで、ユーザーをUdemy Businessで再アクティブ化できます。
      • 再アクティブ化されたユーザーには、再アクティブ化されたことを伝える自動生成メールがUdemyから送信されることに注意してください。
    • グループプッシュ
      • グループとそのメンバーの情報はUdemy Businessにプッシュされます。管理できるのはOktaからプッシュされたグループに限られます。Udemy Businessで作成されたグループの情報は送信されません。

    SCIM管理されているユーザーには、名前とメールの横に灰色のSCIMフラグが表示されます。SCIMがプロビジョニング済みのステータスを持つユーザーは、初めてログインするまでアクティブなライセンスを消費しません。

     

    設定手順 

    OktaのSSOを有効にしていない場合、またはチームによる手動設定でSSOをセットアップした場合は、まずこちらでOkta SSO設定手順を完了してください。

    • 新しいSSOとSCIMの設定が完了するまでは、OktaダッシュボードにあるUdemy Businessのタイルを隠しておくことで、SSOのサービス停止を避けることができます。 
    • Application Visibility(アプリケーションの可視性)の横のDo not display application icon to users(アプリケーションのアイコンをユーザーに表示しない)をクリックします。

    1. 開始するには、Provisioning(プロビジョニング)タブをクリックし、Configure API integration(API統合の設定)をクリックします。

    configure_api_integration.png

    2.Enable API Integration(API統合を有効化)をクリックして、貴社のサブドメインドメイン(udemy.com)、CLIENT_IDユーザー名として、SECRET_IDパスワードとして追加します。

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

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


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


    provisioning_to_app_save.png

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

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

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

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

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

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

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

    push_groups_by_name.png

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

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

    メモ: Udemy Businessでは、セットアップ後にSCIM管理のユーザーまたはグループを変更することはできません。

    記事を読む
  • 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://<yoursubdomain>.udemy.com/scim/v2/

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

    レート制限

    Udemy Businessは、標準のHTTPレート制限プロトコルに従い、SCIM APIにレート制限を適用しています。リクエストがレート制限に達した場合、HTTP 429レスポンスが返されます。その際は、Retry-Afterヘッダーに指定された時間を待ってから再試行してください。

    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属性 必須か コース解説
    emails[type=”work”]]['value’]
    可能 ユーザーのメールアドレス。一意でなければなりません
    userName
    可能 IdPでのuserName。一意でなければなりません。
    アクティブ
    可能 ユーザーを非アクティブ化/再アクティブするためのフラグ
    externalId
    可能 IdPにおけるユーザーのexternalId。一意でなければなりません。
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber

    可能 EnterpriseSchemaからemployeeNumberフィールドを返し、external_idフィールドとして保存します。
    name.givenName
    不可 ユーザーのファーストネーム。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    name.familyName
    不可 ユーザーの姓。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    name, { givenName, familyName }
    不可 ユーザーの氏名。必須ではありませんが、ユーザーの特定に役立つため、これらの属性を常に指定することをお勧めします。
    title
    不可 Userの肩書。例:「シニアエンジニア」。
    groups
    不可 ユーザーが所属するSCIMグループ


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

    GET /Users

    ページ分割されたユーザーリストを返します。デフォルトでページ当たり12ユーザーです。で次のパラメータを渡すことができます

    count 

    および

    startIndex 

    結果セットをページネーションするためのパラメータを指定できます。例: 

    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 https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 18,
    "startIndex": 1,
    "Resources": [
    {
    "id": "KwLzN3",
    "externalId": "00u3mlhj4x1E482sK5d7",
    "userName": "firstName.lastName@domain.com",
    "name": {
    "givenName": "firstName",
    "familyName": "lastName",
    "formatted": "firstName lastName"
    },
    "emails": [
    {
    "value": "firstName.lastName@domain.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "NZOaw",
    "display": "Group Test",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/NZOaw"
    },
    {
    "value": "dn1K8",
    "display": "NewGroup2",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/dn1K8"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/KwLzN3",
    "created": "2022-01-19T01:11:59Z",
    "lastModified": "2024-11-22T21:58:48Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "64e63"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }

     

    GET /Users?filter=

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

    GET /Users?filter=userName eq "example..name

    注意: URLパラメーターはURLエンコードが必要です。この例では次のようになります:

    GET /Users?filter=userName%20eq%20%22example.name%22

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

    GET Users?filter=groups.value eq "{SCIM_Group_ID}"

    これにより、このSCIMグループに所属するすべてのユーザーが返されます

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

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

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

    and
    eq

    レスポンス:

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

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

    レスポンスには

    id 

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

    注意:

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

    リクエスト例

     

    POST https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "active": true,
    "emails": [
    {
    "primary": true,
    "type": "work",
    "value": "demo.user@test.com"
    }
    ],
    "externalId" : "externalIdValue",
    "meta": {
    "resourceType": "User"
    },
    "userName": "DemoTest",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "name": {
    "familyName": "Test",
    "formatted": "formatted",
    "givenName": "Demo"
    }
    }

    レスポンス例

    {
    "id": "MPD698",
    "name": {
    "givenName": "Demo",
    "familyName": "Test",
    "formatted": "Demo Test"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:00:26Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "userName": "DemoTest",
    "externalId": "externalIdValue"
    }

     

    レスポンス:

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

    このエンドポイントは、指定されたユーザーの詳細情報を取得するために使用されます。

    id

    上記リクエストのパラメーターには、SCIMでユーザーを作成した際に返されたか、既存のすべてのユーザーを一覧表示した際に示された一意の識別子を指定します。

    レスポンス:

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

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

    リクエスト例:

    PUT https://demo.udemy.com/scim/v2/Users/MPD698
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "id": "MPD698",
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "name": {
    "givenName": "demo",
    "familyName": "user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "active": true
    }

    レスポンス例

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID"
    }

     

    レスポンス:

    • 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”}形式の辞書となります。

    リクエスト例

    PATCH https://demo.udemy.com/scim/v2/Users/MPD698 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
    {
    "op": "replace",
    "path": "userName",
    "value": "DemoUserName"
    }
    ]
    }

    レスポンス例

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "5ypNz",
    "display": "NewGroup",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/5ypNz"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "DemoUserName",
    "externalId": "NewExternalID"
    }

    レスポンス:

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

    グループエンドポイント

    サポートされている属性

    SCIM属性

    必須か

    コース解説

    displayName

    可能

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

    externalId

    不可

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

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

    GET /Groups

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

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

    リクエスト例

    GET https://demo.udemy.com/scim/v2/scim/v2/Groups
     "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 6,
    "startIndex": 1,
    "Resources": [
    {
    "id": "NZOaw",
    "displayName": "Group Test",
    "members": [
    {
    "value": "KwLzN3",
    "display": "firstName lastName",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/KwLzN3"
    },
    {
    "value": "eBmzpr",
    "display": "user four",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/eBmzpr"
    }
    ],
    "externalId": null,
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/NZOaw",
    "created": "2024-08-23T22:26:48Z",
    "lastModified": "2024-08-23T22:26:48Z"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }
    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
    POST /Groups

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

    警告: POSTまたはPUT /scim/v2/Groupsエンドポイントを使用してグループを作成する際、リクエストにmembers属性を含めないでください。指定されたメンバーは無視されます。ユーザーをグループに追加するには、まずグループを作成し、その後、PATCH /scim/v2/Groups に個別の呼び出しを行います

    リクエスト例

    https://demo.udemy.com/scim/v2/Groups 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "234523"
    }

    レスポンス例

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "234523",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-15T22:24:54Z",
    "lastModified": "2025-01-15T22:24:54Z"
    }
    }
    PUT /Groups/<id>

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

    警告: POSTまたはPUT /scim/v2/Groupsエンドポイントを使用してグループを作成する際、リクエストにmembers属性を含めないでください。指定されたメンバーは無視されます。ユーザーをグループに追加するには、まずグループを作成し、その後、PATCH /scim/v2/Groups に個別の呼び出しを行います

    リクエスト例

    PUT https://demo.udemy.com/scim/v2/Groups/vREOw 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "MPD699"
    }

    レスポンス例

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "MPD699",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-08T21:12:53Z",
    "lastModified": "2025-01-15T22:35:55Z"
    }
    }

    レスポンス:

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

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

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

    リクエスト例

    PATCH https://demo.udemy.com/scim/v2/Groups/5ypNz 
    { "schemas": 
    ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op":"add",
    "path": "members",
    "value":[{
    "display": "demo user",
    "$ref":"https://demo.udemy.com/scim/v2/Users/MPD698",
    "value": "MPD698"
    }
    ]
    }
    ]
    }

    レスポンス例

    204 No Content
    • 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。

    参考文献

    • SCIM overview: http://www.simplecloud.info
    • RFC 7642, SCIM - Definitions, Overview, Concepts, and Requirements: https://tools.ietf.org/pdf/rfc7642.pdf
    • RFC 7643, SCIM - Core Schema: https://tools.ietf.org/pdf/rfc7643.pdf
    • RFC 7644, SCIM - Protocol: https://tools.ietf.org/pdf/rfc7644.pdf
    記事を読む
  • 承認済みのメールドメインを使って、ユーザーが「セルフサービス」で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

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

    記事を読む