🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

31492閲覧

IIS上で別サーバーの共有フォルダにアクセスする方法

deranail

総合スコア14

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2020/02/18 01:42

編集2020/02/18 06:59

お世話になります。

現在、Win2012サーバー上にあるWebアプリケーションから
別のファイルサーバー上の共有フォルダにアクセスする機能を作成しています。

この際、共有フォルダのアクセス権は
どの様に設定すると良いのでしょうか?
Everyoneフルコントロールを設定すればアクセスできますが、
セキュリティ的には危険ですので、
適切な設定があればご教授お願いします。

※IISの偽装起動をすれば解決はできましたが、
それ以外の方法を模索しています。

Webサーバー:Windows2012
IIS:8

追記:
・ファイルサーバーとWebサーバーは同じドメイン上にいます。

・機能としては、Webサイト上でPDFを作成→PDFをWeb画面上に表示しつつ
ファイルサーバーにファイルを保存という流れとなります。
この際、ファイルサーバーにアクセスがしたいです。

・web.configの中で
<identity impersonate="true" userName="*****" password="*****" />
と設定する事で、指定ユーザーの権限で共有フォルダにアクセスする事は可能でしたが
偽装ユーザーではなく、IISでデフォルトで起動した際のIISユーザーで共有フォルダにアクセスをしたい。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/02/18 02:11 編集

環境(例:クライアントもサーバーもすべて Active Directory ドメイン環境に属しているとか)とアクセスというのは具体的にどういう操作をするのか(例:ASP.NET の HTTP ジェネリックハンドラを使ってクライアントにダウンロードさせるとか)によります。
退会済みユーザー

退会済みユーザー

2020/02/18 02:19

「IISのなりすまし」とは何ですか? 偽装のことですか? どのように設定しているのですか?
Y.H.

2020/02/18 02:41

どのユーザーの権限でアクセスしたいのでしょうか? ・アプリケーションプールの実行ユーザー(ADのユーザー?) ・特定の任意のADユーザー(Web.configなどで定義?) ・クライアントの(ブラウザ実行している)ユーザー(ADユーザー?)
deranail

2020/02/18 03:05

SurferOnWwwさま 回答ありがとうございます。 ファイルサーバーとWebサーバーは同じドメイン上にいます。 機能としては、 Webサイト上でPDFを作成→PDFをWeb画面上に表示しつつファイルサーバーにファイルを保存 という流れとなります。 なりすましは偽装の事でweb.configの中で <identity impersonate="true" userName="*****" password="*****" /> と設定しています。 ここで指定したユーザーの権限で共有フォルダにアクセスする事は可能でした。
deranail

2020/02/18 03:09

Y.Hさま 回答ありがとうございます。 アクセスしたいのは、IISでデフォルトで起動した際のIISユーザーです。 Webサーバーのアプリケーションプールの実行ユーザーで ファイルサーバーにアクセスする事は設定上可能でしょうか?
Y.H.

2020/02/18 06:52 編集

この発言取り消します。 <s>アプリケーションプールの実行ユーザーをADに存在するユーザーに変更するのは無しってことなら ファイルサーバー側で個別に権限を与えることができないので出来ないですね。</s>
退会済みユーザー

退会済みユーザー

2020/02/18 07:31 編集

deranail さん> 2020/02/18 12:05 と 12:09 の質問者さんのコメントを質問欄を編集して追記していただくようお願いします。質問のコメント欄は初期画面では開かないので見ない人がいますから。ここ Teratail は技術者同士の情報交換の場所ということらしいので、適切な情報提供の意味でお願いします。
退会済みユーザー

退会済みユーザー

2020/02/18 05:14

Y.H. さん> IIS のワーカープロセスにファイルサーバーの共有フォルダにアクセス権は与えることはできないと言われてますか? ワーカープロセスはネットワーククレデンシャルを持っているので Web サーバーとファイルサーバーが AD に属していればアクセス権を与えることはできるはずですが?
Y.H.

2020/02/18 06:51

SurferOnWwwさん コンピューターアカウントを許可すればOK・・・というのをすっかり忘れてました。。。 ご指摘ありがとうございます。
guest

回答1

0

ベストアンサー

ファイルサーバーとWebサーバーは同じドメイン上にいます。

機能としては、Webサイト上でPDFを作成→PDFをWeb画面上に表示しつつファイルサーバーにファイルを保存という流れとなります。

ということであれば、IIS のワーカープロセスがファイルサーバーの目的のフォルダに読み書き権限を持っていれば良いということと理解します。

質問者さんが行っているように偽装を使うのが最も簡単だと思います。偽装するドメインアカウントの権限をできるだけ低く抑えておけばセキュリティリスクも問題ないレベルに抑えられるのではないでしょうか?

Webサーバーのアプリケーションプールの実行ユーザーでファイルサーバーにアクセスする事は設定上可能でしょうか?

Web サーバーもファイルサーバーも Active Directory ドメイン環境に属していれば、<domainname><machinename>$ というアカウントにファイルサーバーの目的のフォルダに対する必要なアクセス権を与えれば可能なはずです。。

詳しくは、以下の記事の「ネットワークへのアクセス」のセクションを見てください。

アプリケーション プール ID
https://docs.microsoft.com/ja-jp/previous-versions/ee886292(v=technet.10)?redirectedfrom=MSDN

投稿2020/02/18 05:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

deranail

2020/02/18 08:32

ありがとうございました。 回答方法で解決出来ました。 ユーザーの追加からひたすら探していましたが、 ユーザーの追加、ではなくコンピューターの追加だったのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問