1,010 を超えるグループのメンバーであるユーザー アカウントへのログオンは、サーバー ベースのコンピューター Windows失敗する可能性があります。

この記事では、1,010 を超えるグループのメンバーであるユーザー アカウントへのログオンが失敗する問題を解決します。

適用対象:  WindowsServer 2008 R2 Service Pack 1
元の KB 番号:   328889

現象

ユーザーがローカル コンピューター アカウントまたはドメイン ユーザー アカウントを使用してコンピューターにログオンしようとすると、ログオン要求が失敗する可能性があります。 次のエラー メッセージが表示されます。

ログオン メッセージ: 次のエラーが発生した場合、システムはログオンできません。ログオン試行中に、ユーザーのセキュリティ コンテキストでセキュリティ ID が多すぎます。 もう一度やり直すか、システム管理者に問い合わせてください。

この問題は、ログオン ユーザーが約 1,010 以上のセキュリティ グループの明示的または推移的なメンバーである場合に発生します。

アプリケーションとセキュリティ イベント ログ ID 4625 には、次のエラー コードが表示される場合があります。

0xc000015a

エラーは次 STATUS_TOO_MANY_CONTEXT_IDS。

原因

ユーザーがコンピューターにログオンすると、ローカル セキュリティ機関 (ローカル セキュリティ機関サブシステムの一部である LSA) がアクセス トークンを生成します。 トークンは、ユーザーのセキュリティ コンテキストを表します。 アクセス トークンは、ユーザーがメンバーであるすべてのグループの一意のセキュリティ識別子 (SID) で構成されます。 これらの SID には、ユーザーとグループ アカウントの SIDHistory からの推移的なグループと SID 値が含まれます。

アクセス トークン内のユーザーのグループ メンバーシップの SID を含む配列には、1,024 ID 以下を含めできます。 LSA はトークンから SID をドロップできません。 そのため、SID が多い場合、LSA はアクセス トークンの作成に失敗し、ユーザーはログオンできません。

SID の一覧が作成される場合、LSA は、ユーザーのグループ メンバーシップ (推移的に評価される) の SID のほかに、よく知られている汎用のいくつかの SID も挿入します。 そのため、ユーザーが約 1,010 を超えるカスタム セキュリティ グループのメンバーである場合、SID の総数は 1,024 SID の制限を超える可能性があります。

重要

  • 管理者アカウントと管理者以外のアカウントの両方のトークンは、制限の対象になります。
  • カスタムの SID の正確な数は、ログオンの種類 (対話型、サービス、ネットワークなど) と、トークンを作成するドメイン コントローラーとコンピューターのオペレーティング システム バージョンによって異なります。
  • 認証プロトコルとして Kerberos または NTLM を使用する場合、アクセス トークンの制限はありません。
  • Kerberos クライアント設定 MaxTokenSize については、「ユーザーが多くのグループに属している場合の Kerberos 認証に関する 問題」で説明しますKerberos コンテキストのトークンは、Kerberos ホストによって受信されたチケットのバッファー Windowsします。 チケットのサイズ、SID の種類、SID 圧縮が有効かどうかに応じて、バッファーに保持できる SID の数は、アクセス トークンに収まるよりも少なめか、より多くの SID を保持できます。

カスタムの SID の一覧には、次のものが含まれます。

  • ユーザー/コンピューターのプライマリ SID と、アカウントがメンバーであるセキュリティ グループ。
  • ログオンのスコープ内のグループの SIDHistory 属性の SID。

SIDHistory 属性には複数の値を含めることが可能なので、アカウントを複数回移行すると、1,024 SID の制限にすばやく到達できます。 アクセス トークン内の SID の数は、次の状況でユーザーがメンバーであるグループの総数より少なくなっています。

  • ユーザーは、SIDHistory と SID がフィルター処理される信頼できるドメインからのユーザーです。
  • ユーザーは、信頼を越えて信頼されたドメインのユーザーで、ID が検疫されます。 次に、ユーザーと同じドメインの SID だけが含まれます。
  • リソースのドメインからのドメイン ローカル グループの SID だけが含まれます。
  • リソース サーバーからのサーバー ローカル グループの SID だけが含まれます。

