サイト ルートが UNC パスの場合に Web Deploy to Site を使用した不正アクセス例外が発生する

サイト ルートが UNC パスの場合に Web Deploy to Site を使用した不正アクセス例外が発生する

Web 配置を使用して、ローカル ドライブではなく UNC パスをルートとするサイトを展開しようとしています。これは、共有構成を用意し、すべてのサーバーがコンテンツに対して同じ UNC を指すようにするためです。これにより、1 つのサーバーに展開し、すべてのサーバーを同時に更新できます。すべてのユーザーと読み取り/書き込み権限を持つ共有を作成しました。NTFS アクセス許可には、appDomain アカウントの ID がフル コントロールとして設定されています。これは、管理サービス委任で特定のユーザーとして構成されているアカウントと同じです。その ID で宛先サーバーにログオンし、共有にアクセスしてファイルを作成/削除できます。

ただし、宛先サーバーの Microsoft Web Deploy ログに次の例外が表示されます。

ユーザー: クライアント IP: 192.168.62.174 Content-Type: application/msdeploy バージョン: 9.0.0.0 MSDeploy.VersionMin: 7.1.600.0 MSDeploy.VersionMax: 9.0.1631.0 MSDeploy.Method: Sync MSDeploy.RequestId: c060c823-cdb4-4abe-8294-5ffbdc327d2e MSDeploy.RequestCulture: en-US MSDeploy.RequestUICulture: en-US ServerVersion: 9.0.1631.0 スキップ: objectName="^configProtectedData$" プロバイダー: auto、パス: トレース展開エージェント例外が発生し、クライアントに伝達されました。要求 ID 'c060c823-cdb4-4abe-8294-5ffbdc327d2e'。要求のタイムスタンプ: '8/23/2012 11:01:56 AM'。エラーの詳細: ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER Microsoft.Web.Deployment.DeploymentDetailedUnauthorizedAccessException: 指定されたディレクトリ ("\someserver.mydomain.local\sharename\sitename\applicationName") に対して操作 ("ディレクトリの作成") を実行できません。これは、サーバー管理者が、使用しているユーザー資格情報に対してこの操作を承認していない場合に発生することがあります。詳細については、次を参照してください。 http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER. ---> Microsoft.Web.Deployment.DeploymentException: エラー コードは 0x80070005 でした。 ---> System.UnauthorizedAccessException: パス '\someserver.mydomain.local\sharename\sitename\applicationName' へのアクセスが拒否されました。 Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode, String maybeFullPath)、Microsoft.Web.Deployment.DirectoryEx.CreateDirectory(String path)
、Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory(String fullPath, DeploymentObject source)、Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source, Boolean whatIf) --- 内部例外スタック トレースの終了 --- --- 内部例外スタック トレースの終了 --- Microsoft.Web.Deployment.FilePathProviderBase.HandleKnownRetryableExceptions(DeploymentBaseContext baseContext, Int32[] errorsToIgnore, Exception e, String path, String operation)、Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source, Boolean whatIf)、Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)、 Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)、Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject)、Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)、Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)、Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)、Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)、Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable 1 syncPassId) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable1 passId)、 Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData) は、Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData) にあります。

これは、デプロイメントを実行するマシンのコンソールに次のように表示されます。

C:\Users\PLaComb>"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\Packages\Deployments\applicationName.zip' -dest:auto,computerName='https://サーバー名:8172/msdeploy.axd',includeAcls='True' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\Packages\Deployments\applicationName.SetParameters.xml" -allowUntrusted 情報: リモート サーバーへの接続に ID 'c060c823-cdb4-4abe-8294-5ffbdc327d2e' を使用しています。 情報: サイトマニフェスト (sitemanifest) を追加しています。 情報: 仮想パス (JMS/admin) を追加しています。 情報: ディレクトリ (JMS/admin) を追加しています。 エラー コード: ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER 詳細情報: 指定されたディレクトリ ("\someserver.mydomain.local\sharename\sitename\applicationName") に対して操作 ("ディレクトリの作成") を実行できません。これは、サーバー管理者が、使用しているユーザー資格情報に対してこの操作を許可していない場合に発生する可能性があります。詳細については、次の Web サイトを参照してください。 http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDERエラー: エラー コードは 0x80070005 でした。エラー: パス '\someserver.mydomain.local\sharename\sitename\applicationName' へのアクセスが拒否されました。エラー数: 1。

関連情報