LSA_TOKEN_INFORMATION_V3 構造体 (ntsecpkg.h)

LSA_TOKEN_INFORMATION_V3構造体は、LSA トークンに要求のサポートを追加し、認証パッケージがバージョン 3 の Windows トークン オブジェクトに配置できる情報を含み、LSA_TOKEN_INFORMATION_V1を超えました。

バージョン 3 の Windows トークン オブジェクトには、認証パッケージから ローカル セキュリティ機関 (LSA) へのトークンの作成に必要なすべての情報が格納されます。 LSA はこの情報をカーネルに渡してトークン オブジェクトを作成し、そのトークン オブジェクトへのハンドルを LsaLogonUser の呼び出し元に返します。 LSA は、この構造体の最初のメンバーが 、LSA_TOKEN_INFORMATION_V1 構造体のメンバーと同じであることを前提としています。

構文

typedef struct _LSA_TOKEN_INFORMATION_V3 {
  LARGE_INTEGER       ExpirationTime;
  TOKEN_USER          User;
  PTOKEN_GROUPS       Groups;
  TOKEN_PRIMARY_GROUP PrimaryGroup;
  PTOKEN_PRIVILEGES   Privileges;
  TOKEN_OWNER         Owner;
  TOKEN_DEFAULT_DACL  DefaultDacl;
  TOKEN_USER_CLAIMS   UserClaims;
  TOKEN_DEVICE_CLAIMS DeviceClaims;
  PTOKEN_GROUPS       DeviceGroups;
} LSA_TOKEN_INFORMATION_V3, *PLSA_TOKEN_INFORMATION_V3;

メンバー

ExpirationTime

セキュリティ コンテキストが無効になる時刻。 コンテキストの有効期限が切れない場合は、遠い将来に値を使用します。 現在のバージョンのオペレーティング システム カーネルでは、この有効期限は適用されません。

User

TOKEN_USER ユーザーのログオンの SID を含む構造体です。 セキュリティ識別子 SID 値は、個別に割り当てられたメモリ ブロック内にあります。

Groups

TOKEN_GROUPS ユーザーがメンバーになっているグループの SID を含む構造体です。 これには、WORLD またはその他のシステム定義 SID とシステム割り当て SID は含まれません。 これらは LSA によって自動的に追加されます。

各 SID は、個別に割り当てられたメモリ ブロック内に存在することが想定されます。 また、TOKEN_GROUPS構造体は、個別に割り当てられたメモリ ブロック内に存在することも想定されています。 これらのメモリ ブロックはすべて、 AllocatePrivateHeap 関数を呼び出して割り当てる必要があります。

PrimaryGroup

TOKEN_PRIMARY_GROUP ユーザーのプライマリ グループを確立するために使用される構造体です。 この値は、ユーザーに割り当てられている SID のいずれかに対応する必要はありません。

この構造体が指す SID は、個別に割り当てられたメモリ ブロック内にあると想定されます。

このメンバーは必須であり、入力する必要があります。

Privileges

TOKEN_PRIVILEGES ユーザーに割り当てられた 特権を 含む構造体です。 この特権の一覧は、ローカル セキュリティ ポリシーによって割り当てられた特権によって拡張またはオーバーライドされます。

各特権は、個別に割り当てられたメモリ ブロック内に存在する必要があります。 TOKEN_PRIVILEGES構造体は、個別に割り当てられたメモリ ブロック内に存在することも想定されています。

ユーザーに割り当てる特権がない場合は、このメンバーを NULL に設定できます。

Owner

TOKEN_OWNER 構造体。 このメンバーは、明示的な既定の所有者を確立するために使用できます。 通常、ユーザー ID は既定の所有者として使用されます。 別の値が必要な場合は、ここで指定する必要があります。

Owner.Sid メンバーは、代替の既定の所有者値がないことを示すために NULL に設定できます。

DefaultDacl

TOKEN_DEFAULT_DACL 構造体。 このメンバーは、ユーザーの既定の保護を確立するために使用できます。 値が指定されていない場合は、すべてのユーザーにアクセス権を付与する既定の保護が確立されます。

DefaultDacl.DefaultDacl メンバーは、既定の保護がないことを示すために NULL に設定できます。

UserClaims

TOKEN_USER_CLAIMS 構造体。 このメンバーは、トークンの不透明なユーザー要求 BLOB を格納します。 UserClaims メンバーは、トークンに追加のユーザー要求がないことを示すために NULL に設定できます。 要求は許可のみのエンティティであるため、要求を省略するとアクセスが制限される可能性があります。

DeviceClaims

TOKEN_DEVICE_CLAIMS 構造体。 このメンバーは、トークンの不透明なデバイス要求 BLOB を格納します。 DeviceClaims メンバーは、トークンに追加のデバイス要求がないことを示すために NULL に設定できます。 要求は許可のみのエンティティであるため、要求を省略するとアクセスが制限される可能性があります。

DeviceGroups

TOKEN_GROUPS 認証デバイス メンバーのグループの SID を含む構造体です。 ユーザー グループと同様に、これには WORLD またはその他のシステム定義または割り当てられた SID を含めないようにしてください。 複合を行う必要がないことを示すために、 DeviceGroups メンバーを NULL に設定できます。 DeviceGroups が存在する場合、LSA は WORLD およびその他の割り当てられた SID を追加します。

ユーザー グループとは異なり、プライマリ デバイス グループの概念はありません。

各 SID は、個別に割り当てられたメモリ ブロック内に存在することが想定されます。 また、TOKEN_GROUPS構造体は、個別に割り当てられたメモリ ブロック内に存在することも想定されています。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
Header ntsecpkg.h