一部のアプリケーションと API では、アカウント オブジェクトの承認情報にアクセスする必要があります

この記事では、一部のアプリケーションおよびアプリケーション プログラミング インターフェイス (API) が、ユーザー アカウント オブジェクトまたは Active Directory ディレクトリ サービスのコンピューター アカウント オブジェクト上の token-groups-global-and-universal (TGGAU) 属性にアクセスできる必要がある場合について説明します。

適用対象:  Windows Server 2012R2
元の KB 番号:   331951

概要

一部のアプリケーションには、ユーザー アカウント オブジェクトまたは Microsoft Active Directory ディレクトリ サービスのコンピューター アカウント オブジェクトで token-groups-global-and-universal (TGGAU) 属性を読み取る機能があります。 一部の Win32 関数を使用すると、TGGAU 属性の読み取りが容易になります。 この属性を読み取るアプリケーション、またはこの属性を読み取る API (この記事の残りの部分では関数と呼ばれます) を呼び出すアプリケーションは、呼び出し元のセキュリティ コンテキストが属性にアクセスできない場合は成功しません。

既定では、TGGAU 属性へのアクセスは、アクセス許可の互換性に関する決定によって決定されます (ドメインが作成されたDCPromo.exeされます。 新しいサーバー 2003 ドメインWindowsアクセス許可の既定の互換性では、TGGAU 属性への広範なアクセス権は付与されません。 TGGAU 属性を読み取るアクセスは、Windows Server 2003 の新しい Windows 承認アクセス (WAA) グループに必要に応じて付与Windowsできます。

詳細

token-groups-global-and-universal (TGGAU) 属性は、コンピューター アカウント オブジェクトと Active Directory のユーザー アカウント オブジェクトで動的に計算される値です。 この属性は、対応するユーザー アカウントまたはコンピューター アカウントのグローバル グループ メンバーシップとユニバーサル グループ メンバーシップを列挙します。 アプリケーションは、TGGAU 属性によって提供されるグループ情報を使用して、ユーザーがログオンしていないときに特定のユーザーに関するさまざまな決定を行います。

たとえば、アプリケーションは、この情報を使用して、アプリケーションがアクセスを制御するリソースへのアクセスをユーザーに許可されているかどうかを判断できます。 この情報を必要とするアプリケーションは、ライトウェイト ディレクトリ アクセス プロトコル インターフェイスまたは Active Directory Services インターフェイスを使用して TGGAU 属性を直接読み取りできます。 ただし、Microsoft Windows Server 2003 では、TGGAU 属性の読み取りおよび解釈を簡素化するいくつかの関数 (AuthzInitializeContextFromSid 関数と LsaLogonUser 関数を含む) が導入されました。 したがって、これらの関数を使用するアプリケーションは、知らないうちに TGGAU 属性を読み取っている可能性があります。

アプリケーションでこの属性を直接読み取り、または (API を使用して) この属性を間接的に読み取る場合は、アプリケーションが実行するセキュリティ コンテキストに、ユーザー オブジェクトおよびコンピューター オブジェクト上の TGGAU オブジェクトへの読み取りアクセス権が付与されている必要があります。 アプリケーションが TGGAU へのアクセス権を持つとは想定していない。 したがって、アクセスが拒否された場合にアプリケーションが失敗する可能性があります。 この状況では、ユーザー (ユーザー) は、この情報の読み取り中にアクセスが拒否されたことを説明するエラー メッセージまたはログ エントリを受け取り、アクセスを取得する方法に関する指示を提供します (この記事で後述します)。

いくつかの既存のアプリケーションは、Microsoft Windows NT Windows NT 4.0 以前のオペレーティング システムで提供される情報が TGGAU によって提供される情報に依存します。 そのため、Microsoft Windows 2000 および Windows Server 2003 オペレーティング システムでは、TGGAU 属性への読み取りアクセス権が Windows 2000 互換アクセス グループに付与されます。

既存のアプリケーションを使用するドメインの場合、これらのアプリケーションが実行するセキュリティ コンテキストを Pre-Windows 2000 互換アクセス グループに追加することで、これらのアプリケーションを処理できます。 代わりに、ドメインを作成するときに DCPromo プロセス中に 、[Windows 2000 より前のサーバーと互換性のあるアクセス許可] オプションを選択できます。 (Windows Server 2003 では、このオプションは「Windows 2000 より前のサーバー オペレーティング システムと互換性のあるアクセス許可」と呼び出されます。この選択により 、Everyone グループが pre-Windows 2000 互換アクセス グループに追加され 、Everyone グループに TGGAU 属性および他の多くのドメイン オブジェクトへの読み取りアクセス権が付与されます。

新しい Windows Server 2003 ドメインが作成されると、既定のアクセス互換性の選択は 、Windows 2000 または Windows Server 2003 オペレーティング システムとの間でのみ互換性のあるアクセス許可です。 このオプションを設定すると 、Pre-Windows 2000 互換アクセス グループには、認証済みユーザー組み込みのセキュリティ識別子だけが含まれます。オブジェクトの TGGAU 属性への読み取りアクセスは制限されます。 この場合、TGGAU グループへのアクセスを必要とするアプリケーションは、アプリケーションを実行するアカウントにドメイン管理者権限または類似のユーザー権限がない限り、アクセスが拒否されます。

アプリケーションによる TGGAU 属性の読み取りを有効にする

属性を読み取る必要があるユーザーにトークン グループ-グローバルおよびユニバーサル (TGGAU) 属性の読み取りアクセスを許可するプロセスを簡略化するために、Windows Server 2003 では Windows 承認アクセス (WAA) グループが導入されています。

Windows Server 2003 ドメインの新しいインストールでは、WAA グループには、ユーザー オブジェクトおよびグループ オブジェクトの読み取り TGGAU 属性へのアクセスが許可されます。

Windows 2000 ドメイン

ドメインが 2000 Windows 以前の互換アクセス モードの場合 、Everyone グループは、ユーザー アカウント オブジェクトおよびコンピューター アカウント オブジェクトの TGGAU 属性への読み取りアクセス権を持っています。 このモードでは、アプリケーションと関数は TGGAU にアクセスできます。

ドメインが 2000 互換アクセス モードWindows場合は、特定のアプリケーションで TGGAU を読み取る必要があります。 Windows 承認 アクセス グループは Windows 2000 に存在しないので、この目的のためにドメイン ローカル グループを作成し、TGGAU 属性へのアクセスを必要とするユーザーまたはコンピューター アカウントをそのグループに追加する必要があります。 このグループには、ユーザー オブジェクト、コンピューター オブジェクト、オブジェクトの属性へのアクセス権が tokenGroupsGlobalAndUniversal 与えられる必要 iNetOrgPerson があります。

混在モード ドメインとアップグレードされたドメイン

Windows Server 2003 ドメイン コントローラーが Windows 2000 ドメインに追加された場合、以前に選択したアクセス互換性の選択は変更されません。 そのため、Windows 2000 より前の互換アクセス モードの Windows Server 2003 にアップグレードされた混在モード ドメインとドメインは、引き続き [Windows 2000 年以前の互換アクセス] グループに Everyone グループを持っています。 さらに 、Everyone グループは TGGAU 属性へのアクセス権を持っています。 このモードでは、アプリケーションと関数は TGGAU にアクセスできます。

混在モード ドメインが 2000 互換アクセス モードWindowsされていない場合は、WAA グループを使用してアクセス許可を付与できます。

  • WAA グループは、サーバー 2003 ドメイン Windowsがフローティング シングル マスター 操作サーバーに昇格すると自動的に作成されます。
  • WAA グループには、混在モード ドメインおよびアップグレードされたドメインの TGGAU 属性へのアクセスが自動的に付与されません。

認証アクセスWindows (WAA) グループが TGGAU 属性にアクセスした後、WAA グループにアクセスを必要とするアカウントを配置できます。

新Windows Server 2003 ドメイン

ドメインが 2000 Windows 以前の互換アクセス モードの場合 、Everyone グループは、ユーザー アカウント オブジェクトおよびコンピューター アカウント オブジェクトの TGGAU 属性への読み取りアクセス権を持っています。 このモードでは、アプリケーションと関数は TGGAU にアクセスできます。

ドメインが 2000 互換アクセス モードWindows場合は、TGGAU へのアクセスを必要とするアカウントを WAA グループに追加します。 Windows Server 2003 の新しいインストールでは、WAA グループはユーザー オブジェクトおよびコンピューター オブジェクトに対する TGGAU への読み取りアクセス権を既に持っています。