コンテンツにスキップ

Microsoft Entra ID(SCIM)による PIO-ID ユーザー/グループ同期

文書更新日:2026-02-26

1. 目的と概要

本マニュアルは、Microsoft Entra ID(旧 Azure Active Directory)の SCIM プロビジョニング機能 を利用して、PIO-ID にユーザーおよびグループを自動同期するための設定手順書です。

本書は以下の利用者を想定しています。

  • Microsoft Entra ID 管理者
  • SIer / 販売店経由で PIO-ID を導入するエンドユーザー管理者

※ 運用ポリシーや障害対応フローは本書には含めません。


2. 前提条件

この手順を実施する前に、以下を確認してください。

必要な権限・準備

  • Microsoft Entra ID(Microsoft Entra テナント)が利用可能であること
  • Microsoft Entra ID にて、エンタープライズ アプリケーションの作成およびプロビジョニング設定ができる権限を有していること
  • PIO-ID テクニカルサポートへ連絡できること(シークレット トークン発行のため)
  • PIO-ID のアカウント番号、Microsoft Entra ID のテナント ID を確認できること

UPN の運用(重要)

PIO-ID では、Microsoft Entra ID のユーザー プリンシパル名(UPN)を元にユーザーを識別します(PIO-ID 側のユーザー名は UPN の@より前の部分が利用されます)。

  • 同期対象ユーザーの UPN の@より前の部分が、テナント内で重複していないこと

    例:user1@a.exampleuser1@b.example は重複扱い

  • 同期開始後に、同期対象ユーザーの UPN を変更しない運用にできること

Warning

上記が満たせない場合、SCIM 連携が正常に動作しない(または意図しないユーザーに紐づく)可能性があります。

ユーザー属性の前提(SCIM)

SCIM で PIO-ID のユーザーを作成・更新するため、以下の属性が Microsoft Entra ID 側で設定されていることを事前に確認してください。未設定(空値)の場合、対象ユーザーのプロビジョニングは失敗します。

PIO-ID の必須項目 SCIM 属性 Microsoft Entra ID 属性(デフォルト)
ユーザー名 userName userPrincipalName@ より前の部分を利用)
name.givenName givenName
name.familyName surname
メールアドレス emails[type eq "work"].value mail

対応エディション(Microsoft Entra ID)

PIO-ID の SCIM 連携機能は、以下の Microsoft Entra ID エディションを前提として設計・検証されています。

  • Microsoft Entra ID P1
  • Microsoft Entra ID P2
  • Microsoft Entra ID Governance
  • Microsoft Entra Suite(P1 / P2 機能を含む)

Microsoft Entra ID Free については、グループ プロビジョニングが利用できないため、本書の前提(ユーザー/グループ同期)を満たしません。ユーザー プロビジョニングは可能な場合がありますが、PIO-ID では Free エディションでの検証を行っていないため推奨しません(検証予定)。

参考(Microsoft Learn)


3. 全体構成(参考)

Microsoft Entra ID(SCIM クライアント)
        |
        |  SCIM 2.0 (HTTPS)
        v
PIO-ID SCIM エンドポイント
        |
        v
PIO-ID ユーザー/グループ管理

4. PIO-ID 側の設定(SCIM エンドポイント用のシークレット トークン発行)

PIO-ID の SCIM 連携は、必要なパラメータを PIO-ID 側へ提示いただき、PIO-ID 側で SCIM エンドポイント用のシークレット トークンを発行します。

4.1 PIO-ID テクニカルサポートへ提供する情報

以下の情報を PIO-ID テクニカルサポートへ提供してください。

  • PIO-ID のアカウント番号
  • Microsoft Entra ID のテナント ID

4.2 PIO-ID から提供される情報

PIO-ID から、以下の情報が提供されます(Microsoft Entra ID 側の設定で利用します)。

  • シークレット トークン

SCIM エンドポイントURL(環境別)

  • PoC環境:https://scim-02-0001.poc.singleid.jp/scim/v2
  • 本番環境:https://scim-00-0001.service.singleid.jp/scim/v2

Warning

シークレット トークンを再発行した場合、既存のシークレット トークンは利用できなくなります。運用中に再発行する際は、Microsoft Entra ID 側の設定も更新してください。


5. Microsoft Entra ID 側の設定

