> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# フェデレーションされた Entra ID 環境での Passport

> Iru Endpoint で、フェデレーションされた Microsoft Entra ID 環境で Passport を使用します。AD FS およびサードパーティのフェデレーションサービス向けに認証フローを設定します。

<Callout icon="apple" color="#B84A7A" iconType="regular">このガイドは Mac コンピュータに適用されます</Callout>

<Note>
  Microsoft Entra ID は Azure AD（Azure Active Directory）の[新しい名称](https://learn.microsoft.com/en-us/entra/fundamentals/new-name)です
</Note>

### フェデレーションされた Microsoft Entra ID 環境での Passport について

フェデレーションされた Microsoft Entra ID 環境での Passport は、Entra ID が外部の ID プロバイダのサービスプロバイダ（SP）である場合に該当します。認証とパスワードの検証が Entra ID に対して正しく完了するよう、**Macログイン** と **Webログイン** のどちらにも追加の設定が必要です。

<Card title="Entra ID Passport に関する重要な更新" type="danger" icon="calendar-exclamation" iconType="solid">
  **2026 年 6 月 15 日**以降、Microsoft Entra ID では Passport サインインの条件付きアクセスの処理方法が変わります。

  * **Macログイン:** テナントが影響を受けるかどうか、およびその日付までに何を更新する必要があるかを確認するには、[Entra ID Passport Macログイン](/ja/endpoint/library/passport/microsoft-entra-id/configure-passport-with-microsoft-entra-id-mac-login#june-2026-conditional-access-change) を参照してください。
  * **Webログイン:** 更新が必要なのは、Webログイン を使用していて、条件付きアクセスで Passport を MFA の対象外にしたい場合のみです。[Entra ID Passport Webログイン](/ja/endpoint/library/passport/microsoft-entra-id/configure-passport-with-microsoft-entra-id-web-login#june-2026-conditional-access-change) を参照してください。

  Microsoft は[こちらのドキュメント](https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-enforcement-resource-exclusions)でこの変更について説明しています。
</Card>

### 仕組み

ユーザーが別の IdP を通じてフェデレーションする場合でも、Passport は引き続き Entra ID を OIDC 機関として使用します。**Macログイン** と **Webログイン** では、[フェデレーション環境](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/whatis-fed)でパスワードの検証が Entra ID に対して完了できるよう、PowerShell を使用して Entra ID に[ホームレルム検出（HRD）](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-authentication-for-federated-users-portal?pivots=powershell-hrd)ポリシーを作成します。

### 前提条件

HRD ポリシーを作成する前に、以下のすべてを確認してください。この記事は、フェデレーションされたテナントで **Macログイン** または **Webログイン** に Entra ID を使用して Passport を使用する場合に適用されます。

<CardGroup cols={2}>
  <Card title="Azure と Microsoft Entra ID" icon="cloud">
    * 有効な [Azure サブスクリプション](https://azure.microsoft.com/free/)（必要に応じて無料アカウントを作成してください）。
    * ディレクトリのアプリとポリシーを管理できるユーザー: **Global Administrator**、**Cloud Application Administrator**、**Application Administrator**、または**サービスプリンシパルの所有者**。
  </Card>

  <Card title="Windows と PowerShell" icon="terminal">
    * 管理者として **PowerShell** を開ける Windows または Windows Server コンピュータ（物理または VM）。
    * 最新の[プレビュービルド](https://learn.microsoft.com/en-us/powershell/azure/active-directory/install-adv2?view=azureadps-2.0#updating-the-azure-ad-module)の [AzureADPreview](https://learn.microsoft.com/en-us/powershell/azure/active-directory/install-adv2?view=azureadps-2.0#installing-the-azure-ad-module) がインストールされていること。GA モジュールとプレビューモジュールを並行して実行することはできません。両方が存在する場合は、まず [AzureAD モジュールをアンインストール](https://learn.microsoft.com/en-us/powershell/azure/uninstall-az-ps)してください。
  </Card>

  <Card title="Passport 用の ID 同期" icon="users">
    * Passport でサインインするユーザーは、サインイン経路をサポートする形で Entra ID に存在している必要があります。
    * **ハイブリッド Active Directory:** 該当する場合は、**パスワードハッシュ同期**を使用した [Microsoft Entra Connect](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-password-hash-synchronization) を使用します。
    * **クラウドのフェデレーション IdP:** フェデレーション IdP のユーザー名とパスワードが、ROPC 形式のサインインで想定どおりに Entra ID に届くことを確認します。
  </Card>

  <Card title="Passport の導入済み" icon="apple">
    * 使用する認証モードに応じて、[Microsoft Entra ID での Passport の設定 - Macログイン](/ja/endpoint/library/passport/microsoft-entra-id/configure-passport-with-microsoft-entra-id-mac-login) または [Microsoft Entra ID での Passport の設定 - Webログイン](/ja/endpoint/library/passport/microsoft-entra-id/configure-passport-with-microsoft-entra-id-web-login)（またはその両方）に従って作成した、Passport 用の Entra ID のアプリの登録（エンタープライズアプリケーション）。
    * その Passport の導入について、Iru Endpoint で [Passport Library Item の設定](/ja/endpoint/library/passport/configure-the-passport-library-item)が完了していること。
  </Card>
</CardGroup>

### フェデレーション環境での認証フロー

以下の図は、Entra ID が別の ID プロバイダ（IdP）とフェデレーションされたサービスプロバイダ（SP）として機能する場合の Passport の認証フローを示しています。

<Frame>
  <img src="https://mintcdn.com/iru/4wJJk-urrjfBXzBY/assets/media/images/iru-entra-passport-auth-flow.png?fit=max&auto=format&n=4wJJk-urrjfBXzBY&q=85&s=a45eec5033d59bf210eb07861a2cfc53" alt="Entra ID が別の ID プロバイダとフェデレーションされている場合の Passport の認証フロー" width="715" height="487" data-path="assets/media/images/iru-entra-passport-auth-flow.png" />
</Frame>

ユーザーが Passport を使用して認証しようとすると、リクエストは次のようになります。

<Steps>
  <Step title="Passport が認証リクエストを送信する">
    Passport が Microsoft Entra ID に認証リクエストを送信します。
  </Step>

  <Step title="Microsoft Entra ID がリクエストを転送する">
    Microsoft Entra ID が認証リクエストをフェデレーション IdP に転送します。
  </Step>

  <Step title="IdP がリクエストを検証する">
    IdP が認証リクエストを検証し、Microsoft Entra ID に送り返します。
  </Step>

  <Step title="認証が失敗する">
    Microsoft Entra ID は検証結果を受け取りますが、それを Passport に転送する理由がありません。認証の試行は失敗し、Passport にエラーが表示されます。
  </Step>
</Steps>

### HRD が設定されている場合の認証フロー

以下の図は、Microsoft Entra ID にホームレルム検出ポリシーがある場合の Passport の認証フローを示しています。ユーザーが Passport を使用して認証しようとすると、リクエストは次のようになります。

<Frame>
  <img src="https://mintcdn.com/iru/4wJJk-urrjfBXzBY/assets/media/images/iru-entra-passport-auth-flow-hrd.png?fit=max&auto=format&n=4wJJk-urrjfBXzBY&q=85&s=554569a83d36ae3659518d0a1739c8ec" alt="ホームレルム検出ポリシーがある場合の Passport の認証フロー" width="257" height="410" data-path="assets/media/images/iru-entra-passport-auth-flow-hrd.png" />
</Frame>

<Steps>
  <Step title="Passport が認証リクエストを送信する">
    Passport が Microsoft Entra ID に認証リクエストを送信します。
  </Step>

  <Step title="Entra ID が HRD ポリシーで検証する">
    Entra ID は HRD ポリシーを使用して認証リクエストを検証し、ユーザー認証の成功応答を Passport に返します。
  </Step>
</Steps>

### HRD ポリシーを作成する

<Note>
  Microsoft Entra ID で Passport を使用し、テナントが外部の IdP とフェデレーションされている場合は、HRD ポリシーが必要です。この要件は **Macログイン** と **Webログイン** の両方に適用されます。
</Note>

<Steps>
  <Step title="Windows コンピュータにアクセスする">
    Windows コンピュータに移動します。
  </Step>

  <Step title="管理者として PowerShell を開く">
    管理者として PowerShell を開きます。
  </Step>

  <Step title="Entra ID に接続する">
    **Connect-AzureAD** コマンドで Entra ID テナントに接続します。Web ビューが開き、Entra ID の資格情報の入力を求められます。
  </Step>

  <Step title="HRD ポリシーを作成する">
    以下のコマンドで新しいポリシーを作成します。これにより、フェデレーション環境で、ユーザーはユーザー名とパスワードを使用して特定のアプリケーションに Entra ID で直接認証できるようになります。環境に既存の HRD ポリシーがある場合は、*DisplayName* を **IruHRDPolicy** などに設定できます。

    ```powershell wrap lines icon="terminal" theme={null}
    New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName IruHRDPolicy -Type HomeRealmDiscoveryPolicy
    ```
  </Step>

  <Step title="ポリシーの ObjectID を取得する">
    **Get-AzureADPolicy** コマンドを実行して作成したポリシーを一覧表示し、出力の ID 列に表示される *ObjectID* の文字列をコピーします。
  </Step>

  <Step title="サービスプリンシパルの ObjectID を取得する">
    **Get-AzureADServicePrincipal** コマンドを実行して、サービスプリンシパル（Azure エンタープライズアプリケーション）の **ObjectID** を取得します。

    <Note>
      エンタープライズアプリケーションの名前がわかっている場合は、上記のコマンドに **-SearchString your\_app\_name\_here** を追加できます。例: **Get-AzureADServicePrincipal -SearchString "Iru Passport"**
    </Note>
  </Step>

  <Step title="HRD ポリシーにアプリケーションを追加する">
    次のコマンドを実行して、Iru Passport エンタープライズアプリケーションを HRD ポリシーに追加します。*\<ObjectID of the Service Principal>* を先ほどコピーした Iru エンタープライズアプリの *ObjectID* に置き換えます。*\<ObjectId of the Policy>* を先ほどコピーした HRD の *ObjectID* に置き換えます。

    ```powershell wrap lines icon="terminal" theme={null}
    Add-AzureADServicePrincipalPolicy -Id <ObjectID of the Service Principal> -RefObjectId <ObjectId of the Policy>
    ```

    <Note>
      正しいポリシーを作成しなかった場合は、以下のコマンドを使用してポリシーを削除し、再試行できます。
    </Note>

    ```powershell wrap lines icon="terminal" theme={null}
    Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal> -PolicyId <ObjectId of the policy>
    ```
  </Step>

  <Step title="ポリシーの割り当てを確認する">
    **Get-AzureADPolicyAppliedObject -id \<ObjectId of the Policy>** で、割り当てられたアプリを確認します。
  </Step>

  <Step title="Azure から切断する">
    PowerShell セッションを Azure から切断するには、**Disconnect-AzureAD** を実行します。
  </Step>
</Steps>
