Proxy Auth経由でのHTTP Request系アクティビティ使用について


#1

HTTP Requestや、UiPath.Cognitive.Activitiesに含まれるアクティビティを
使用したワークフローを作成しようとしているのですが、
社内ネットワークから出ていくためには認証ありのProxyを経由する必要がある環境です。

UiRobot.exe.config への設定などで何とかなりそうな気もしたのですがうまく行かず…

UiPath Studio / UiPath Robotで、認証Proxyを通るための設定等に関して知見お持ちの方いらっしゃいましたら、ご教示いただけましたら幸いです。


#2

machine.configに設定を追加すると良いようです。

・32bit環境
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config

・64bit環境
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

追加するセクションは、

<system.net>
    <defaultProxy useDefaultCredentials="true" />
</system.net>

で行けるかと。


#3

試してみましたが、 (407) Proxy Authentication Required.の例外になってしまいます。
そもそも、UiRobot.exe.configにも同様の設定を試していたのですが、うまく行かなかったためこちらで投稿させていただいていた次第です。

(UiRobot.exe.configはUiRobot.exeのみ、machine.configは .Net Frameworkを使う全実行ファイル共通、という違いですよね。。。

Proxy Authを抜けるカスタムアクティビティを作って逃げる、という手も試しましたが、気持ち悪いので、設定でなんとかならないかと思いまして。。。


#4

そもそもの話になってしまいますが、ロボットの実行権限はどのように設定していますか?

defaultProxyや、useDefaultCredentialsの設定は「ユーザーに紐付いたWindowsの認証情報を使う」ので、SYSTEM権限等で実行されていると認証が読めないと思います。

それから、これは前回のUiPath Developer Community ワークショップ(第4回)で出た話題なのですが、UiPathは複数の .NET Framework アプリが組み合わさっていて、個別の .configを弄る方法はうまく動かない原因になりやすいので、machine.configを修正すべき、とのことでした。
実際、UiStudio.exe.config等を全てプロキシを使う設定にしても、NuGet(パッケージ管理)まわりやSequel(Studio等のアップデータ)がプロキシ認証を解決できないようです。

Proxy Authを抜けるカスタムアクティビティを作って逃げる、という手も試しましたが、気持ち悪いので、設定でなんとかならないかと思いまして。。。

SYSTEM権限等で動かしている場合はどうにもならないので、何かしらカスタマイズするしかないのですが。
アクティビティを作るよりは、defaultProxyをオーバーライドするクラス( .NET DLL)を作って、machine.configでロードさせるほうが楽かとは思います。
セキュリティ的にそれで良いのか、という問題はあるので、そこも含めて検討してください。
参考 : https://docs.microsoft.com/ja-jp/dotnet/framework/configure-apps/file-schema/network/module-element-network-settings