Access-Token オブジェクトのアクセス権

アプリケーションに権限がない限り、アプリケーションはオブジェクトのアクセス制御リストを変更できません。 これらの権限は、オブジェクトのアクセス トークンのセキュリティ記述子によって制御されます。 セキュリティの詳細については、「Access Control モデル」を参照してください。

アクセス トークンセキュリティ記述子を取得または設定するには、GetKernelObjectSecurity 関数と SetKernelObjectSecurity 関数を呼び出します。

OpenProcessToken または OpenThreadToken 関数を呼び出してアクセス トークンへのハンドルを取得すると、システムは要求されたアクセス権をトークンのセキュリティ記述子の DACL に対してチェックします。

アクセス トークン オブジェクトの有効なアクセス権を次に示します。

  • DELETE、READ_CONTROL、WRITE_DAC、および 標準アクセス権WRITE_OWNER。 アクセス トークンは、SYNCHRONIZE 標準アクセス権をサポートしていません。

  • オブジェクトのセキュリティ記述子で SACL を取得または設定する ACCESS_SYSTEM_SECURITY権限

  • アクセス トークンの特定のアクセス権を次の表に示します。

    説明
    TOKEN_ADJUST_DEFAULT アクセス トークンの既定の所有者、プライマリ グループ、または DACL を変更するために必要です。
    TOKEN_ADJUST_GROUPS アクセス トークン内のグループの属性を調整するために必要です。
    TOKEN_ADJUST_PRIVILEGES アクセス トークンの特権を有効または無効にするために必要です。
    TOKEN_ADJUST_SESSIONID アクセス トークンのセッション ID を調整するために必要です。 SE_TCB_NAME特権が必要です。
    TOKEN_ASSIGN_PRIMARY プライマリ トークンプロセスにアタッチするために必要です。 このタスクを実行するには、SE_ASSIGNPRIMARYTOKEN_NAME特権も必要です。
    TOKEN_DUPLICATE アクセス トークンを複製するために必要です。
    TOKEN_EXECUTE STANDARD_RIGHTS_EXECUTEと同じです。
    TOKEN_IMPERSONATE 偽装アクセス トークンをプロセスにアタッチするために必要です。
    TOKEN_QUERY アクセス トークンのクエリを実行するために必要です。
    TOKEN_QUERY_SOURCE アクセス トークンのソースに対してクエリを実行するために必要です。
    TOKEN_READ STANDARD_RIGHTS_READとTOKEN_QUERYを組み合わせます。
    TOKEN_WRITE STANDARD_RIGHTS_WRITE、TOKEN_ADJUST_PRIVILEGES、TOKEN_ADJUST_GROUPS、TOKEN_ADJUST_DEFAULTを結合します。
    TOKEN_ALL_ACCESS トークンに対して可能なすべてのアクセス権を組み合わせます。