Skip to main content

はじめに

System for Cross-domain Identity Management (SCIM) は、ID プロバイダー (IdP) と MoEngage の間でユーザー ID 情報の交換を自動化するオープン標準です。SCIM 連携では、プロビジョニング、ロールの更新、アクセスの取り消しをすべてのプラットフォーム間で自動的に同期することで、ユーザー管理を効率化します。

サポートされている操作

SCIM では、IdP から次のユーザー管理操作を実行できます。
  • ユーザーの作成: MoEngage に新しいユーザーをプロビジョニングします。
  • ユーザーの更新: ロールの更新を自動的に同期します。
  • ユーザーの取得: MoEngage ユーザーの一覧を取得します。
  • アクセスの取り消し: ユーザーのアクセスを取り消します。

SCIM のメリット

SCIM を利用するメリットは次のとおりです。
  • ライフサイクル管理の自動化: ユーザーのプロビジョニングを自動的に管理します。
  • ロール割り当ての一元化: デフォルトロールやカスタムロールなどの MoEngage ロールを、組織の ID プロバイダーから直接割り当てます。
  • 効率の向上: ユーザーを個別に MoEngage ワークスペースに招待する手作業が不要になります。

ID プロバイダー (IdP)

MoEngage は ID プロバイダーを利用して、ログインを簡素化・一元化します。MoEngage は SCIM 2.0 標準に基づく SCIM プロビジョニングをサポートしているため、このプロトコルをサポートする任意の ID プロバイダーで動作します。このガイドでは、次のプラットフォームの詳細な設定手順を説明します。
  • Okta
  • Azure (Microsoft Entra ID)
  • JumpCloud
前提条件設定を開始する前に、次の条件を満たしていることを確認してください。
  • MoEngage ワークスペースで シングルサインオン (SSO) の設定が正常に機能していること。
  • Security Settings コンポーネントに対する Setup & manage 権限を持つ Admin ロールがあること。
    注: Login Settings コンポーネントは Security Settings に名称変更されています。
  • Google Chrome ブラウザーを使用すること。他のブラウザーではメタデータや XML 文字列が切り捨てられたり破損したりして、連携に失敗する可能性があります。
  • SCIM を有効にする前に SSO の設定を完了すること。詳細については、Single Sign-On (SSO) を参照してください。

Okta で SCIM を設定する

ステップ 1: SSO アプリケーションを見つけて確認する

SSO の設定を確認するには、次の手順を実行します。
  1. Okta Admin Console に移動します。
  2. 左側のナビゲーションメニューで、Applications > Applications に移動します。
  3. Applications ページで、一覧からアプリケーションを探すか、Search for people, apps, and groups ボックスを使用して検索します。
  4. 一覧から、SCIM を設定するアプリケーション名をクリックします。
  5. General タブをクリックします。
  6. SAML Settings セクションまでスクロールし、SAML の設定内容が MoEngage ワークスペースのメタデータと一致していることを確認します。

ステップ 2: Okta のアプリ設定で SCIM を有効にする

次に、Okta で SCIM を有効にするには、次の手順を実行します。
  1. ステップ 1 の手順 2 から 5 を繰り返します。
  2. App Settings セクションで、右上の Edit をクリックします。
  3. SCIM ラジオボタンをクリックし、Save をクリックします。 Sign On タブの隣に Provisioning タブが表示されます。

ステップ 3: MoEngage で SCIM を設定してトークンを生成する

MoEngage で SCIM を設定してトークンを生成するには、次の手順を実行します。
  1. MoEngage ワークスペースの左側のナビゲーションメニューで、Settings > Account > Security をクリックします。
  2. Security ページで、Login タブをクリックします。
  3. Single Sign On (SSO) only をクリックします。
  4. Automate user provisioning セクションまでスクロールします。
  5. Automate user provisioning トグルをオンにします。
    Step3ist

    Configure provisioning method ダイアログボックスが表示されます。
  6. 設定タイプとして SCIM configuration をクリックします。
    Step32ndimage
  7. Base Connector URL をコピーして保存します (ステップ 4 で使用します)。
  8. Default role リストで、必要なロール (デフォルトロールまたはカスタムロール) を選択します。
  9. Expiry Date フィールドで、SCIM アクセストークンの有効期限を選択します。
    注: MoEngage では、Expiry date の期間を 1 年に設定することを推奨しています。
  10. Save をクリックします。
    Save your configuration ダイアログボックスが表示され、設定の確認を求められます。
  11. Confirm をクリックします。
    Successfully generated SCIM token メッセージと Generate access token ダイアログボックスが表示されます。注: トークンは一度しか表示されないため、すぐにコピーしてください。
  12. Okay をクリックします。
    Step3image3rdimage