これらの違いにより、ユーザーは 1 つのドメイン内のコンピューターにログオンできますが、別のドメインのコンピューターにはログオンできない可能性があります。 ユーザーは、ドメイン内の 1 つのサーバーにログオンできますが、同じドメイン内の別のサーバーにはログオンできない場合があります。

NTDSUTIL を使用して、影響を受けるユーザーのドメイン グループ メンバーシップについて確認できます。 また、フォレストの境界を越えて機能するグループ メンバーシップ評価ツールがあります。 このツールは、次のユーザーにも機能します。

  • 1,024 の SID の制限を大きく超えるユーザー
  • Kerberos が 65,535 バイトのバッファーを使用してもチケットの取得に失敗するグループの数が多いユーザー

次の手順を実行します。

  1. 管理ツール (ドメイン コントローラーまたは RSAT をADコンピューター) があるコンピューターでコマンド プロンプトを開きます。

  2. ツールに切り gro mem eva 替えて、次のスクリーンショットとして使用可能なコマンドを取得します。

    gro mem eva コマンドの実行のスクリーンショット

  3. Connectに必要なDC に対して次の情報を提供します。

    • ユーザーのドメインのアカウント DC %s - DC を設定する
    • ユーザーのフォレストのグローバル カタログ %s - GC を設定する
    • Set Resource DC %s - リソース ドメインの DC
    • 必要に応じて資格情報を設定するか、結果が正しくないと思われるか、コレクションが失敗した場合に詳細ログを設定します。
  4. 評価を次のように実行します (管理者の場合 contoso.com など):

    Run contoso.com Admin

  5. この実行は、手順 1 ~ 2 のユーザー詳細、手順 3 のリソース ドメイン グループの詳細を収集し、手順 4 と 5 でレポートをコンパイルします。

  6. 結果は、次のスクリーンショットとして現在のディレクトリの TSV ファイルに格納されます。

    TSV 結果の出力

TSV ファイルを読み取る方法については、次のガイドを参照してください。

  • SID の種類: グループ/ユーザーまたは SIDHistory のプライマリ SID を示します。
  • SID 履歴の数: SIDHistory の SID の数は、このアカウントで導入されますか?
  • One Level MemberOf Count: このエントリが 1 つのレベル (エントリのメンバー) でコレクションに追加される SID の数。
  • Total MemberOf Count: このエントリがコレクションに合計で追加する SID の数。
  • グループ所有者: グループ管理を委任した環境では、ユーザー ログオンを攻撃するために多くのグループを使用する方法に関する ヒントが 表示される場合があります。
  • グループの種類: Sid の種類。 WellKnown、ユーザー SID、グローバル、およびユニバーサル セキュリティ グループは、このユーザー用に作成されたすべてのトークンに含まれます。 ドメイン ローカル セキュリティ グループは、このリソース ドメインにのみ含まれる。 ユーザーが特定のリソース ドメインでのみログオンの問題を抱えている場合は、重要な場合があります。
  • メンバー WhenChanged (UTC): グループ メンバーシップの最新の変更。 これは、ユーザーがログオンの問題を最初に報告した時刻と関連付けるのに役立ちます。

変更の対象となるグループを検索するヒント:

  • SIDHistory を持つグループには、SID 数の削減に役立つ優れた活用力があります。

  • 入れ子を使用して他の多くのグループを導入するグループには、SID 数を減らす大きな活用方法があります。

  • グループ名の手がかりを探して、グループを使用しなくなったかどうかを判断します。 たとえば、ソフトウェア展開ソリューションにアプリケーションごとにグループを持つ顧客がいました。 また 、office2000 または access2000 をむグループが見つかりました

  • グループ リストのレポートをサービス管理者とアプリケーション管理者に渡します。 この部署または部署のこのユーザーに対してだけ、不要になったグループを特定します。