5.1 エンタープライズ アプリケーションの作成

  1. Azureポータルへ管理者でログインします。
  2. Microsoft Entra ID管理画面に移動します。(画面上部の検索ボックスに「entra」と入力し、表示されたMicrosoft Entra IDをクリックします。)
  3. サイドメニューからエンタープライズ アプリケーションをクリックします。
  4. 新しいアプリケーションボタンをクリックします。
  5. 独自のアプリケーションの作成ボタンをクリックします。
  6. アプリ名を入力します(例:PIO-ID SCIM)。
  7. ギャラリーに見つからないその他のアプリケーションを統合します (ギャラリー以外)を選択します。
  8. 作成ボタンをクリックします。

5.2 プロパティの設定

  1. 作成したアプリケーションを開きます。
  2. サイドメニューからプロパティをクリックします。
  3. 以下を設定し、保存をクリックします。

    項目 設定値
    ユーザーのサインインが有効になっていますか? いいえ
    割り当てが必要ですか? はい
    ユーザーに表示しますか? いいえ

    Info

    • 本アプリは SCIM 同期用途のため、エンドユーザーのサインインや表示は不要です。
    • 同期対象をアプリに割り当てたユーザー/グループに限定するため、割り当てが必要はいのままにします。

5.3 プロビジョニングの有効化

  1. サイドメニューからプロビジョニングをクリックします。
  2. 新しい構成ボタンをクリックします。
  3. 新しいプロビジョニング構成画面で、以下を設定します。

    項目 設定値
    認証方法の選択 ベアラー認証を選択します。
    テナントのURL 本書記載の SCIM エンドポイントURLを設定します。
    シークレット トークン PIO-ID から提供された シークレット トークンを設定します。
  4. テスト接続ボタンをクリックし、接続テストが成功することを確認します。

  5. 作成ボタンをクリックします。
  6. 作成完了後、アプリの概要(プレビュー)画面が表示されます。
  7. 画面上部にプロビジョニングの開始ボタンが表示されていることを確認します。

Info

プロビジョニングの開始は、属性マッピングとユーザー/グループの割り当てが完了してから実行してください。


6. 属性マッピング

6.1 ユーザー属性マッピング(Users)

マッピングは、サイドメニューの属性マッピング(プレビュー)から設定します。

  1. サイドメニューから属性マッピング(プレビュー)をクリックします。
  2. 一覧から Provision Microsoft Entra ID Users をクリックします。Microsoft Entra ID のユーザー属性を PIO-ID の SCIM ユーザー属性にマッピングします。PIO-ID 連携では、基本的にデフォルトのマッピングのままで動作します。以下はデフォルトのマッピング例です。
customappsso 属性 Microsoft Entra ID 属性
userName userPrincipalName
active Switch([IsSoftDeleted], , "False", "True", "True", "False")
displayName displayName
title jobTitle
emails[type eq "work"].value mail
preferredLanguage preferredLanguage
name.givenName givenName
name.familyName surname
name.formatted Join(" ", [givenName], [surname])
addresses[type eq "work"].formatted physicalDeliveryOfficeName
addresses[type eq "work"].streetAddress streetAddress
addresses[type eq "work"].locality city
addresses[type eq "work"].region state
addresses[type eq "work"].postalCode postalCode
addresses[type eq "work"].country country
phoneNumbers[type eq "work"].value telephoneNumber
phoneNumbers[type eq "mobile"].value mobile
phoneNumbers[type eq "fax"].value facsimileTelephoneNumber
externalId mailNickname
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber employeeId
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department department
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager manager

6.2 グループ属性マッピング(Groups)

  1. サイドメニューから属性マッピング(プレビュー)をクリックします。
  2. 一覧から Provision Microsoft Entra ID Groups をクリックします。Microsoft Entra ID のグループ属性を PIO-ID の SCIM グループ属性にマッピングします。PIO-ID 連携では、基本的にデフォルトのマッピングのままで動作します。以下はデフォルトのマッピング例です。

    customappsso 属性 Microsoft Entra ID 属性
    displayName displayName
    externalId objectId
    members members

Warning

  • Microsoft Entra ID の SCIM では、グループの入れ子(グループのメンバーに別グループが含まれる状態)は展開されません
  • PIO-ID に同期されるのは、割り当てたグループの直下のメンバー(直接メンバー)のみです。

7. アプリケーションへの割り当て

7.1 ユーザー/グループの割り当て

  1. サイドメニューからユーザーとグループをクリックします。
  2. ユーザーまたはグループの追加ボタンをクリックします。
  3. 同期したい ユーザーまたはグループ を選択します。
  4. 割り当てボタンをクリックします。

