クライアント認証資格情報
認証された各クライアントは、サーバーに認証資格情報を提供する必要があります。 RPC では、クライアントは認証資格情報をクライアントとサーバー間のバインドに格納します。 これを行うために、クライアントは RpcBindingSetAuthInfo または RpcBindingSetAuthInfoEx を呼び出します。
資格情報には、暗黙的と明示的の 2 種類があります。
- 明示的な資格情報は、クライアントがユーザー名、パスワード、およびドメインを指定するときに存在します。
- クライアントが RpcBindingSetAuthInfo 関数または RpcBindingSetAuthInfoEx 関数を呼び出すスレッドまたはプロセス トークンからの資格情報 を使用する 場合、暗黙的な資格情報が存在します。
明示的な資格情報が使用されている場合、ユーザー パスワードの格納、操作、および取得によって分散システムにセキュリティの脆弱性が生じる可能性があるため、クライアントは明示的な資格情報を提供しないようにする必要があります。
暗黙的な資格情報を使用するために、クライアントは RpcBindingSetAuthInfo(Ex) を呼び出します。 セキュリティ システムと RPC は、認証セッションで使用するためにスレッドまたはプロセス トークンから資格情報を取得します。
クライアントが明示的な資格情報を使用する場合、これら 2 つの関数の 5 番目のパラメーターの型は RPC_AUTH_IDENTITY_HANDLE です。 これは、データ構造へのポインターである柔軟な型です。 データ構造の内容は、認証サービスごとに異なる場合があります。 現時点では、RPC がサポートする SP では、アプリケーションセット がSEC_WINNT_AUTH_IDENTITY 構造を指す RPC_AUTH_IDENTITY_HANDLE 必要があります。 SEC_WINNT_AUTH_IDENTITY構造体には、ユーザー名、ドメイン、パスワードのフィールドが含まれています。