Share via


Windows の資格情報プロバイダー

資格情報プロバイダーは、ユーザー認証の主要なメカニズムです。 現在、これらは、ログオンやその他のシステム認証シナリオに必要な、ユーザーが自分の身元を証明する唯一の方法です。 Windows 10 と Microsoft Passport の導入以来、資格情報プロバイダーはこれまで以上に重要になっています。 これらは、アプリや Web サイトなどへの認証に使われます。

Microsoft は、パスワード、PIN、スマート カード、Windows Hello (指紋、顔、虹彩認識) など、さまざまな資格情報プロバイダーを Windows の一部として提供しています。 この記事では、これらを "システム資格情報プロバイダー" と呼びます。 OEM、企業、その他のエンティティは、独自の資格情報プロバイダーを作成し、Windows に簡単に統合できます。 この記事では、これらを "サードパーティ資格情報プロバイダー" と呼びます。 V1 と V2 資格情報プロバイダーの両方が Windows でサポートされていることに注意してください。 サードパーティ資格情報プロバイダーの作成者と管理者がこれらの推奨事項を理解することが重要です。

システム資格情報プロバイダー

サードパーティの資格情報プロバイダーに加えて、デバイス上のすべてのユーザーが使用できるシステム資格情報プロバイダーを常に少なくとも 1 つ用意しておくことを強くお勧めします。 さらに、サードパーティの資格情報プロバイダーのセットアップ中、デバイス上の各ユーザーは、少なくとも 1 つのシステム資格情報プロバイダーを構成するように求められます (他の回復オプションが使用できない場合。以下のシナリオ A を参照)。

シナリオ A

ローカル アカウント ユーザーはサードパーティの資格情報プロバイダーを設定し、定期的にそれを使ってデバイスにログインします。 ある日、ユーザーがサードパーティの資格情報プロバイダーを無効にする更新プログラムをデバイスにインストールしましたが、ユーザーはマシンを再起動するまでこの変更に気付きません。

次回の再起動では、ユーザーにログオン画面が表示され、予期されたサードパーティの資格情報プロバイダーは使用できません。 ユーザーがシステム資格情報プロバイダーを設定している場合、ユーザーはそれを使ってマシンにログインできます。 そうでない場合、ユーザーがマシン上のアカウントを回復する方法はありません。

シナリオ B

Microsoft アカウント (MSA)、Active Directory (AD)、または Microsoft Entra ID アカウントのユーザーは、サードパーティの資格情報プロバイダーを設定し、定期的にそれを使ってデバイスにログインします。 ある日、ユーザーがサードパーティの資格情報プロバイダーを無効にする更新プログラムをデバイスにインストールしましたが、ユーザーはマシンを再起動するまでこの変更に気付きません。

次回の再起動では、ユーザーにログオン画面が表示され、予期されたサードパーティの資格情報プロバイダーは使用できません。 ユーザーがシステム資格情報プロバイダーを構成している場合、ユーザーはそれを使ってマシンにログインできます。 または、システムのパスワード資格情報プロバイダーが使用できる場合、ユーザーはリモートからパスワードを要求/リセットし、それを使ってマシンにログインできます。 どちらのオプションも使用できない場合、ユーザーがマシン上のアカウントを回復する方法はありません。

まとめ

要約すると、デバイス上のすべてのシステム資格情報プロバイダーを無効にすることは推奨されません。 サードパーティの資格情報プロバイダーは、特定のユーザー グループに対する追加の認証要件を満たす場合がありますが、破壊的変更が発生したときにユーザーがいつでも自分のマシンにアクセスできるようにすることが非常に重要です。 システム資格情報プロバイダーがこの保証を提供します。

カスタム資格情報プロバイダー

Windows 資格情報プロバイダー フレームワークを使うと、開発者はカスタム資格情報プロバイダーを作成できます。 Winlogon が資格情報を収集する場合、ログオン UI は各資格情報プロバイダーに対して列挙する資格情報の数を問い合わせます。 すべてのプロバイダーによってタイルが列挙されると、ログオン UI によってユーザーに表示されます。 次に、ユーザーはタイルを操作して、必要な資格情報を入力します。 ログオン UI からこれらの資格情報が送信され、認証が行われます。 資格情報が必要な場合は、資格情報プロバイダーを資格情報 UI で使うこともできます。 資格情報プロバイダーがサポートされるシナリオの一覧については、CREDENTIAL_PROVIDER_USAGE_SCENARIO を参照してください。

このシステムのおかげで、以前よりも資格情報プロバイダーの作成がはるかに簡単になりました。 作業の多くは、Winlogon、ログオン UI、資格情報 UI の組み合わせによって処理されます。 これを行うには、ICredentialProviderICredentialProviderCredential の独自の実装を作成する必要があります。 V2 資格情報プロバイダーを実装している場合 (推奨)、ICredentialProviderCredential2 も実装する必要があります。

資格情報プロバイダーは強制メカニズムではないことに注意することが重要です。 これらは、認可のために送信される資格情報を、収集してシリアル化するために使われます。 ローカル機関と認証パッケージが、必要なセキュリティの適用を処理します。

資格情報プロバイダーとサポートされているハードウェアを組み合わせることで、生体認証情報、パスワード、PIN、スマート カード資格情報、または作成することにした任意のカスタム認証パッケージでのログオンをサポートするように Windows を拡張できます。 ユーザーのログオン エクスペリエンスもさまざまな方法でカスタマイズできます。 たとえば、ログオン UI で資格情報プロバイダーに資格情報タイルのクエリを実行する場合、既定のタイルを指定して、カスタマイズされたエクスペリエンスをユーザーに提供できます。 資格情報プロバイダーは、セキュリティで保護されたアクセス ポイントとマシン ログオンに対するユーザーを認証して、シングル サインオン (SSO) をサポートするように設計することもできます。

資格情報プロバイダーは Windows マシンに登録され、以下の機能を担当します。

  • 認証に必要な資格情報の記述。
  • 外部認証機関との通信とロジックの処理。
  • 対話型ログオンとネットワーク ログオン用の資格情報のパッケージ化。

ヒント

複数の資格情報プロバイダーを 1 台のマシンにインストールできることに注意してください。

資格情報プロバイダーのラッピング

システム資格情報プロバイダーをラップすると、ネイティブにサポートされていない資格情報プロバイダーに機能を追加できます。 問題のある動作につながる可能性があるため、これは推奨されません。 資格情報プロバイダーに変更が加えられると、ラッパーと競合する可能性があり、ユーザー エクスペリエンスが低下したり、ユーザーがデバイスにアクセスできなくなったりする可能性があります。 これは、Windows の更新頻度が高い場合に特に当てはまります。

ネイティブに含まれていない資格情報プロバイダーの機能が必要な場合、カスタム資格情報プロバイダーを作成することをお勧めします。 これは、システム プロバイダーに依存しない、より安定したアプローチです。

関連項目