Kerberos Constrained Delegation Overview

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

この IT プロフェッショナル向けの概要トピックでは、Windows Server 2012 R2 および Windows Server 2012 での Kerberos 制約付き委任の新機能について説明します。

機能の説明

Kerberos の制約付き委任は、サービスで使用できる、より安全な形の委任を提供するために Windows Server 2003 で導入されました。 制約付き委任を構成すると、指定されたサーバーがユーザーの代理として動作できる対象のサービスが制限されます。 これには、サービスに対してドメイン アカウントを構成するためにドメイン管理者特権が必要であり、そのアカウントは 1 つのドメインに制限されます。 今日の企業では、フロントエンド サービスの統合先がその企業のドメイン内のサービスだけとは限りません。

以前のオペレーティング システムではドメイン管理者がサービスを構成していて、サービス管理者には、所有しているリソース サービスに委任されるフロントエンド サービスを把握する便利な方法はありませんでした。 また、リソース サービスに委任されるフロントエンド サービスは攻撃ポイントになる可能性がありました。 フロントエンド サービスをホストするサーバーが侵害され、そのフロントエンド サービスがリソース サービスに委任されるように構成されている場合、リソース サービスも侵害される可能性がありました。

Windows Server 2012 R2 および Windows Server 2012 では、サービスの制約付き委任を構成する機能が、ドメイン管理者からサービス管理者に移管されました。 これにより、バックエンド サービス管理者はフロントエンド サービスを許可または拒否できます。

Windows Server 2003 で導入された制約付き委任の詳細については、「 Microsoft Windows Server 2003: Kerberos のプロトコル遷移と制約付き委任」を参照してください。

Kerberos プロトコルの Windows Server 2012 R2 および Windows Server 2012 の実装には、制約付き委任専用の拡張機能が含まれています。 Service for User to Proxy (S4U2Proxy) は、サービスがユーザー用の Kerberos サービス チケットを使用して、キー配布センター (KDC) からバックエンド サービスへのサービス チケットを取得できるようにします。 これらの拡張によって、バックエンド サービスのアカウントが別のドメインにあっても、そのバックエンド サービスに制約付き委任を構成できます。 これらの拡張の詳細については、MSDN ライブラリの [MS-SFU]: Kerberos プロトコル拡張: Service for User および制約付き委任プロトコルの仕様に関するページを参照してください。

実際の適用例

制約付き委任は、アプリケーション サービスがユーザーの代理として動作できる範囲を制限することによって、サービス管理者がアプリケーションの信頼境界を指定および適用できるようにします。 サービス管理者は、どのフロントエンド サービス アカウントがそれぞれのバックエンド サービスに委任できるのかを構成できます。

Windows Server 2012 R2 および Windows Server 2012 のドメインにまたがって制約付き委任をサポートすることによって、Microsoft Internet Security and Acceleration (ISA) Server、Microsoft Forefront Threat Management Gateway、Microsoft Exchange Outlook Web Access (OWA)、Microsoft SharePoint Server などのフロントエンド サービスで、別のドメインのサーバーに対する認証に制約付き委任を使用するように構成できます。 これにより、既存の Kerberos インフラストラクチャを使用して、ドメインをまたがるサービス ソリューションがサポートされます。 Kerberos の制約付き委任は、ドメイン管理者またはサービス管理者が管理できます。

リソースに基づくドメイン間の制約付き委任

フロントエンド サービスとリソース サービスが同じドメイン内にない場合に、Kerberos の制約付き委任を使用して制約付き委任を設定できます。 サービス管理者は、リソース サービスのアカウント オブジェクト上でユーザーを偽装できるフロントエンド サービスのドメイン アカウントを指定することによって、新しい委任を構成することができます。

この変更の利点

ドメインをまたがる制約付き委任をサポートすることで、別のドメイン内のサーバーに対する認証に、制約のない委任を使用するのではなく、制約付き委任を使用するようにサービスを構成できます。 これにより、あらゆるサービスに対して委任するようにフロントエンド サービスを信頼する必要がなくなり、既存の Kerberos インフラストラクチャを使用して、ドメインをまたがるサービス ソリューション向けの認証がサポートされます。