ステップ 4: Okta で SCIM を設定する

Okta で SCIM を設定するには、次の手順を実行します。
  1. Okta Admin Console に戻り、Provisioning タブをクリックします。
  2. 左側のナビゲーションペインで Integration をクリックし、Edit をクリックします。
  3. 接続の詳細を入力します。
    1. SCIM connector base URL: ステップ 3 で MoEngage ワークスペースからコピーした URL を貼り付けます。
    2. Unique identifier field for users: email と入力します。
  4. Configure Supported Provisioning Actions セクションで、適切なチェックボックスを選択してデータフローを定義します。5 つすべてを有効にして個々のユーザーとグループの両方を自動化することも、次の要件に基づいて選択することもできます。
    • Import New Users and Profile Updates: MoEngage の既存ユーザーを Okta に取り込む場合に選択します。
    • Push New Users: Okta で新しいユーザーがアプリケーションに割り当てられたときに、MoEngage ユーザーを自動的に作成する場合に選択します。
    • Push Profile Updates: Role の更新などの属性の変更を Okta から MoEngage に同期する場合に選択します。
    • Push Groups: Okta のグループとそのユーザーリストを MoEngage に同期する場合に選択します。
    • Import Groups: MoEngage の既存グループを Okta に取得する場合に選択します。
  5. Authentication Mode リストで、HTTP Header をクリックします。
  6. HTTP Header セクションの Authorization ボックスに、ステップ 3 で MoEngage ワークスペースからコピーした生成済みのアクセストークンを貼り付けます。
  7. Test Connector Configuration をクリックします。 Test Connector Configuration ダイアログボックスが表示されます (この処理には最大 30 秒かかる場合があります)。コネクターが正常に設定されたことを示すメッセージが表示され、コネクターで検出された次のプロビジョニング機能の一覧を確認できます。
    • User Import と Import Profile Updates: Okta が MoEngage からユーザーデータを取得することを確認します。
    • Create Users と Update User Attributes: Okta が新しいユーザーとプロファイルの変更を MoEngage に送信することを確認します。
    • Push Groups と Import Groups: グループメンバーシップとロールが同期されることを確認します。
  8. Close をクリックし、Save をクリックします。
Push New Users を選択しない場合、MoEngage は新しく割り当てられたユーザーを作成しないため、それらのユーザーはサインインできません。Push Groups を選択すると、Okta の詳細に基づいて MoEngage のユーザーグループに特定の権限を自動的に割り当てることができ、手動でのユーザー管理が不要になります。

ステップ 5: プロビジョニングアクションを有効にする

ID データが Okta から MoEngage に正しく流れるようにするには、To App 設定で Create、Update、Deactivate のプロビジョニングアクションを有効にする必要があります。プロビジョニングアクションを有効にするには、次の手順を実行します。
  1. Provisioning タブの左側のナビゲーションペインで、Settings の下にある To App をクリックします。
  2. Provisioning to App セクションの横にある Edit をクリックします。
  3. 次のアクションの Enable チェックボックスを選択します。
    • Create Users: MoEngage でユーザーを作成する権限を Okta に付与します。
    • Update User Attributes: プロファイルの更新を Okta から MoEngage に同期します。
    • Deactivate Users: Okta でユーザーの割り当てが解除されたときに、MoEngage へのアクセスを直ちに取り消します。

ステップ 6: 属性マッピングを作成する

Okta で特定の書き込み権限を付与し、role 属性をマッピングすることで、ユーザーが MoEngage で正しい権限でプロビジョニングされるようにします。ユーザーにロールを正しく割り当てるには、MoEngage でロールを作成しておく必要があります。この属性マッピングにより、ユーザーは先ほど設定した Default ロールではなく、意図したアクセスレベルを受け取ることができます。

