次の方法で共有


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

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

適用対象: Windows Server 2016、Windows Server 2019、Windows Server 2022、Windows Server 2025
元の KB 番号: 328889

現象

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

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

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

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

0xc000015a

エラーは STATUS_TOO_MANY_CONTEXT_IDS

原因

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

アクセス トークン内のユーザーのグループ メンバーシップの SID を含む配列には、1,024 個以下の SID を含めることができます。 LSA はトークンから SID を削除できません。 そのため、SID が増える場合、LSA はアクセス トークンの作成に失敗し、ユーザーはログオンできなくなります。

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

重要

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

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

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

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

  • ユーザーは、SIDHistory と SID がフィルターで除外される信頼されたドメインのユーザーです。
  • ユーザーは、SID が検疫されている信頼全体の信頼されたドメインから取得されます。 その後、ユーザーと同じドメインの SID のみが含まれます。
  • リソースのドメインからのドメイン ローカル グループ SID のみが含まれます。
  • リソース サーバーのサーバー ローカル グループ SID のみが含まれます。

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

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

  • 1,024 SID の制限を十分に超えているユーザー
  • 65,535 バイトのバッファーでも Kerberos がチケット取得に失敗するグループが非常に多いユーザー

次のステップを実行します。

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

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

    gro mem eva コマンドを実行した後の出力のスクリーンショット。

  3. 評価に必要な DC に接続します。

    • アカウント DC %s の設定 - ユーザーのドメインの DC
    • グローバル カタログ %s の設定 - ユーザーのフォレストの GC
    • リソース 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 はいくつ導入されますか?
  • 1 レベル MemberOf Count: このエントリは、1 つのレベル (エントリのメンバー) のコレクションに追加される SID の数。
  • Total MemberOf Count: このエントリは合計でコレクションに追加される SID の数です。
  • グループ所有者: 委任されたグループ管理を持つ環境の場合、ユーザー ログオンにするグループの使用方法に関するヒントが得られる場合があります。
  • グループの種類: Sid の種類。 WellKnown、ユーザー SID、グローバル、およびユニバーサル セキュリティ グループは、このユーザー用に作成されたすべてのトークンに含まれます。 ドメイン ローカル セキュリティ グループは、このリソース ドメイン内にのみ存在します。 これは、ユーザーが特定のリソース ドメインでのみログオンの問題を抱える場合に重要な場合があります。
  • Member WhenChanged (UTC): グループ メンバーシップに対する最新の変更。 これは、ユーザーがログオンの問題を最初に報告した時刻と関連付けるのに役立ちます。

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

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

  • 入れ子を通じて他の多くのグループを導入するグループには、SID の数を減らすための優れた活用があります。

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

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

制限事項:

  • このツールには、この記事で以下に示す一部の特殊な SID や WellKnown SID は含まれていません。 そのため、ユーザーが正常にログオンするには、レポートの 1,024 からいくつかの SID をクリアする必要があります。

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

サーバー ローカル グループとそのメンバーの一覧を取得するには:

Note

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

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 属性を削除します。 権限のある復元を使用して属性値を取得できます。

Note

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

方法 2

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

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

ディレクトリ サービス復元モードでドメイン コントローラーをローカルで起動する」を参照してください。

Microsoft はトークン生成アルゴリズムを変更しました。 LSA は、管理者アカウントのアクセス トークンを作成して、管理者アカウントがメンバーになっている推移的なグループまたは一過性グループの数に関係なくログオンできるようにします。 これらのセーフ モードのスタートアップ オプションのいずれかを使用すると、Administrator アカウント用に作成されるアクセス トークンには、管理者アカウントがメンバーになっているすべての組み込みグループとすべてのドメイン グローバル グループの 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-yyyyyyy-zzzzzzzz-513)
  • Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyyyyy-zzzzzzzz-512)
  • BUILTIN\Pre-Windows 2000 互換アクセス (S-1-5-32-554) (全員がこのグループのメンバーの場合)
  • ドメイン コントローラーが Windows Server 2003 を実行している場合、NT AUTHORITY\This Organization (S-1-5-15)

Note

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

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

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

方法 3

このオプションは、特定のサーバー セットで使用されるリソースへのアクセスを許可するために作成されたグループが多数あり、他の多くのサーバーに関連しない場合に最大の魅力があります。 ユーザーのアクセス トークンには、ユーザー、グローバル、およびユニバーサル グループの SID が常に含まれます。 ただし、リソース サーバーが存在するドメインのドメイン ローカル グループの SID のみが含まれます。 したがって、ユーザーがメンバーになっている 600 グループから、400 が 2 つのサーバー グループ上のファイル サーバー リソースへのアクセスを許可するのに役立ちます。その後、次のアイデアが実現可能な場合があります。

  • ドメイン ローカル グループの数に従って、サーバーを複数のグループに分割します。
  • すべてのグループとサーバーを含む 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)
  • コンソール ログオン (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-yyyyyyy-zzzzzzzz-515)
  • Domain\Domain Users (S-1-5-21-xxxxxxxx-yyyyyyy-zzzzzzzz-513)
  • Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyyyyy-zzzzzzzz-512)

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

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

トークン コンテキストと要求の詳細に関する詳細を提供する SID(複数可):

  • 使用されているデバイス要求 (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\This Organization (S-1-5-15) (アカウントがコンピューターと同じフォレストの場合)。

Note

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

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

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

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

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

関連情報