アクセスが拒否されました-CIFSの制限された委任が失敗します

中間層サーバーでネットワーク共有を使用するサービスにアクセスしているときに、ユーザーは資格情報の入力を求められ、最終的にアクセス拒否エラーが発生します。今日の投稿では、いくつかのケースシナリオを示し、原因を特定してから、Windows10でCIFSの制約付き委任が(CIFS)ACCESS_DENIEDエラーで失敗する理由の問題に対する可能な回避策を提供します。

Common Internet File System(CIFS)は、ネットワークサーバーのファイルとサービスを要求するためのオープンでクロスプラットフォームのメカニズムを提供するファイル共有プロトコルです。 CIFSは、(CIFS)インターネット(Internet)およびイントラネットファイル共有用のMicrosoftのサーバーメッセージブロック(SMB)プロトコル の拡張バージョンに基づいています。

CIFSの制約付き委任がWindowsで失敗する

CIFSの制約付き委任がWindowsで失敗する

ユーザーに資格情報の入力を求められた場合にこの問題が発生する可能性があり、次の3つのシナリオに基づいて、アクセスが最終的に失敗し、アクセス拒否エラーが発生します。

シナリオ1(Scenario 1)

  • IIS Webサイトは、パススルー認証とCIFS用に構成された制約付き委任を使用してリモート共有を指すホームディレクトリでセットアップされます。
  • その共有にアクセスするIISアプリケーションプールは、サービスアカウントのIDで実行されています。(IIS)
  • ドメインアカウントは、ファイルサーバー上のCIFSサービスの委任について信頼されています。

シナリオ2(Scenario 2)

  • Webアプリは、ユーザーとしてファイルサーバーにアクセスしようとしています。
  • その共有にアクセスするIISアプリケーションプールは、サービスアカウントのIDで実行されています。(IIS)ドメインアカウントは、ファイルサーバー上のCIFSサービスの委任について信頼されています。
  • CIFS用に構成された制約付き委任は、ファイルサーバーのサービスアカウントで構成されます。

シナリオ3(Scenario 3)

  • クライアントからアクセスされているサーバー側アプリケーションはすべて、ユーザーとしてリモート共有にアクセスしています。
  • サーバー側アプリケーションは、サービスアカウントのコンテキストで実行されています。
  • サービス(Service)アカウントは委任に対して信頼されており、ファイルサーバーのCIFS委任用に構成されています。(CIFS)

これは、制約された委任が関係している場合のMrxSmb2.0とKerberosの間の問題として識別されています。(Kerberos)

この問題を解決するために、Microsoftは2つの回避策を提供しています。

回避策1

CIFSの制約付き委任を実行するアプリケーションのIDとして、サービスアカウントの代わりにマシンアカウントを使用します。ドメインの機能レベルがWindowsServer2003(Windows Server 2003)、Windows Server 2008、またはWindows Server 2008 R2の場合は、制約付き委任を構成します。

Webサーバードメインのドメインコントローラーでこれを行うには、次の手順を実行します。

  • [Start > Administrative Tools > ActiveDirectoryユーザーとコンピューター(Active Directory Users and Computers)]をクリックします。
  • (Expand)ドメインを展開し、[コンピューター(Computers)]フォルダーを展開します。
  • 右側のウィンドウで、Webサーバーのコンピューター名を右クリックし、[プロパティ]を選択して、[(Properties)委任(Delegation)]タブをクリックし  ます。
  • 指定したサービスのみに委任するためにこのコンピューターを信頼する(Trust this computer for delegation to specified services only)]チェックボックスをオンにします。
  • [ Kerberosのみ(Use Kerberos only)を使用する]が選択されていることを確認し 、[ OK  ]をクリックします 。
  • 追加]ボタンを(Add button)クリックします。
  • [サービス(Services)の 追加(Add)  ]ダイアログボックスで、[ ユーザー]または[コンピューター]をクリックし、 (Users or Computers)IISからユーザーの資格情報を受け取るファイルサーバーの名前を参照または入力します。
  • OK]をクリックします。
  • 利用可能な(Available) サービス](Services) リストで、  CIFSサービスを選択します。
  • OK]をクリックします。

回避策2

この回避策は、コンピューターアカウントで認証プロトコルの委任を使用(Use)する必要があるため、 お勧めしません。(not recommended)[認証プロトコルを使用する(Use any authentication protocol)]オプションが選択されている場合  、アカウントはプロトコル移行を伴う制約付き委任を使用しています。

アプリケーションのIDをサービスアカウントやドメインアカウントとして使用する必要がある場合は、次の手順を実行します。

ステップ1(Step 1)

  • [スタート](Start ) >[ Administrative Tools > ActiveDirectoryユーザーとコンピューター(Active Directory Users and Computers)]をクリックします。
  • (Expand)ドメインを展開し、[コンピューター(Computers)]フォルダーを展開します。
  • 右側のウィンドウで、Webサーバーのコンピューター名を右クリックし、[プロパティ]を選択して、[(Properties)委任(Delegation)]タブをクリックし  ます。
  • [ 指定したサービスのみに委任するためにこのコンピューターを信頼する]チェックボックスをオンにします。(Trust this computer for delegation to specified services)
  • [任意の認証プロトコルを使用する](Use any authentication protocol)が選択されていることを確認して ください。
  • [ OK]をクリックします。
  • 追加]ボタンを(Add button)クリックします。
  • [サービス(Services)の 追加(Add)  ]ダイアログボックスで、[ ユーザー]または[コンピューター]をクリックし、 (Users or Computers)IISからユーザーの資格情報を受け取るファイルサーバーの名前を参照または入力します。
  • OK]をクリックします。
  • 利用可能な(Available) サービス](Services) リストで、CIFSサービス(CIFS service)を選択します。
  • OK]をクリックします。

ステップ2(Step 2)

  • 左側のウィンドウで、[ユーザー]フォルダーを展開します。
  • 右側のウィンドウで、アプリケーションプールのIDであるサービスアカウントを右クリックし、[ プロパティ]を選択して、[(Properties)委任(Delegation)]タブをクリックし  ます。
  • 指定したサービスのみに委任するためにこのコンピューターを信頼する(Trust this computer for delegation to specified services only)]チェックボックスをオンにします。
  • [ Kerberosのみを使用する](Use Kerberos only)が選択されていることを確認して ください。
  • [ OK]をクリックします。
  • 追加]ボタンを(Add button)クリックします。
  • [サービス(Services)追加(Add)  ]ダイアログボックスで、[ ユーザー]または[コンピューター]をクリックし、 (Users or Computers)IISからユーザーの資格情報を受け取るファイルサーバーの名前を参照または入力します。
  • OK]をクリックします。
  • 利用可能な(Available) サービス](Services) リストで、CIFSサービス(CIFS service)を選択します。
  • OK]をクリックします。

この投稿がお役に立てば幸いです。(Hope this post helps.)



About the author

私はユタ大学でコンピュータ エンジニアリングを卒業し、ソフトウェア開発と Windows 開発で 10 年以上の経験があります。PDF や Office ドキュメントを扱った経験があり、iOS や Android プラットフォームを使用してガジェットを作成した経験もあります。



Related posts