ステップ 6.1: プロファイル属性を設定する

情報MoEngage は、外部名前空間を介して渡される属性を優先します。複数の role 属性が設定されている場合、MoEngage は次の順序で解決します。
  • extension.role (urn:ietf:params:scim:schemas:extension:moengage:2.0:User.role): 2.0 名前空間で定義された属性 (最優先)。
  • standard role.role: role 名前空間で定義された属性。(このパラメーターは今後のリリースで非推奨になる予定です。
  • Default Role: SCIM でロールが渡されない場合、システムは MoEngage ワークスペースで設定されたデフォルトロールを使用します (ステップ 3)。
カスタムの role 属性を設定するには、次の手順を実行します。
  1. Okta Admin Console に移動します。
  2. 左側のナビゲーションメニューで、Directory > Profile Editor をクリックします。\
  3. Profile Editor ページで、一覧からアプリケーションを探すか、Search for people, apps, and groups ボックスを使用して一覧から適切なアプリケーションを検索して選択します。
  4. Attributes セクションで、+ Add Attribute をクリックします。 Add Attribute ダイアログボックスが表示されます。
  5. Add Attribute ダイアログボックスで、次の詳細を設定します。
    1. Data type リストで、string をクリックします。
    2. Display name ボックスに、role (例: MoEngage role) と入力します。
    3. Variable name ボックスに、role と入力します (クライアント側で任意の値を定義できます)。
    4. External name ボックスに、role と入力します (これはスキーマ内で渡される特定の名前です)。
    5. External namespace に、urn:ietf:params:scim:schemas:extension:moengage:2.0:User と入力します。
  6. 下にスクロールして、次の項目を設定します。
    1. Attribute required: Yes チェックボックスを選択して、Okta でのユーザー招待時にロールの指定を必須にします。
      注: これは Yes に設定する必要があります。ロールなしでメールアドレスが招待された場合、MoEngage が MoEngage ワークスペースからデフォルトロールを取得できるように、Attribute required が有効になっている必要があります。これにより、テスト時にデフォルトロールとカスタムロールの両方のシナリオが機能します。
    2. Attribute type:
      • 個別に割り当てる場合: Personal ラジオボタンを選択します。
      • グループで割り当てる場合 (一括更新): Group ラジオボタンを選択します。
  7. Save をクリックします。 これで、MoEngage の Role がアプリケーションの属性リストに追加されます。

ステップ 6.2: グループの作成とロールの更新

グループのロールを効果的に更新するには、次の手順を順番に実行します。

ステップ 6.2.1: グループを作成する

  1. Okta Admin Console に移動します。
  2. 左側のナビゲーションメニューで、DirectoryGroups をクリックします。
  3. Add group をクリックします。 Add group ダイアログボックスが表示されます。
    1. Name ボックスに、グループ名を入力します。
    2. Description ボックス (任意) に、説明を入力します。
  4. Save をクリックします。
  5. グループが作成されたら、そのグループをクリックし、ブラウザーの URL から Group ID をコピーします (これはマッピングロジックに必要な一意の識別子です)。

ステップ 6.2.2: ユーザーを割り当てる

  1. Groups ページで、Assign People をクリックします。
  2. このグループを通じて MoEngage ロールを更新または割り当てる必要がある各ユーザーの横にある + (プラス) アイコンをクリックします。

ステップ 6.2.3: Okta のユーザー属性を更新する

  1. Directory > Profile Editor に移動します。 Profile Editor ページでは、デフォルトで All フィルターが選択されています。
  2. Okta フィルターをクリックし、Okta User (default) プロファイルをクリックします。
  3. ページの最後までスクロールし、ステップ 6.1 で作成した role 属性が存在するかどうかを確認します。属性がない場合は、+ Add Attribute をクリックします。
  4. Add Attribute ダイアログボックスで、次の設定で role 属性を追加します。
    1. Data type リストで、string をクリックします。
    2. Display name ボックスに、role と入力します。
    3. Variable name ボックスに、role と入力します。
    4. Description (任意) ボックスに、ロールの説明を入力します。
    5. User permission セクションで、Read-Write ラジオボタンを選択します。
  5. Save をクリックします。

ステップ 6.2.4: アプリケーションの属性マッピングを更新する

  1. Profile Editor で、Apps フィルターをクリックしてアプリケーションを探します。
  2. Mappings をクリックします。
  3. Okta User to [Your Application Name] (例: Okta User to DC 03) タブを選択します。
  4. リストの一番下にある role 属性までスクロールします。
  5. expression ボックスに、Okta グループを MoEngage ロールにマッピングする次のロジックに従って role 属性を入力します (isMemberOfGroup(“group_id”) ? “Admin” : “User”)。
    1. group_id: ステップ 6.2.1 でコピーした ID を貼り付けます。
    2. Role: MoEngage ワークスペースで定義されている特定のロール名です。
  6. role 属性の詳細 (名前空間と外部名) が、ステップ 6.1 で定義した必須の値と一致していることを確認して貼り付けます。
  7. Save Mappings をクリックし、Apply updates をクリックします。

ステップ 7: グループをプッシュする

このオプションを使用すると、グループ全体を MoEngage に一括プッシュできます。これにより、MoEngage ワークスペースにグループの全メンバーが一度に作成されます。
  1. Push Groups タブをクリックします。
  2. + Push Groups > Find groups by name をクリックします。
  3. Push groups by name の Enter a group to push フィールドに、MoEngage ワークスペースに割り当てられたグループの名前を入力します。
  4. Push group memberships immediately チェックボックスが選択されていることを確認します。
  5. Save をクリックします。Okta は、すべてのメンバーを同期するバックグラウンドジョブを開始します。

ステップ 8: 最終的な強制同期

手動で強制同期を行うと、マッピングされたプロパティとロールが、割り当てられたすべてのユーザーに対して即座に更新されます。
  1. Provisioning タブをクリックし、左側のナビゲーションペインの Settings で To App をクリックします。
  2. Attribute Mappings セクションまで下にスクロールします。
  3. Force Sync をクリックします。 これによりグローバル同期が開始され、新しくマッピングされた属性データが即座にプッシュされ、グローバル属性が同期された状態になります。Force Sync は割り当てられたすべてのユーザーを対象とするため、Assignments タブで個々のユーザーを別途同期する必要はありません。

ステップ 9: 検証

MoEngage ワークスペース (Settings > Account > Team Management) で次の点を確認します。
  • ユーザーの招待: ユーザーが正常に招待され、ステータスが Joined になっていることを確認します。
    Userinvitation1
  • デフォルトロールの更新: Okta から特定のロールが渡されなかった場合に、ステップ 3 で設定したデフォルトロールがシステムによって正しく割り当てられていることを確認します。
  • ロールの正確性: Okta から送信された特定のロール (グループメンバーシップのロジックに基づく) が、ワークスペースで割り当てられたロールと一致していることを確認します。
    Userinvitation2

操作 (属性情報)

次の表は、SCIM 操作で使用される属性の詳細を示しています。この情報を使用して、ID プロバイダーと MoEngage 間のデータ交換を理解し、一貫性と適切な設定を確保してください。
これらの表は参考用として提供されています。

ユーザーの作成

SCIM を通じてユーザーを作成すると、ID プロバイダーは特定の属性セットを含むリクエストを MoEngage に送信します。次の表は、ユーザー作成リクエストに含めることができるパラメーターを定義しています。

ユーザーアクセスの更新または取り消し

ユーザーアクセスを更新または取り消すと、ID プロバイダーは MoEngage にリクエストを送信します。単一の API がこの処理を担い、ユーザー情報を更新するか、active 属性を変更してアクセスを取り消します。

FAQ

External namespace が role に設定され、Attribute required 設定が有効 (True に設定) になっていることを確認してください。
これは、ID プロバイダーがスキーマ内で 2 つの “role” 属性を渡す場合に発生します。MoEngage はデフォルト属性よりもカスタム属性の role を優先します。ID プロバイダーのログとスキーマを確認して競合を解決してください。両方の属性が必要な場合は、同一のロール値が含まれていることを確認してください。
グループ (ロール) が MoEngage で割り当てまたは作成される前に、ユーザーアカウントが MoEngage で作成されていることを確認してください。