Share via


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

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

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

概要

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

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

詳細

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

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

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

アプリケーションが TGGAU 属性を読み取る

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

Windows Server 2003 ドメインの新規インストールでは、WAA グループには、ユーザー オブジェクトとグループ オブジェクトの読み取り TGGAU 属性へのアクセス権が付与されます。

Windows 2000 ドメイン

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

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

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

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

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

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

Windows Authorization Access (WAA) グループが TGGAU 属性にアクセスできる場合は、アクセスが必要なアカウントを WAA グループに配置できます。

新しい Windows Server 2003 ドメイン

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

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