Note

割り当てられていないユーザー/グループは SCIM 同期されません。

Warning

グループを含むグループ(入れ子になっているグループ)を割り当て対象に選択しないでください。PIO-ID に同期されるのは、割り当てたグループの直下のメンバー(直接メンバー)のみです。グループを割り当てる場合は、メンバーがユーザーのみのグループを選択してください。


7.2 プロビジョニングの開始

属性マッピングとユーザー/グループの割り当てが完了したら、プロビジョニングを開始します。

  1. サイドメニューから概要(プレビュー)をクリックします。
  2. 画面上部のプロビジョニングの開始ボタンをクリックします。
  3. 画面上部の表示がプロビジョニングを一時停止に切り替わることを確認します。

8. プロビジョニング動作仕様

この章では、同期の動作(どの項目が同期されるか/どの操作が反映されるか)を説明します。

8.0 PIO-IDへ同期されるユーザー項目

PIO-ID に同期される主なユーザー項目は以下です。

  • ユーザー名:Microsoft Entra ID のユーザー プリンシパル名(UPN)@より前の部分
  • 名:givenName
  • 姓:surname
  • メールアドレス:mail
  • 携帯電話:mobile
  • 勤務先の電話番号:telephoneNumber
  • 郵便番号:postalCode
  • 都道府県:state
  • 市区町村:city
  • 番地:streetAddress
  • 部署:department
  • 役職:jobTitle
  • アカウントの有効/無効:active

8.1 同期のキー(重要)

PIO-ID では、Microsoft Entra ID から同期されるユーザーを ユーザー プリンシパル名(UPN) を元に識別します。PIO-ID 側のユーザー名は、UPN の @ より前の部分が利用されます。

Warning

UPN の @ より前の部分が同じユーザーが複数いると、意図しないユーザーに紐づく可能性があります。UPN の運用ルール(重複しないこと)を確認してください。

Warning

UPN を変更すると、PIO-ID 側のユーザー名と一致しなくなり不整合が発生します。運用上、同期対象ユーザーの UPN は変更しないでください。

8.2 同期される操作

Microsoft Entra ID 操作 PIO-ID 側の動作
ユーザー追加 ユーザー作成
ユーザー属性変更 ユーザー更新
ユーザー割当解除 / ユーザー無効化 / ユーザー論理削除 ユーザー無効化
ユーザー物理削除 ユーザー削除
グループ作成 グループ作成
メンバー追加/削除 グループメンバー更新

8.3 同期タイミング

  • 初回同期:プロビジョニング有効化後に自動実行
  • 定期同期/反映タイミング:Microsoft Entra ID 側の仕様に従います(最新情報は Microsoft の公式ドキュメントを参照してください)

参考:Microsoft Entra ID のプロビジョニングに関する公式ドキュメント


9. レート制限と処理遅延について(重要)

9.1 PIO-ID の基本方針

PIO-ID の SCIM 実装では、以下の方針を採用しています。

  • HTTP 429(Too Many Requests)は返しません
  • キューイング処理は行いません
  • リクエストが集中した場合は、内部で 処理を遅延 させることで処理速度を自動的に調整 します

この設計により、Microsoft Entra ID 側の SCIM クライアントがレート制限応答を解釈できない場合でも、 プロビジョニングジョブがエラーや隔離(Quarantine)状態になることを防ぎます。


9.2 一時的な障害時の挙動

状態 PIO-ID の対応
一時的な高負荷 内部リトライ/遅延処理
上流 API 障害 503 / 504 を返却
致命的エラー 500 を返却

10. トラブルシューティング(設定時)

10.1 よくある設定ミス

事象 原因 確認ポイント
ユーザーが同期されない 割り当て漏れ アプリにユーザー/グループが割り当てられているか
ユーザー作成/更新が失敗する PIO-ID 必須項目が未設定 userPrincipalName / givenName / surname / mail の値とマッピングを確認
メールが反映されない 属性マッピング不備 mail → emails[type=work] が設定されているか
グループメンバーが欠落 ネストグループ 直接メンバーのみが割り当てられているか

11. 初回セットアップ時の推奨手順

  • 最初は 少数ユーザー(1〜2名)で接続テスト を行う
  • 問題がなければ、段階的にグループ割り当てを追加する
  • 大規模同期を行う前に、属性マッピング画面を必ず確認する