本文へ

Microsoft Entra ID

Microsoft Entra ID と
つなぐ(SSO・SCIM)

Microsoft Entra ID にエンタープライズ アプリケーションを 1 つ作り、SSO(OpenID Connect)と、SCIM 2.0 の自動のプロビジョニングを設定します。

共通の値と、うまくいかないときの見る所は、会社の ID 基盤とつなぐのページにあります。画面の名前は、Microsoft のものを[](2026 年 10 月時点の公式の手順の日本語の表記)、Aiyori のものを「」で書いています。

要るもの

  • Microsoft Entra 管理センター(https://entra.microsoft.com)で、アプリケーション管理者以上の役割。
  • SSO(OpenID Connect)は、Entra ID の無料の範囲で使えます。
  • SCIM(自動のプロビジョニング)は、ギャラリーにないアプリなので、Entra ID P1 以上が要ります(Microsoft 365 E3・E5、Business Premium などに含まれます)。
  • Aiyori の組織の管理者が、講師の画面の「設定」→「会社の ID 基盤とつなぐ」を開けること。

1 つのアプリで、SSO と SCIM の両方を設定します。エンタープライズ アプリケーションを作ると、同じ名前の[アプリの登録]もできます。SSO はそちらで、SCIM はエンタープライズ アプリケーションの側で設定します。

1. アプリを作る

  1. Entra 管理センター →[Entra ID]→[エンタープライズ アプリケーション]→[+ 新しいアプリケーション]→[+ 独自のアプリケーションの作成]。
  2. 名前に Aiyori と入れ、[ギャラリーに見つからないその他のアプリケーションを統合します (ギャラリー以外)]を選んで[作成]。
  3. 作ったアプリの[プロパティ]で、[割り当てが必要ですか?]を[はい]にします(割り当てた人だけがログインできます)。マイ アプリにタイルを置くときは、[ホーム ページの URL]に https://app.aiyori.app/api/web/sso/start?code=(組織コード)を入れます。最後に[保存]。

2. SSO(OpenID Connect)

  1. [Entra ID]→[アプリの登録]→[すべてのアプリケーション]→ 1 で作った Aiyori を開きます。
  2. [概要]の[ディレクトリ (テナント) ID]と[アプリケーション (クライアント) ID]を控えます。
  3. [認証]→[+ プラットフォームを追加]→[Web]→ リダイレクト URI に https://app.aiyori.app/api/web/sso/callback を入れて[構成]。暗黙的な許可の 2 つのチェックは入れません(Aiyori は認可コードと PKCE を使います)。
  4. [証明書とシークレット]→[クライアント シークレット]→[+ 新しいクライアント シークレット]→ 説明は Aiyori、有効期限は 12 か月がおすすめ(最長 24 か月)→[追加]→[値]を控えます(この画面でしか見えません)。
  5. [トークン構成]→[+ オプションの要求を追加]→[ID]→ email にチェック →[追加]。Microsoft Graph の email のアクセス許可を有効にするかを聞かれたら、チェックして追加します。
  6. [API のアクセス許可]は、既定の User.Read のままでかまいません(Aiyori が求めるのは openid email profile だけで、管理者の同意は要りません)。
  7. Aiyori の講師の画面 →「設定」→「会社の ID 基盤とつなぐ」→「SSO」に下の表の値を入れて、「保存する」。
  8. エンタープライズ アプリケーション → Aiyori →[ユーザーとグループ]→[+ ユーザーまたはグループの追加]で、試す人を 1 人割り当てます。
  9. その人で、Aiyori のログイン画面 →「会社のアカウントでログイン」→ 組織コード → Microsoft のログイン → Aiyori に戻れば、つながっています。SCIM をまだつないでいないときは、その人を先に受講者として登録しておくか(会社のメールアドレスを入れる)、「まだ登録されていない人が来たら、受講者として登録する」を入れます。
  10. 全員が入れることを確かめてから、必要なら「暗証番号のログインを止めて、会社のアカウントだけにする」を入れます。
発行元の URL(Issuer)
https://login.microsoftonline.com/(ディレクトリ (テナント) ID)/v2.0
クライアント ID
アプリケーション (クライアント) ID
クライアントシークレット
4 で控えた[値]([シークレット ID]ではありません)
受け付けるメールアドレスのドメイン
会社のメールのドメイン(例 example.co.jp)。onmicrosoft.com の人も入れるなら、それも 1 行。トークンに email が無い人は UPN のドメインで確かめるので、UPN のドメインがメールと違うなら、それも入れます。

シークレットの期限が切れると、全員が会社のアカウントで入れなくなります。期限の前に新しいシークレットを作り、Aiyori の画面で入れ替えてください。IT 担当の予定に入れておくと安心です。

発行元の common・organizations・consumers と、末尾の /v2.0 の無い形は、保存のときに理由つきで断ります(どのテナントの人でも通ってしまうため)。テナント ID の代わりに contoso.onmicrosoft.com のようなテナントの名前を入れたときは、保存のときにテナント ID の形にそろえます。

UPN とメールアドレスが違う会社でも、SCIM で入れた人は UPN でも見つかるので、5 の email の追加は無くても動きます。SCIM を使わず、名簿のまとめて登録や自動の登録で入れるときは、5 で email を足してください(足さないと、UPN のアドレスで別の人として登録されます)。

3. SCIM(自動のプロビジョニング)

  1. Aiyori の「会社の ID 基盤とつなぐ」→「SCIM」で、「鍵の名前」に Entra ID と入れて「鍵を作る」→ 出てきた鍵を控えます(この画面でしか見えません)。
  2. エンタープライズ アプリケーション → Aiyori →[プロビジョニング]→[+ 新しい構成](古い画面では[作業の開始]→ プロビジョニング モードを[自動])。
  3. [管理者資格情報]で、認証方法は[ベアラー認証]、[テナントの URL]に https://app.aiyori.app/api/scim/v2、[シークレット トークン]に 1 の鍵を入れます。
  4. [テスト接続]→ 成功したら[作成](または[保存])。Entra ID は、いない人を 1 人探して、空の一覧が返るかを見ます。
  5. [属性マッピング]は、既定のままでかまいません(見る所は下の表)。
  6. [設定]で、範囲は[割り当てられたユーザーとグループのみを同期する](既定)のまま。同期が止まったときの通知メールに IT 担当のアドレスを入れ、誤削除の防止を入れます。
  7. [ユーザーとグループ]で、Aiyori に入れるグループ(部署・入社年次など)を割り当てます。
  8. [オンデマンドでプロビジョニング]で 1 人だけ送り、Aiyori の受講者の一覧に出ることを確かめます。
  9. [プロビジョニングの開始]。はじめの 1 回は人数に応じて時間がかかり、そのあとは約 40 分ごとに同期します。結果は[プロビジョニング ログ]で見られます。
属性(Aiyori)Entra ID の値(既定)Aiyori での使い方
userNameuserPrincipalName送られた UPN をそのまま持って返します(Entra ID が同じ人を探す鍵)。UPN とメールアドレスが違う会社でも、変えなくてかまいません。
emails[type eq "work"].valuemailAiyori で人を見分ける、会社のメールアドレスになります(SSO の email・名簿のまとめて登録と同じ値)。mail が空の人は UPN を使います。
activeIsSoftDeleted を使う Switch の式無効にした人・割り当てを外した人が、ログインできなくなります。
externalIdmailNicknameobjectId に変えてもかまいません(名前が変わっても変わりません)。
グループProvision Microsoft Entra ID Groups を有効部署などのグループが、Aiyori のグループになります。グループを使わないなら、無効にします。
部署・社員番号など(既定のまま)送られても使いません(消さなくてかまいません)。

4. つないだ日に確かめること

  • 割り当てた 1 人が、会社のアカウントで入れる。割り当てていない人は、Microsoft の画面で止まる(割り当てが必要にしてあるため)。
  • オンデマンドで送った人が Aiyori の受講者に出て、グループに入っている。
  • その人の割り当てを外して、もう一度オンデマンドで送ると、Aiyori で「会社の設定で停止中」になり、ログインできない。戻すと入れる。
  • シークレットの期限を、IT 担当の予定に入れた。

Entra ID の決まりごと

  • 発行元はテナントごとです。ID トークンの iss と tid(テナント ID)の両方が、登録したテナントと同じでなければ入れません(ほかの会社のテナントの人は通りません)。
  • Entra ID は email_verified を送りません。Aiyori は、発行元・テナント・受け付けるドメインで絞ったうえで、送られた email(無ければ UPN)を使います。
  • SCIM の PATCH の "op": "Replace"(大文字始まり。Add・Remove も)、文字列の "False"、path の無い PATCH も受け付けます。本文の形は application/scim+json です。
  • 人は filter=userName eq(UPN。大文字と小文字は問いません)でも externalId でも探せます。グループのメンバーの付け外し(members の Add・Remove)も受け付けます。
  • 同期は約 40 分ごとです。急ぐときは、オンデマンドで送ります。
  • SCIM の鍵に期限はありません。年に 1 回などで新しい鍵を作って Entra ID に入れなおし、古い鍵を Aiyori で「無効にする」にします。
  • Microsoft Entra SCIM Validator の項目のうち、削除した人を GET すると 404 になる、の 1 つだけは合わせていません。Aiyori は削除でも記録を消さず、停止にするためです。ふだんの同期は、割り当てを外すと active: false を送るので、差し支えありません。