次の方法で共有


グループの管理されたサービス アカウントの Kerberos 委任を構成する

通常、Kerberos 委任を使用する場合は、setspn.exe コマンドを使用するか、Active Directory ユーザーとコンピューター で属性エディターを使用して手動でサービス プリンシパル名 (SPN) を設定します。 さらに、Active Directory ユーザーとコンピューターで ビュー>Advanced 機能 を有効にすると、ユーザーまたはコンピューター アカウントの [委任] タブから Kerberos 委任 を構成する別の方法が追加されます。

ただし、スタンドアロンおよびグループ管理サービス アカウントの場合、これらのアカウントに SPN を追加したり、ビュー>を有効にした後でも、[委任] タブは表示されません。

これらの特別なアカウントの委任を構成するには、正しい属性を手動で設定する必要があります。 これらのアカウントには、次の 2 つの属性を変更する必要があります:

  • userAccountControl は委任の種類を定義します
  • msDS-AllowedToDelegateTo は、委任の SPN が追加される場所を定義します

これらの属性は、さまざまな方法で設定できます:

  • PowerShell の使用
  • userAccountControl 値を手動で更新する

PowerShell コマンドを使う

より安全で便利な方法は、PowerShell コマンドを使用してそれらの属性を更新する方法です。 PowerShell を使用する場合、最終的な userAccountControl 値を計算する必要はありません。 さまざまな種類の委任を有効にするコマンドを次に示します:

  • 委任のためにこのコンピューターを信頼しないでください

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $false
    Set-ADServiceAccount -Identity TestgMSA$ -Clear 'msDS-AllowedToDelegateTo'
    
  • 制約のない委任/任意のサービスへの委任に対してこのコンピューターを信頼する

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $true -TrustedToAuthForDelegation $false
    Set-ADServiceAccount -Identity TestgMSA$ -Clear 'msDS-AllowedToDelegateTo'
    
  • Kerberos の制約付き委任/指定されたサービスへの委任に対してのみこのコンピューターを信頼する (Kerberos のみ使用)

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $false
    

    msDS-AllowedToDelegateTo 属性でバックエンド サービス SPN を更新します。

  • Kerberos の制約付き委任とプロトコルの移行/指定されたサービスへの委任に対してのみこのコンピューターを信頼する (任意の認証プロトコルを使用)

    Set-ADAccountControl -Identity TestgMSA$ -TrustedForDelegation $false -TrustedToAuthForDelegation $true
    

    msDS-AllowedToDelegateTo 属性でバックエンド サービス SPN を更新します。

userAccountControl 値を手動で更新する

属性を変更する最も簡単な方法の一部は、Active Directory ユーザーとコンピューターで View>Advanced 機能 を有効にするか、ADSIEdit.msc を使用することです。

さまざまな種類の委任に追加できる userAccountControl 値を次に示します。 この属性値を編集する際は注意し、TRUSTED_FOR_DELEGATION フラグまたは TRUSTED_TO_AUTH_FOR_DELEGATION フラグだけが追加され、その他のプロパティが変更されない必要があります。 また、両方のフラグが管理されたサービス アカウントの userAccountControl 値に追加されていないか確認してください。

委任の種類 プロパティのフラグ 16 進数の値 10 進数の値
制約なしの委任/このコンピューターを任意のサービスに委任するために信頼する 委任のために信頼されています 0x80000 524288
Kerberos の制約付き委任/指定されたサービスへの委任にのみこのコンピューターを信頼する (Kerberos のみ使用) 変更なし 変更なし 変更なし
Kerberos のプロトコル遷移による制約付き委任/指定されたサービスへの委任にのみこのコンピューターを信頼する (任意の認証プロトコルを使用) TRUSTED_TO_AUTH_FOR_DELEGATION 0x1000000 16777216

userAccountControl の値を手動で更新する場合は、新しい値が既存の値と一緒に追加されますが、置き換えは行えない必要があります。 たとえば、UAC の現在の値が 4096 (16 進数 0x1000)、つまり WORKSTATION_TRUST_ACCOUNT であると考えてください。

userAccountControl 値 4096 のスクリーンショット

制約のない委任 (セキュリティで保護されていない) を有効にするには、TRUSTED_FOR_DELEGATIONの userAccountControl 値と既存の値を追加する必要があります。 UAC の値は、0x81000 (0x1000 + 0x80000)、つまり WORKSTATION_TRUST_ACCOUNT および TRUSTED_FOR_DELEGATION である必要があります。

userAccountControl 値 81000 のスクリーンショット

間違っていくつかの SPN を追加した場合、またはアカウントの委任リストから一部の SPN を削除する場合は、アカウントの 属性 msDS-AllowedToDelegateTo を手動で編集できます。 この方法は、任意のユーザーまたはコンピューター アカウントに適用できます。

[委任が許可されています] のスクリーンショット

次のステップ