Okta Credential Provider for Windowsのインストール

サポートされているインストール方法(標準、サイレント、マスデプロイメント)のいずれかを使用してプロバイダーをインストールします。

標準インストール

  1. インストーラーをダウンロードした場所に移動します。
  2. .zipアーカイブからファイルを展開します。
  3. setup.exeを管理者として実行し、プロンプトに従います。必要に応じてMicrosoft Visual C++ランタイムライブラリをインストールまたは修復します。
  4. [App Configuration(アプリの設定)]ダイアログで、クライアントID、クライアントシークレット、Okta URLを入力します。情報を入力したら、[Next(次へ)]をクリックします。

    これらの値はOkta のMicrosoft RDP(MFA)アプリから取得できます。[General(一般)]タブを選択し、 [Client Credentials(クライアントの資格情報)] セクションにスクロールして、クライアントIDとクライアントシークレットを見つけます。Okta URLは、orgがOktaへのアクセスに使用するURLです(https://<yourorg>.okta.comなど)。

  5. [Next(次へ)][Close(閉じる)]をクリックして、インストールを完了します。
  6. 2番目に開いた[App Configuration(アプリの構成)]ダイアログで、次のオプションから選択します。
    • [Filter Credential Provider(資格情報プロバイダーをフィルター)]:このオプションは、サーバーに複数の資格情報プロバイダーがインストールされている場合の回避策を提供します。選択した場合、Okta MFA Credential ProviderがRDP接続にMFAを適用するために使用される唯一の方法になります。認証されていないユーザーは、使用する資格情報プロバイダーを選択できなくなります。
    • [RDP Only(RDPのみ)]:デフォルトでは、インストールされている資格情報プロバイダーにより、RDPとローカル認証の両方のイベントの間にOktaのMFAが挿入されます。このオプションを選択すると、ローカル(対話型)ログオンに対するOktaのMFAが削除されます。
    • (EAバージョンのみ)[Display Okta password reset link (self service)(Oktaパスワードリセット用リンクを表示(セルフサービス)]:このオプションを選択すると、エンドユーザーがOktaを介してパスワードをリセットできるようにするオプションがWindowsサインオン画面に追加されます。
  7. マシンをロックしてインストールを確認します。正常にインストールされると、サインイン画面にOktaがサインインオプションとして表示されます。

    サインイン画面の外観はWindows Serverのバージョンによって異なります。

サイレントインストール

  1. インストーラーをダウンロードした場所に移動します。
  2. .zipアーカイブからファイルを展開します。

  3. Windowsサーバーで、解凍したアーカイブのvcredist_x64フォルダーから次のコマンドを実行します。

    vcredist_x64.exe /install /quiet /norestart

  4. 次のコマンドを実行して、Okta Windows Credential Providerをサイレントインストールします。

    msiexec /qb /log log.txt /i OktaWindowsCredentialProvider.msi CLIENT_ID="cid" CLIENT_SECRET="cs" OKTA_URL="https://a.b.c"

    各パラメーターの値は、次の方法で検索できます。

    • CLIENT_ID:OktaのMicrosoft RDP(MFA)アプリケーションの[General(一般)]タブでこの値を検索します。RDPエージェントの構成ファイルでこの値を手動で編集することもできます。

    • CLIENT_SECRET:OktaのMicrosoft RDP(MFA)アプリケーションの[General(一般)]タブでこの値を検索します。クライアントシークレットをリセットしたら、エージェントを再インストールする必要があります。シークレットはエージェントの構成ファイルで暗号化されているためです。RDPエージェントの構成ファイルでこの値を手動で編集することもできます。

    • OKTA_URL:orgのURL。https://org_name.okta.comの形式を使用する必要があります。HTTPSは必須です。*.okta-gov.com、*.oktapreview.com、*.okta-emea.comもサポートされています。

  5. その他のプロパティーを変更します。前の手順で追加したパラメーターに加え、以下のプロパティーを変更してMFAが強制適用されるようにできます。

    プロパティー

    定義

    デフォルト値

    推奨値

    FilterCredentialProvider

    このプロパティは、サーバーに複数の資格情報プロバイダーがインストールされている場合の回避策を提供します。trueの場合、Okta MFA Credential ProviderがRDP接続にMFAを適用するために使用される唯一の方法になります。認証されていないユーザーは、使用する資格情報プロバイダーを選択できなくなります。

    FilterCredentialProviderをtrueに設定し、RdpOnlyをfalseに設定すると、ポリシーに従って必要な場合にMFAが要求されるようになります。

    false -
    InternetFailOpenOption

    ネットワーク接続が失われた場合の認証フローの動作を設定します。このプロパティは、ターゲットマシンにMFAを行うためのインターネットアクセスがない場合の適切なアクセスを管理します。

    trueの場合、RDPを介して認証を試行するユーザーにはMFAが求められず、パスワードのみに基づいてアクセス権が付与されます。

    falseの場合、資格情報プロバイダーがOktaサービスに到達できないため、RDPを介して認証を試行するユーザーにアクセス権が付与されません。

    インターネット接続が頻繁に問題になる場合は、このプロパティーをtrueに設定します。

    false -
    RdpOnly

    デフォルトでは、インストールされている資格情報プロバイダーにより、RDPとローカル認証の両方のイベントの間にOktaのMFAが挿入されます。このプロパティーをtrueに設定すると、ローカル(対話型)ログオンに対するOktaのMFAが削除されます。

    FilterCredentialProviderをtrueに設定し、RdpOnlyをfalseに設定すると、ポリシーに従って必要な場合にMFAが要求されるようになります。

    false -
    WidgetTimeOutInSeconds

    タイムアウトまでの秒数。RDPセッションがWindowsで閉じられる可能性を防ぐには、この値をWindowsで設定されているアイドルタイムアウトよりも小さくする必要があります。

    最大値は120秒です。

    60 30
    ErrorTimeOutInSeconds RDPセッションを閉じてからエラーメッセージが表示されるまでのタイムアウト時間。 30 30
    EnforceTimeoutVersionAgnostic Windows 2012、2016、2019のタイムアウトを強制適用します。 false true
    SslPinningEnabled エージェントが接続するOktaサーバーの公開鍵を検証します。 true true
    DisplayPasswordResetLink

    バージョン1.1.4から新しいバージョンにアップグレードした場合、このプロパティーを追加する必要があります。

    Active Directoryパスワードをリセットするためのリンクを表示します。 false true
    DisconnectSessionOnError このプロパティがtrueに設定されている場合、タイムアウトまたは予期しないエラーが発生すると、Oktaはユーザーセッションの切断を試みます。デフォルト値に基づき、ユーザーのセッションは切断ではなく終了されるため、保存されていないデータが失われる可能性があります。 false -

    これらのプロパティを変更するには、rdp_app_config.jsonファイル(デフォルトで、C:\Program Files\Okta\Okta Windows Credential Provider\configフォルダーにある)を編集するか、次のPowerShellスクリプトを使用します。

    $rdpAppConfig = Get-Content 'C:\Program Files\Okta\Okta Windows Credential Provider\config\rdp_app_config.json' -raw | ConvertFrom-Json $rdpAppConfig.RdpOnly =([System.Convert]::ToBoolean('true')) $rdpAppConfig | ConvertTo-Json | Set-Content 'C:\Program Files\Okta\Okta Windows Credential Provider\config\rdp_app_config.json'

    このスクリプトは、上記の手順2でインストールを実行したのと同じ場所から実行できます。

    このスクリプトは、PowerShellのバージョン3、4、および5でテスト済みです。システムのPowerShellのバージョンを確認するには、PowerShellを管理者として開き、$PSVersionTableと入力します。

マスデプロイメント

Microsoftのpsexec64ツールを使用して、リモートマシンでコマンドを実行します。次のコマンドをマスデプロイメント用に変更します。

psexec64 <IP of the machine to deploy> -u <AD admin user> -p <AD admin password> msiexec /i <//machine/share/OktaWindowsCredentialProvider.msi> CLIENT_ID="<client id>" CLIENT_SECRET="<client secret>" OKTA_URL="https://yourdomain.okta.com" /qn /l*v <path for installation log>

コマンドの要素を次のように変更してください。

  • <IP of the machine to deploy><AD admin user>、および <path for installation log>を、Organizationの適切な値に置き換えます。
  • <client secret><client ID>をアプリケーションに合わせて置き換えます。
  • yourdomainOkta組織の名前に置き換えます。

ネットワーク接続が失われた場合の動作を構成する

インストールが完了すると、ネットワーク接続が失われた場合の認証フローの動作を構成できます。

この動作を構成するには、rdp_app_config.json(デフォルトではC:\Program Files\Okta\Okta Windows Credential Provider\configフォルダーにあります)を編集します。InternetFailOpenOptionの値を次のいずれかの値に設定します。

  • true:インターネット接続が失われた場合、RDPを介して認証を試行するユーザーにはMFAが求められず、パスワードのみに基づいてアクセス権が付与されます。
  • false:インターネット接続が失われた場合、資格情報プロバイダーがOktaサービスに到達できないため、RDPを介して認証を試行するユーザーにアクセス権が付与されません。

上記の「サイレントインストール」セクションの手順4に記載されているその他のプロパティーを変更することもできます。

タイムアウト設定の確認

MFAが想定どおりに動作することを確実にするために、OktaサインインセッションがWindowsセッションよりも前にタイムアウトすることを確認します。

以下に留意してください。

  • Oktaウィジェットのタイムアウトセッションはデフォルトで60秒に設定されています。
  • Windows環境のタイムアウト時間を調べ、Oktaウィジェットのセッションタイムアウト時間をWindowsのセッションタイムアウトよりも短く設定します。

    環境でWindowsとOktaの両方のセッション時間を手動で調整してテストを用意し、それぞれに指定したタイムアウト時間が想定どおりに動作することを確認します。

Oktaウィジェットのタイムアウトセッション時間を構成する手順は次のとおりです。

  1. C:\Program Files\Okta\Okta Windows Credential Provider\configに移動します。
  2. rdp_app_config.jsonを編集します。
  3. 以下のプロパティーと値をファイルに追加し、各入力項目をコンマで区切ります。
    • "WidgetTimeOutInSeconds": 30
    • "ErrorTimeOutInSeconds": 30

    • "EnforceTimeoutVersionAgnostic": false

    Windowsのセッションタイムアウト時間よりも短い時間であれば、別のタイムアウト値を指定できます。