これにより、サーバーが委任された ID のソースを信頼する必要があるかどうかの決定が、ドメイン管理者からリソース所有者への委任からシフトします。

動作の相違点

基盤となるプロトコルに対する変更により、ドメインをまたがる制約付き委任が可能になります。 Windows Server 2012 R2 および Windows Server 2012 における Kerberos プロトコルの実装には、Service for User to Proxy (S4U2Proxy) プロトコルに対する拡張機能が含まれます。 これは、Kerberos プロトコルに対する一連の拡張であり、サービスがユーザー用の Kerberos サービス チケットを使用して、キー配布センター (KDC) からバックエンド サービスへのサービス チケットを取得できるようにします。

これらの拡張の実装については、MSDN の [MS-SFU]: Kerberos プロトコル拡張: Service for User および制約付き委任プロトコルの仕様に関するページを参照してください。

Service for User (S4U) 拡張と比較した場合の、転送されたチケット保証チケット (TGT) を使用した Kerberos の委任での基本的なメッセージ シーケンスの詳細については、「[MS-SFU]:Kerberos Protocol Extensions:Service for User and Constrained Delegation Protocol Specification ([MS-SFU]: Kerberos プロトコル拡張: Service for User および制約付き委任プロトコルの仕様)」の、「 1.3.3 Protocol Overview (1.3.3 プロトコルの概要) 」セクションを参照してください。

リソースベースの制約付き委任のセキュリティへの影響

リソースベースの制約付き委任の場合、委任の制御はアクセスされるリソースを所有する管理者に委ねます。 これは、委任するために信頼されているサービスではなく、リソース サービスの属性に依存します。 その結果、リソースベースの制約付き委任では、以前にプロトコル遷移を制御していた Trusted-to-Authenticate-for-Delegation のビットを使用できません。 リソースベースの制約付き委任を実行する場合、KDC はビットが設定されているかのように常にプロトコル遷移を許可します。

KDC はプロトコルの遷移を制限しないため、このコントロールをリソース管理者に提供するために 2 つの既知の SID が新たに導入されました。 これらの SID はプロトコル遷移が発生したかどうかを識別し、必要に応じて標準のアクセス制御リストと併用してアクセスを許可または制限することができます。

SID 説明
AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITY
S-1-18-1
クライアントの ID がクライアント資格情報の所有証明に基づいて認証機関によってアサートされることを示す SID。
SERVICE_ASSERTED_IDENTITY
S-1-18-2
クライアントの ID がサービスによってアサートされることを示す SID。

バックエンド サービスでは、標準の ACL 式を使用して、ユーザーがどのように認証されたかを判断できます。

リソースベースの制約付き委任を構成するにはどうすればよいですか?

ユーザーの代理でフロントエンド サービス アクセスを許可するようにリソース サービスを構成するには、Windows PowerShell コマンドレットを使用します。

  • プリンシパルの一覧を取得するには、 Get-ADComputerGet-ADServiceAccount、および Get-ADUser のコマンドレットを Properties PrincipalsAllowedToDelegateToAccount パラメーターと共に使用します。

  • リソース サービスを構成するには、 New-ADComputerNew-ADServiceAccountNew-ADUserSet-ADComputerSet-ADServiceAccount、および Set-ADUser のコマンドレットを、 PrincipalsAllowedToDelegateToAccount パラメーターと共に使用します。

ソフトウェア要件

リソースベースの制約付き委任は、Windows Server 2012 R2 および Windows Server 2012 を実行するドメイン コントローラー上でのみ構成できますが、混在モードのフォレスト内で適用できます。

Windows Server より前のオペレーティング システムを実行しているフロントエンド ドメインとバックエンド ドメインの間の参照パス上で、ユーザー アカウント ドメイン内で Windows Server 2012 を実行するすべてのドメイン コントローラーに対して次の修正プログラムを適用する必要があります。Windows Server 2008 R2 ベースのドメイン コントローラー (https://support.microsoft.com/en-gb/help/2665790/resource-based-constrained-delegation-kdc-err-policy-failure-in-enviro) がある環境で、リソースベースの制約付き委任 KDC_ERR_POLICY エラーが発生する場合のトラブルシューティング方法に関するページを参照してください。