この記事では、Windowsデバイス用のOkta Desktop MFAをセットアップする手順について説明します。
- Okta Device Access
- Okta Identity Engine(OIE)
- Desktop MFA
- Windowsデバイス
WindowsデバイスにデスクトップMFA機能を追加するには、いくつかの手順を完了する必要があります。
Desktop MFAアプリ統合を作成して構成する
- Admin Consoleで[Settings(設定)]>[Account(アカウント)]>[Embedded widget sign-in support(組み込みウィジェットサインインサポート)]に移動し、[Interaction Code(インタラクションコード)] チェックボックスが選択されていることを確認します。
- Admin Consoleで、[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動します。
- [Browse App Catalog(アプリカタログを参照)]をクリックし、Desktop MFAを探します。
- [Add Integration(統合を追加)]をクリックします。
注:「This feature isn’t enabled(この機能は有効化されていません)」というエラーメッセージが表示されるときは、アカウント担当者に連絡してください。
- [一般設定]ページでアプリケーションラベルを編集します。デフォルト値を受け入れるときは、[Done(完了)]をクリックします。Okta Desktop MFA統合アプリが作成されます。
- [General(一般)]タブで[Client Credentials(クライアントの資格情報)]セクションに移動し、クライアントのIDとクライアントのシークレットを探します。IDとシークレットは、アプリ統合の作成時に生成されます。これらの値は、MDMソリューションを使ってDesktop MFA for Windowsをデプロイするときに必要になるため、注意することが重要です。
- [Sign On(サインオン)]タブで[Settings(設定)]セクションに移動し、[Edit(編集)]をクリックします。[Application Username Format(アプリケーションユーザー名の形式)]ドロップダウンメニューをクリックし、適切なユーザー名の形式を選択します。使用するコマンドはAD SAMアカウント名ですが、ユーザー名の形式はデバイスでのログインプロセス中に提供された資格情報と一致する必要があります。
- そのデバイスにアクセスする必要があるユーザーにアプリケーションを割り当てます。
Desktop MFA for Windowsをエンドポイントにデプロイする
Okta VerifyアプリケーションがMDMソリューションを使ってすでにデプロイされている場合、インストールコマンドラインに次の値を追加する必要があります。
- ORGURL:Okta orgのURL。OrgURLの末尾にスペースや「/」バーを付けないでください(特に末尾に/を追加しないように注意してください)。
- CLIENTID:Desktop MFAアプリ統合の[General(一般)]タブに保存したクライアントID。「Desktop MFAアプリ統合を作成して構成する」を参照してください。
- CLIENTSECRET:Desktop MFAアプリ統合の[General(一般)]タブに保存したクライアントシークレット。「Desktop MFAアプリ統合を作成して構成する」を参照してください。
- SKU:SKU=ALL
例:OktaVerifySetup--x.x.x.x-yyyyyyy.exe SKU=ALL ORGURL=https://customerorg.oktapreview.com/ CLIENTID=<ClientID> CLIENTSECRET=<ClientSecret>
注:SKU=ALLという設定でOkta Verifyをインストールすると、ユーザーのサインイン時にWindows資格情報プロバイダーは非表示になります。Okta Verifyがすでにデプロイされている場合は、デバイスを再同期してください。
構成をまだ作成していない場合は、「Intuneを使用したOkta Verifyのデプロイ」の記事または『WindowsデバイスへのOkta Verifyのデプロイ』のドキュメントを参照してください。
Desktop MFAポリシーを構成する
Okta Verifyアプリケーションがデプロイされたら、ポリシーレジストリを作成する必要があります。これは、手動で、またはIntuneなどのMDMソリューションからデプロイされるPowerShellスクリプトを使用して行うことができます。『IntuneでPowerShellスクリプトをWindows 10/11デバイスで使用する』のドキュメントを参照してください。
注:Okta Desktop MFAポリシー(登録済み)はデバイスレベルであり、特定のユーザーに対してのみ設定することはできません。
レジストリキーは、
HKLM\Software\Policies\Okta\Okta Device Accessに保存されます。
Desktop MFAがどのように機能するかを定義するポリシーは、Windowsエンドポイントレジストリキーに構成されます。
| 値名 | 説明 | 値 | デフォルト値 |
|---|---|---|---|
| MfaRequiredList |
パスワード以外にMFAも使って認証する必用があるユーザーグループまたはActive Directoryグループのリスト。このリストに含まれないユーザー(ローカルユーザーを含む)は、MFAを使って認証する必要はありません。リストが空であれば、ユーザーはMFAを使用せずにWindowsにサインインできます。 個々のユーザーを指定するユーザー名の形式は、username@domain.comです。グループについては、グループ名のみを指定します。 MFARequiredListレジストリキーに、ユーザーのメールアドレスではなくSAMアカウント名が含まれることを確認しました。システムが認証のためにSAMアカウント名を照合するため、これは非常に重要です。最初にSAMアカウント名のみでテストしてみて、後で「SAMアカウント名, メールアドレス」の形式でメールアドレスを追加します。 コンピューターがオンライン状態になって組織のディレクトリに接続する(直接、またはVPNを使用)際に、ユーザーは少なくとも1回はWindowsにサインインする必要があります。これにより、ユーザーのActive Directoryグループメンバーシップが解決されます。 | REG_MULTI_SZ | * 全ユーザーにMFAを適用 |
| MaxLoginsWithoutEnrolledFactors | ユーザーがMFA方式を使わずにWindowsにサインインできる回数を定義します。このポリシーにより、新規ユーザーは設定されている回数だけMFA方式のセットアップを延期できます。 ユーザーのサインイン試行が制限を超過すると、アクセスは拒否されます。 | REG_DWORD | 50 |
| MaxLoginsWithOfflineFactor | ユーザーがインターネットアクセスなしのオフラインMFA方式を使ってWindowsにサインインできる回数を定義します。このポリシーは、コンピューターがオンライン状態でユーザーが認証にオフラインMFA方式を使用する場合も適用されます。 ユーザーのサインイン試行が制限を超過すると、アクセスは拒否されます。代わりにオンラインサインイン方式を使って認証できるように、ユーザーにはインターネットへの接続が求められます。 | REG_DWORD | 50 |
| MFAGracePeriodInMinutes | コンピューターのロック後にユーザーがMFAを使用する必要がない猶予期間の長さ(単位は分)を定義します。MFAGracePeriodInMinutesを0に設定した場合、ユーザーはログインのたびにMFAを使ったID検証を求められます。 猶予期間は、コンピューターのロック時にのみ適用されます。ユーザーアカウントを切り替えた、またはコンピューターを再起動した場合、ユーザーはMFAを使ったID検証を求められます。 |
REG_DWORD | 60 |
| ExcludePasswordCredProvider | デフォルトでは、標準のWindowsパスワード資格情報プロバイダーは無効化されます。Windows資格情報プロバイダーを表示するには、この値を0に設定します。エンドユーザー向けにWindowsパスワード資格情報プロバイダーが復元されます。 | REG_DWORD | 空 |
| AdminContactInfo | ユーザーがコンピューターからロックアウトされた場合に管理者に連絡できるようにするための構成可能な文字列。この文字列にデフォルト値はありません。 例:Contact your Help Desk at help@org.com or call 1-800-***-****(ヘルプデスク(help@org.com)に連絡するか、1-800-***-****までお電話ください)。 | REG_SZ | 空 |
| CredProvidersToExclude |
カスタム資格情報プロバイダーは、プロバイダーのGUIDを指定することでフィルタリングできます。コンマを含めて、次のように追加されていることを確認してください:{D6886603-9D2F-4EB2-B667-1971041FA96B}, {BEC09223-B018-416D-A0AC-523971B639F5}, {8AF662BF-65A0-4D0A-A540-A338A999D36F}, {27FBDB57-B613-4AF2-9D7E-4FA7A66C21AD} - これらのGUIDはWindows Hello用です。 このキーによって除外される資格情報プロバイダーはエンドユーザーに表示されません。 OktaDesktop MFA資格情報プロバイダーは、このキーを使っても非表示にできないことに注意してください。手順については、「関連資料」セクションを確認してください。 | REG_MULTI_SZ | 空 |
| SelfServicePasswordResetEnabled | この値は、ユーザーがサインインパスワードを忘れた場合にパスワードリセットを開始できるようにします。セルフサービスによるパスワードリセットはデフォルトで無効になっています。 | REG_DWORD | 0 |
|
PasswordlessAccessEnabled |
この値は、パスワードなしアクセスを有効にして、ユーザーがパスワード以外の要素を使用してデバイスに安全にサインインできるようにします。パスワードなしアクセスはデフォルトで無効になっています。 注: パスワードなしアクセスを使用するには、コンピューターがオンラインになっており、ユーザーがOkta Verifyプッシュ通知を有効にしている必要があります。ユーザーは引き続き有効なパスワードを保持します。このパスワードは、プッシュ通知が使用できない場合、コンピューターがオフラインの場合、またはパスワードなしサインインに失敗した場合に使用できます。 Windowsコンピューターがオフラインの場合、ユーザーはパスワードなしログインに登録している場合でも、サインインするためにパスワードを入力する必要があります。 | REG_DWORD | 0 |
| NetworkTimeoutInSeconds |
この値は、検証のためのオンラインMFA要素のリストを取得する際のネットワークタイムアウトを秒単位で設定します。このタイムアウトは、ネットワークオペレーションのみに適用され、ユーザーインタラクションには適用されません。デフォルト値は15秒です。この設定は、ユーザーがDNSの断続的な停止やその他の接続の問題を抱えている場合に役立ちます。
最小値は5、最大値は60です。 | REG_DWORD | 15 |
| OfflineLoginAllowed |
この値は、ユーザーがオフライン要素を使用してサインインできるかどうかを示します。ポリシーが1に設定されている場合は、使用可能なオフライン要素がユーザーに表示されます。 ポリシーがtrueで、OnlineLoginAllowedがfalseの場合、オフライン要素のみがユーザーに表示され、ユーザーはそれを使用してサインインできます。この設定は、認証およびサインインフローにオフラインYubiKeyを使用したいと考えているorgに適しています。 | REG_DWORD | 1 |
| OnlineLoginAllowed |
この値は、ユーザーがオンライン要素を使用してサインインできるかどうかを示します。ポリシーが1に設定されている場合、使用可能なオンライン要素がユーザーに表示されます。 ポリシーがtrueで、OfflineLoginAllowedがfalseの場合、オンライン要素のみがユーザーに表示され、ユーザーはそれを使用してサインインできます。オフライン要素は使用できません。 | REG_DWORD | 1 |
| MFABypassList | このリストのユーザーはMFAで認証する必要はありません。ユーザーがMFARequiredListとMFABypassListの両方にリストされている場合は、MFABypassListが優先されます。 | REG_MULTI_SZ | 空 |
| SelfServicePasswordResetErrorMessage |
エンドユーザー向けのセルフサービスによるパスワードリセットのメッセージをカスタマイズするには、この値を使用します。 注: セルフサービスによるパスワードリセット機能は、Oktaで作成されたユーザー、委任認証を使用するActive Directoryユーザー、およびOktaがIDプロバイダーである(パスワードがOktaで設定されている)Azure Active Directoryユーザーのみを対象に設計されています ユーザーがセルフサービスによるパスワードリセット機能を使用してパスワードを変更する場合は、Oktaパスワードを変更します。その後、変更したパスワードがActive DirectoryまたはAzure Active Directoryと同期されます。 | REG_MULTI_SZ | パスワードを更新できません。入力した値がドメインの要件(長さ、複雑度、履歴)を満たしていません。 |
注:すべてのレジストリが必要なわけではありません。レジストリの組み合わせにより、目的の認証フローが作成されます。ポリシーを設定する前に、ロックアウトを防ぐためにオフライン認証方法をセットアップすることをお勧めします。
ユーザーがロックされている場合は、レジストリ HKLMSoftwareOktaOkta Device AccessUserポリシーでLoginWithOutEnrollendFactorCounterの値をゼロに変更することでロックを解除できます。
デフォルト値を使用したps1スクリプトの例
# Set variables to indicate value and key to set Set-ExecutionPolicy -ExecutionPolicy Unrestricted $RegistryPath = 'HKLM:\Software\Policies\Okta\Okta Device Access' # Create the key if it does not exist If (-NOT (Test-Path $RegistryPath)) { New-Item -Path $RegistryPath -Force | Out-Null } # Now set the value New-ItemProperty -Path $RegistryPath -Name MFARequiredList -Value * -PropertyType MultiString -Force New-ItemProperty -Path $RegistryPath -Name MaxLoginsWithoutEnrolledFactors -Value 50 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name MaxLoginsWithOfflineFactor -Value 50 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name MFAGracePeriodInMinutes -Value 60 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name SelfServicePasswordResetEnabled -Value 0 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name PasswordlessAccessEnabled -Value 0 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name NetworkTimeoutInSeconds -Value 15 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name OfflineLoginAllowed -Value 1 -PropertyType DWord -Force New-ItemProperty -Path $RegistryPath -Name OnlineLoginAllowed -Value 1 -PropertyType DWord -Force
オフラインのワンタイムパスワードを作成する
現時点では、Okta Verifyワンタイムパスコード(OTP)とYubikeyのみがサポートされています。
Okta Verify OTPの場合
- [One-time password(ワンタイムパスワード)]をクリックします。
- 表示名を選択して[Next(次へ)]をクリックします。デフォルト名のオフラインワンタイムパスワードを使用することも、カスタムパスワードを作成することもできます。
- モバイルデバイスにOkta Verifyアプリをインストールします。
- [Next(次へ)]をクリックします。
- モバイルデバイスでOkta Verifyアプリを開き、[Add account(アカウントを追加する)][Organization(組織)][Yes, ready to scan(はい、スキャンできます)]を順にタップします。
- コンピューター画面に表示されるQRコードをスキャンします。
- コンピューターのオフラインのワンタイムパスワードセットアップウィザードの[Next(次へ)]をクリックします。モバイルデバイス上のOkta Verifyアプリに新しいアカウントが表示されます。
- モバイルデバイスでOkta Verifyを開き、新しいアカウントで数字を確認します。
- コンピューターでセットアップウィザードにこの数字を入力します。
- [Finish(終了)]をクリックします。
オフラインのYubiKeyの場合
表示名を選択して[Next(次へ)]をクリックします。デフォルト名の「オフラインのYubiKey」を使用することも、カスタム名を作成することもできます。方式が追加されたことを確認するメッセージが表示されます。オフラインのYubiKeyを使ったWindowsへのサインインが可能になりました。
- [YubiKey]をクリックします。
- YubiKeyを挿入します。
- [Next(次へ)]をクリックします。
- モバイルデバイスでOkta Verifyアプリを開き、[Add account(アカウントを追加する)][Organization(組織)][Yes, ready to scan(はい、スキャンできます)]を順にタップします。
- コンピューター画面に表示されるQRコードをスキャンします。
- コンピューターのオフラインのワンタイムパスワードセットアップウィザードの[Next(次へ)]をクリックします。モバイルデバイス上のOkta Verifyアプリケーションに新しいアカウントが表示されます。
- モバイルデバイスでOkta Verifyを開き、新しいアカウントで数字を確認します。
- コンピューターでセットアップウィザードにこの数字を入力します。
- [Finish(終了)]をクリックします。コンピューターがオフライン状態のときにオフラインのYubiKeyを使ってWindowsにサインインできるようになります。
Desktop MFAを使ってWindowsにサインインする
- Windowsコンピューターを起動します。
- ユーザー名とパスワードを入力します。
- サインインの方式を選択します。1つ以上のMFA方式を実装できます。
- Okta Verify Push
- Okta Verifyワンタイムパスワード
- オフラインのワンタイムパスワード
- オフラインのYubiKey
Desktop MFAのさまざまな動作を実装する(パスワードレスと非パスワードレス)
パスワードレス認証が有効なユーザーと、従来のパスワードに加えて追加の要素を維持するユーザーの混在は、現在利用可能な動作としてサポートされていません。
- パスワードレス認証:
- パスワードレス認証の場合、システムは1つの所有要素(デバイスなど)による認証を許可し、PINまたは生体認証をプロセス完了の要件とすることに依存しています。
- この動作は、関連するWindowsレジストリ値を1に設定することで、システム全体に適用されます。このレジストリ値がアクティブな場合、パスワードレスの動作のみをデバイスに適用できます。
- さまざまな動作の互換性:
- レジストリ値が設定されていないデバイスでは、標準のDesktop MFAポリシー(パスワードと追加要素)が適用されます。
- ただし、Desktop MFAポリシーに別のルールを追加して同じデバイスで両方の動作を管理しようとすると、ポリシーが破損し、正しく機能しなくなります。この制限は、セキュリティ上の理由によるものです。