制限事項:

  • このツールには、この記事で以下に示す特殊な/WellKnown の SID が含まれます。 したがって、ユーザーが正常にログオンするには、レポートの 1,024 から複数の SID をクリアする必要があります。

  • このツールは、サーバーローカル グループもカバーしません。 リソース ドメインの特定のサーバーでのみ問題が発生した場合は、ユーザーまたはグループの一部がサーバーローカル グループのメンバーである可能性があります。

サーバーローカル グループとそのメンバーの一覧を取得するには、次の方法を実行します。

注意

管理者特権のコマンド プロンプトで管理者として実行します。

Net localgroup | findstr * > %computername%-grouplist.txt

ドメインからメンバーのリストを取得するには、次の方法を実行します。

Md server-groups

For /f "delims=*" %d in (%computername%-grouplist.txt) do Net localgroup %d | findstr \ > server-groups\%d-domain-memberlist.txt**

NTDSUTIL のユーザー レポートと、そこで報告されたグループを組み合わせて一致します。

解決方法

この問題を解決するには、状況に応じて、次のいずれかの方法を使用します。

方法 1

この解決方法は、次の状況に適用されます。

  • ログオン エラーが発生したユーザーは管理者ではない。
  • 管理者は、コンピューターまたはドメインに正常にログオンできます。

この解決は、ユーザーのグループ メンバーシップを変更するアクセス許可を持つ管理者が実行する必要があります。 管理者は、ユーザーが約 1,010 を超えるセキュリティ グループのメンバーでなくなったか確認するために、ユーザーのグループ メンバーシップを変更する必要があります。 推移的なグループ メンバーシップとローカル グループ メンバーシップを検討します。

ユーザー トークン内の SID の数を減らすオプションには、次のものが含まれます。 NTDSUTIL のデータ収集は、変更または削除のスコープ内にあるグループを確認するのに役立ちます。

  • 十分な数のセキュリティ グループからユーザーを削除します。

  • 未使用のセキュリティ グループを配布グループに変換します。 配布グループは、アクセス トークンの制限にカウントされません。 変換されたグループが必要な場合は、配布グループをセキュリティ グループに変換できます。

  • セキュリティ プリンシパルがリソース アクセスの SID 履歴に依存するかどうかを決定します。 存在しない場合は、これらのアカウントから SIDHistory 属性を削除します。 権限を持つ復元を使用して属性値を取得できます。

注意

ユーザーがメンバーにできるセキュリティ グループの最大数は 1,024 ですが、ベスト プラクティスとして、この数を 1,010 未満に制限します。 この数値は、LSA によって挿入される汎用的な SID の領域を提供するために、トークンの生成が常に成功します。

方法 2

この解決策は、管理者アカウントがコンピューターにログオンできない状況に適用されます。

グループ メンバーシップが多すぎるためログオンが失敗したユーザーが Administrators グループのメンバーである場合、管理者アカウントの資格情報 (つまり、既知の相対識別子 [RID] が 500 のアカウント) を持つ管理者は 、セーフ モード の起動オプションを選択して (またはネットワーク起動オプションを使用して セーフ モード を選択して) ドメイン コントローラーを再起動する必要があります。 セーフ モードでは、管理者は管理者アカウントの資格情報を使用してドメイン コントローラーにログオンする必要があります。

Microsoft はトークン生成アルゴリズムを変更しました。 LSA では、管理者アカウントのアクセス トークンを作成して、管理者アカウントがメンバーである推移的なグループまたは一方的なグループの数に関係なく管理者がログオンできます。 これらのセーフ モードの起動オプションのいずれかを使用すると、Administrator アカウント用に作成されるアクセス トークンには、管理者アカウントがメンバーであるすべての組み込みグループとすべての Domain Global グループの SID が含まれます。

