フェデレーションされた Microsoft Entra ID 環境に Passport をデプロイする方法について説明します
注: Microsoft Entra ID は、Azure AD (Azure Active Directory) の新しい名前です。
フェデレーション Microsoft Entra ID 環境で Passport を使用する場合は、PowerShell を使用して Entra ID で ホーム領域検出 (HRD) ポリシーを作成する必要があります。HRD ポリシーにより、Entra ID が外部 ID プロバイダー (IdP) とフェデレーションされたサービス プロバイダー (SP) として機能する フェデレーション環境に Passport をデプロイする際、ユーザーを認証するための信頼できる情報源として Entra ID を使用できます。
始める前に
確認事項:
有効なサブスクリプションを持つ Azure アカウントをお持ちであること。まだアカウントをお持ちでない場合は、 こちらから無料でアカウントを作成できます。
以下のいずれかの役割を持つ Azure ユーザーにアクセスできること:グローバル管理者、クラウド アプリケーション管理者、アプリケーション管理者、またはサービスプリンシパル オーナー。
最新の Azure AD PowerShell コマンドレットプレビュー がインストールされた Windows または Windows Server マシン (仮想でも可) をお持ちであること。
ユーザーおよびユーザーのパスワードが、フェデレーション ID プロバイダーによって既に同期されていること。
Azure AD と Active Directory のハイブリッド環境において、Azure AD と Active Directory 間でパスワード ハッシュ同期が Microsoft Entra Connect Sync を使用して有効になっていること。
クラウド IdP シナリオでは、フェデレーション IdP からユーザー名とパスワードが両方同期されていることを確認してください。
このサポート記事の指示に従って、Entra ID に Kandji Passport エンタープライズ アプリを作成済みであること。
この サポート記事を使用して、Kandji で Passport ライブラリアイテムを作成済みであること。
フェデレーション環境での認証フロー
次の図は、Entra ID が別の ID プロバイダー (IdP) とフェデレーションされたサービスプロバイダー (SP) として機能する場合の Passport 認証フローを示しています。
ユーザーが Passport を使用して認証を試みると、リクエストは次のようになります。
Passport は、認証要求を Azure AD に送信します。
Azure AD は、認証要求をフェデレーション IdP に転送します。
認証要求は IdP によって検証され、Azure AD に返送されます。
Azure AD は検証を受け取りますが、それを Passport に転送する理由がないため、その時点でユーザーの認証試行は失敗し、エラーが Passport に返されます。
HRDが設定された認証フロー
次の図は、Azure AD Home Realm Discovery ポリシーを使用した Passport 認証フローを示しています。 ユーザーが Passport を使用して認証を試みると、要求は次のようになります。
Passport は、認証要求を Azure AD に送信します。
Entra ID は、HRD ポリシーを使用して認証要求を検証し、成功したユーザー認証応答で Passport に応答します。
HRD ポリシーの作成
Windowsコンピューターに移動します。
管理者として PowerShell を開きます。
コマンド Connect-AzureAD を使用して Enra ID テナントに接続します。Web ビューが開き、Entra ID 資格情報を入力するように求められます。
次のコマンドで新しいポリシーを作成します。このポリシーにより、フェデレーション環境内でユーザーが Entra ID を使用して特定のアプリケーションに、ユーザー名とパスワードを使って直接認証できるようになります。既存の HRD ポリシーが環境内にある場合は、 DisplayName を KandjiHRDPolicy などに設定できます。
New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName KandjiHRDPolicy -Type HomeRealmDiscoveryPolicy
コマンド Get-AzureADPolicy を実行して、作成したポリシーを一覧表示し、出力の ID 列に表示されている ObjectID 文字列をコピーします。
コマンド Get-AzureADServicePrincipal を実行して、サービスプリンシパル (Azure エンタープライズ アプリケーション) ObjectID を取得します。
エンタープライズアプリケーションの名前がわかっている場合は、上記のコマンドに -SearchString your_app_name_here を追加できます。例: Get-AzureADServicePrincipal -SearchString "Kandji Passport"
次のコマンドを実行して、Kandji Passport Enterprise アプリケーションを HRD ポリシーに追加します。 <ObjectID of the Service Principal> を、前にコピーした Kandji Enterprise App ObjectIDに置き換えます。 <ObjectId of the Policy> を、前にコピーしたHDR ObjectIDに置き換えます。
Add-AzureADServicePrincipalPolicy -Id <ObjectID of the Service Principal> -RefObjectId <ObjectId of the Policy>
正しいポリシーを作成しなかった場合、次のコマンドを使用してポリシーを削除し、再試行できます。
Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal> -PolicyId <ObjectId of the policy>
Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy> で割り当てられたアプリを確認します。
PowerShell セッションを Azure から切断するには、コマンド Disconnect-AzureAD を使用します。