問題点
Active Directory への受信ユーザー プロビジョニングは、ほとんどのユーザーが想定どおりに動作しています。 ただし、一部のユーザーについては、プロビジョニング ログに次のエラーが表示されます。
ERROR: InsufficientAccessRights-SecErr: The user has insufficient access rights.. Access is denied. \nError Details: Problem 4003 - INSUFF_ACCESS_RIGHTS.
OR
ERROR:
"Message":"The user has insufficient access rights.",
"ResponseResultCode":"InsufficientAccessRights",
"ResponseErrorMessage":"00002098: SecErr: DSID-03150F94, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0",
The user has insufficient access rights.
プロビジョニング ログは、HybridSynchronizationActiveDirectoryInsufficientAccessRights
というエラー コードを表示します。
原因
既定で provAgentgMSA$
プロビジョニング エージェント GMSA アカウントには、ドメイン内のすべてのユーザー オブジェクトに対する読み取り/書き込みアクセス許可があります。 以前に示したエラーの原因として考えられる原因は 2 つあります。
- 原因 1: ユーザー オブジェクトは、ドメイン レベルのアクセス許可を継承しない OU の一部です。
- 原因 2: ユーザー オブジェクトは 、保護された Active Directory グループに属しています。 設計上、ユーザー オブジェクトは、
AdminSDHolder
と呼ばれる特殊なコンテナーに関連付けられているアクセス許可によって制御されます。 ここでは、provAgentgMSA$
アカウントが保護された Active Directory グループに属するこれらのアカウントを更新できない理由について説明します。 ユーザー アカウントに対するprovAgentgMSA$
アカウントの書き込みアクセス権をオーバーライドして明示的に指定しようとする場合がありますが、それは機能しません。 委任されたアクセス許可の誤用から特権ユーザー アカウントをセキュリティで保護するために、 SDProp と呼ばれるバックグラウンド プロセスがあり、60 分ごとに実行され、保護されたグループに属するユーザーが常にAdminSDHolder
コンテナーで定義されたアクセス許可によって管理されるようにします。 ドメイン管理者グループにprovAgentgMSA$
アカウントを追加する方法でも機能しません。
解決策
まず、問題の原因を確認します。 原因 1 が問題の原因であるかどうかを確認するには:
- Active Directory ユーザーとコンピューターの管理コンソールを開きます。
- ユーザーに関連付けられている OU を選択します。
- 右クリックし、[ プロパティ] -> [セキュリティ] -> [詳細設定] に移動します。 [継承の有効化] ボタンが表示されている場合は、原因 1 が問題の原因であることを確認します。
- ドメイン レベルのアクセス許可がこの OU に適用されるように、[ 継承の有効化] を 選択します。
注
ドメイン レベルから影響を受けるアカウントを保持している OU まで、階層全体を必ず確認してください。 ドメイン レベルで適用されるアクセス許可が最終的なオブジェクトに連鎖するように、すべての親 OU/コンテナーで継承が有効になっている必要があります。
原因 1 が問題の原因でない場合は、原因 2 が問題の原因である可能性があります。 2 つの解決オプションが考えられます。
オプション 1: 保護された AD グループから影響を受けるユーザーを削除する この AdminSDHolder
アクセス許可によって管理されるユーザーの一覧を見つけるには、Cx は次のコマンドを呼び出すことができます。
Get-AdObject -filter {AdminCount -gt 0}
参照アーティクル:
- AdminCount フラグをクリアし、影響を受けるユーザーの継承を再度有効にするために使用できる PowerShell スクリプトの例 を次に示します。
- この記事に記載されている手順を使用する - 孤立したアカウントを検索 して孤立したアカウントを検索します (保護されたグループに含まれていないが、AdminCount フラグが 1 に設定されているアカウント)
オプション 1 が常に機能するとは限らない
PDC エミュレーター FSMO ロールを保持しているドメイン コントローラーで 1 時間ごとに実行される、セキュリティ記述子伝達 (SDPROP) プロセスと呼ばれるプロセスがあります。
AdminCount
属性を 1 に設定するのは、このプロセスです。 SDPROP の主な機能は、高い特権を持つ Active Directory アカウントを保護することです。 これにより、権限が低いユーザーまたはプロセスによって、これらのアカウントを誤ってまたは意図的に削除したり、権限を変更したりできないようにすることができます。
PDC エミュレーター FSMO ロールを保持しているドメイン コントローラーで 1 時間ごとに実行される、セキュリティ記述子伝達 (SDPROP) プロセスと呼ばれるプロセスがあります。
AdminCount
属性を 1 に設定するのは、このプロセスです。 SDPROP の主な機能は、高い特権を持つ Active Directory アカウントを保護することです。 SDPROP プロセスを使用すると、アカウントを削除したり、権限を誤って持ったり、権限が低いユーザーやプロセスによって意図的に変更されたりできないようにすることができます。
理由を詳しく説明するリファレンス記事:
オプション 2: AdminSDHolder コンテナーの既定のアクセス許可を変更する
オプション 1 が実現可能ではなく、期待どおりに動作しない場合は、CX に依頼して、 AdminSDHolder
コンテナーの既定のアクセス許可を変更することが許可されている場合は、AD 管理者とセキュリティ管理者に確認してください。 この 記事 では、 AdminSDHolder
コンテナーの重要性について説明します。 Cx が AdminSDHolder
コンテナーのアクセス許可を更新するための内部承認を取得したら、アクセス許可を更新する 2 つの方法があります。
- この記事の説明に従って
ADSIEdit
を使用 します。 - コマンド ライン スクリプト
DSACLS
使用する。 開始点として使用できるスクリプトの例を次に示します。Cx は要件に従って調整できます。
$dcFQDN = "<FQDN Of The Nearest RWDC Of Domain>"
$domainDN = "<Domain Distinguished Name>"
$domainNBT = "<Domain NetBIOS Name>"
$dsaclsCMD = "DSACLS '\\$dcFQDN\CN=AdminSDHolder,CN=System,$domainDN' /G '$domainNBT\provAgentgMSA$:RPWP;<Attribute To Write To>'"
Invoke-
Expression $dsaclsCMD | Out-Null
Cx でオンプレミスの AD アクセス許可のトラブルシューティングに関するヘルプが必要な場合は、Windows Server サポート チームに問い合わせてください。 Microsoft Entra Connect に関する AdminSDHolder の問題に関するこの記事では、DSACLS の使用方法に関するその他の例を示します。
オプション 3: provAgentgMSA アカウントにフル コントロールを割り当てる
アカウントにprovAgentGMSA
のアクセス許可を割り当てます。 ユーザー オブジェクトが保護されたユーザー グループに属していない場合に、あるコンテナー OU から別のコンテナー OU にユーザー オブジェクトを移動する際に問題がある場合は、この手順をお勧めします。
このシナリオでは、Cx に次の手順を完了し、移動操作を再テストするように依頼します。
- 管理者として AD ドメイン コントローラーにログインします。
- 管理者として
run
を使用して PowerShell コマンド ラインを開きます。 - PowerShell プロンプトで、次の DSACLS コマンドを実行して、プロビジョニング エージェントの GMSA アカウントに Generic All/Full Control を付与します。
dsacls "dc=contoso,dc=com" /I:T /G "CN=provAgentgMSA,CN=Managed Service Accounts,DC=contoso,DC=com:GA"
dc=contoso,dc=com
をルート ノードまたは適切な OU コンテナーに置き換えます。 カスタム GMSA を使用している場合は、 provAgentgMSA
の DN 値を更新します。
オプション 4: GMSA アカウントをスキップし、手動で作成したサービス アカウントを使用 するこのオプションは、GMSA のアクセス許可の問題が調査されて解決されるまでブロックを解除するための一時的な回避策としてのみ使用する必要があります。 GMSA アカウントを使用することをお勧めします。 レジストリ オプションを設定して GMSA 構成をスキップ し、適切なアクセス許可を持つ手動で作成されたサービス アカウントを使用するように Microsoft Entra Connect プロビジョニング エージェントを再構成できます。