これらのグループには、通常、次のものが含まれます。

  • すべてのユーザー (S-1-1-0)
  • BUILTIN\Users (S-1-5-32-545)
  • BUILTIN\Administrators (S-1-5-32-544)
  • NT AUTHORITY\INTERACTIVE (S-1-5-4)
  • NT AUTHORITY\Authenticated Users (S-1-5-11)
  • LOCAL (S-1-2-0)
  • Domain\Domain Users (S-1-5-21-xxxxxxxx-yyyyyyyy-zzzzzzzz-513)
  • Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyyyyyy-zzzzzzzz-512)
  • BUILTIN\Pre-Windows 2000 互換アクセス (S-1-5-32-554) (Everyone がこのグループのメンバーである場合)
  • NT AUTHORITY\この組織 (S-1-5-15) ドメイン コントローラーがサーバー 2003 Windowsしている場合

注意

[セーフ モードの 起動] オプションを使用すると、Active Directory ユーザーとコンピューター スナップイン ユーザー インターフェイス (UI) は使用できません。 サーバー 2003 Windows管理者は、ネットワーク起動オプションを使用して [セーフモード]を選択して ログオンすることもできます。このモードでは、Active Directory ユーザーとコンピューター スナップイン UI を使用できます。

管理者がセーフ モードの起動オプションのいずれかを選択し、Administrator アカウントの資格情報を使用してログオンした後、管理者はログオン拒否サービスの原因となるセキュリティ グループのメンバーシップを識別して変更する必要があります。

この変更が行われた後、ドメインのレプリケーション待機時間が経過した期間が経過した後、ユーザーは正常にログオンできる必要があります。

方法 3

このオプションは、特定のサーバー セットで使用されるリソースへのアクセスを許可するために作成されたグループが多数おり、他の多くのサーバーには関係ない場合に最も魅力があります。 ユーザーのアクセス トークンには、常にユーザー、グローバル、およびユニバーサル グループの ID が含まれます。 ただし、リソース サーバーがあるドメインDomain-Localグループの SID だけが含まれます。 したがって、ユーザーがメンバーである 600 グループから、400 は 2 つのサーバー グループ上のファイル サーバー リソースへのアクセスを支援し、次のアイデアを実現できます。

  • サーバーを複数のグループに分割し、複数のグループDomain-Localします。
  • すべてのグループとサーバーを持つ 1 つのリソース ドメインの代わりに、必要なサーバーを含むグループのみを定義する複数のドメインがあります。
  • ドメイン ローカル グループを少し必要とするサーバー用に別のドメインを用意します。 たとえば、ユニバーサル グループExchange好Exchangeサーバーを使用できます。

詳細情報

アカウントの一般的な SID には、多くの場合、次のものが含まれます。

  • すべてのユーザー (S-1-1-0)
  • BUILTIN\Users (S-1-5-32-545)
  • BUILTIN\Administrators (S-1-5-32-544)
  • NT AUTHORITY\Authenticated Users (S-1-5-11)
  • ログオン セッション Sid (S-1-5-5-X-Y)
  • BUILTIN\Pre-Windows 2000 互換アクセス (S-1-5-32-554) (ユーザーがこのグループのメンバー (入れ子) の場合)

重要

ツール Whoami は、アクセス トークンの検査によく使用されます。 このツールでは、ログオン セッション SID は表示されない。

ログオン セッションの種類に応じて、SID の例を次に示します。

  • LOCAL (S-1-2-0)
  • CONSOLE LOGON (S-1-2-1)
  • NT AUTHORITY\NETWORK (S-1-5-2)
  • NT AUTHORITY\SERVICE (S-1-5-6)
  • NT AUTHORITY\INTERACTIVE (S-1-5-4)
  • NT AUTHORITY\TERMINAL SERVER USER (S-1-5-13)
  • NT AUTHORITY\BATCH (S-1-5-3)

頻繁に使用されるプライマリ グループの SID:

  • Domain\Domain Computers (S-1-5-21-xxxxxxxx-yyyyyyyy-zzzzzzzz-515)
  • Domain\Domain Users (S-1-5-21-xxxxxxxx-yyyyyyyy-zzzzzzzz-513)
  • Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyyyyyy-zzzzzzzz-512)

