7. ADFSを使用している環境でID/パスワード入力による認証の要求機能を利用する場合の作業
SmartRoomsの「ID/パスワード入力による認証の要求」は、各端末から「予約の登録」「今すぐ利用」「予約の中止」などの操作の際、Exchangeのメールアドレスとパスワードの入力を求める機能です。認証に成功すると各操作が実行できます。
ADFSを使用している環境の場合、本手順の実行が必要です。
SmartRoomsの「ID/パスワード入力による認証の要求」機能の詳細については、Exchange連携版 管理マニュアルをご参照ください。
重要
ADFSを利用している場合、SmartRoomsの「ID/パスワード入力による認証の要求」を利用するにはオンプレミスのActive DirectoryとMicrosoft Entraの間でユーザーのパスワードのハッシュを同期する必要があります。
同期を有効にする方法は、Microsoftで公開している以下のリンクからご確認ください。
7.1. Microsoft Graph APIへの接続
PowerShellで以下の手順を実行します。
=手順=
- PowerShell実行ポリシーを変更します。
「 PowerShell実行ポリシーの変更 」を参照してください。
- Microsoft Graph APIに接続します。
「 Microsoft Graph APIへの接続 」を参照してください。
7.2. ADFSを利用している環境でID/パスワード入力による認証の要求機能を使えるようにする
Microsoft Graph APIへの接続後、以下のコマンドを実行します。
=手順=
- ユーザー名とパスワードを使用してフェデレーションユーザーを直接認証できるポリシーを作成し、IDを取得します。
以下のコマンドを実行します(ポリシー名は任意の値)。
$params1 = @{Definition = @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}"); DisplayName = "ポリシー名"} $policy = New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params1
- 「 アプリケーションの登録 」で登録したアプリケーションIDを取得します。
以下のコマンドを実行します。
Get-MgServicePrincipal -All -Filter "(displayName eq 'アプリケーションの表示名') or (startswith(displayName,'アプリケーションの表示名'))"
- 「 アプリケーションの登録 」で登録したアプリケーションに対して、手順1で作成したポリシーを付与します。
以下のコマンドを実行します。
$params2 = @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/$($policy.id)"} New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId "手順2で取得したID" -BodyParameter $params2
- ポリシーが正しく付与されているか確認します。
以下のコマンドを実行します。
$results = (Invoke-MgGraphRequest -Method GET -Uri https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/$($policy.id)/appliesTo).value $results[0].id
→出力されたIDに、手順2で取得したアプリケーションIDが含まれているか確認します。
- Microsoft Graph APIへの接続を切断します。
以下のコマンドを実行します。
Disconnect-MgGraph
=例=
- ユーザー名とパスワードを使用してフェデレーションユーザーを直接認証できるポリシーを作成し、IDを取得します。
- 以下のコマンドを実行します。※ポリシー名はここでは「example1234」とします
$params1 = @{Definition = @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}"); DisplayName = "example1234"} $policy = New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params1
- 「 アプリケーションの登録 」で登録したアプリケーションIDを取得します。
- 以下のコマンドを実行します。※アプリケーション名はここでは「SmartRoomsOAuth2.0」とします。
Get-MgServicePrincipal -All -Filter "(displayName eq 'SmartRoomsOAuth2.0') or (startswith(displayName,'SmartRoomsOAuth2.0'))"
- 「 アプリケーションの登録 」で登録したアプリケーションに対して、手順1で作成したポリシーを付与します。
- 以下のコマンドを実行します。※手順2で取得したIDを「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX」とします。
$params2 = @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/$($policy.id)"} New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -BodyParameter $params2
- ポリシーが正しく付与されているか確認します。
以下のコマンドを実行します。
$results = (Invoke-MgGraphRequest -Method GET -Uri https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/$($policy.id)/appliesTo).value $results[0].id
→出力されたIDに、手順2で取得したID「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX」が含まれているか確認します。
- Microsoft Graph APIへの接続を切断します。
以下のコマンドを実行します。
Disconnect-MgGraph