ログオン セッションの検証方法を文書化する SID で、次のいずれかの値を指定します。

  • 認証機関のアサート ID (S-1-18-1)
  • サービスアサート ID (S-1-18-2)

トークン コンテキストとクレームの詳細に関する詳細を示す、次に示す 1 つ以上の ID。

  • 使用されているデバイスクレーム (S-1-5-21-0-0-0-496)
  • 使用されているユーザークレーム (S-1-5-21-0-0-0-497)
  • この組織証明書 (S-1-5-65-1)
  • トークンは PKI 検証済み ID の助けを借りて構築されました (S-1-18-4)
  • トークンは MFA アプローチを使用して構築されました (S-1-18-5)
  • Credential Guard が使用されました (S-1-18-6)

トークンの整合性レベルを記述する SID は、最も一般的な例です。

  • 中必須レベル (S-1-16-8192)
  • 高必須レベル (S-1-16-12288)

アクセス トークンには、ユーザー/コンピューターの起点を基準にした SID が含まれます。次のいずれかの値を指定します。

  • NT AUTHORITY\OTHER_ORGANIZATION (S-1-5-1000)
  • NT AUTHORITY\この組織 (S-1-5-15) アカウントがコンピューターと同じフォレストの場合。

注意

  • SID エントリのログオン セッション SID でメモを参照してください、ツール出力の一覧で SID をカウントし、すべてのターゲット コンピューターとログオンの種類に対して完了したと仮定します。 アカウントに 1,000 を超える 1,000 を超える SID がある場合、アカウントがこの制限に達する危険性を考慮する必要があります。 トークンが作成されるコンピューターによっては、サーバーまたはワークステーションのローカル グループを追加することもできます。
  • xxxxxxxx-yyyyyyyyy-zzzzzzzz は 、SID のドメインまたはワークステーション コンポーネントを示します。

次の例は、ユーザーがドメイン内のコンピューターにログオンするときに、ユーザーのトークンに表示されるドメイン ローカル セキュリティ グループを示しています。

この例では、Joe がドメイン A に属し、ドメイン ローカル グループ Domain A\Chicago Users のメンバーである必要があります。 Joe はドメイン ローカル グループ Domain B\Chicago Users のメンバーです。 Joe がドメイン A に属するコンピューター (ドメイン A\Workstation1 など) にログオンすると、コンピューター上の Joe に対してトークンが生成され、トークンには、すべての汎用グループ メンバーシップとグローバル グループ メンバーシップに加えて、ドメイン A\シカゴ ユーザーの SID が含まれます。 Joe がログオンしたコンピューター (Domain A\Workstation1) がドメイン A に属している場合、ドメイン B\シカゴ ユーザーの SID は含めされません。

同様に、Joe がドメイン B に属するコンピューター (ドメイン B\Workstation1 など) にログオンすると、コンピューター上の Joe に対してトークンが生成され、トークンには、すべての汎用グループ メンバーシップとグローバル グループ メンバーシップに加えて、ドメイン B\シカゴ ユーザーの SID が含まれます。Joe がログオンしたコンピューター (Domain B\Workstation1) がドメイン B に属している場合、ドメイン A\シカゴ ユーザーの SID は含めされません。

ただし、Joe がドメイン C に属するコンピューター (Domain C\Workstation1 など) にログオンすると、Joe のユーザー アカウントのすべてのユニバーサル グループ メンバーシップとグローバル グループ メンバーシップを含むログオン コンピューター上の Joe のトークンが生成されます。 Joe がメンバーであるドメイン ローカル グループが Joe がログオンしたコンピューター (Domain C\Workstation1) とは異なるドメインにあるため、ドメイン A\シカゴ ユーザーの SID もドメイン B\シカゴ ユーザーの SID もトークンに表示されません。 逆に、Joe がドメイン C に属する一部のドメイン ローカル グループ (ドメイン C\シカゴ ユーザーなど) のメンバーである場合、コンピューター上の Joe に対して生成されるトークンには、すべての汎用およびグローバル グループ メンバーシップに加えて、ドメイン C\シカゴ ユーザーの SID が含まれます。

関連情報