パブリッシュされるプロセスとライブラリのセキュリティと整合性の確保を目的として、Studio でパッケージの署名が使用できます。
NuGet は、作成者の署名、リポジトリの署名の 2 種類の署名に対応しています。
署名済みパッケージの使用を強制する
署名されたパッケージの使用を強制するには、 Nuget.config
ファイルの signatureValidationMode
パラメーターを require
に設定する必要があります。このファイルは %ProgramFiles%\UiPath\Studio
にあります。この設定は、次の 2 つの方法のいずれかで行えます。
- During installation, by installing from the command line with the option
ENFORCE_SIGNED_EXECUTION=1
.
たとえば、コマンド「UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1
」を使用すると、Studio と Windows サービスとしての Robot をインストールしてお使いの UiPath 環境でのパッケージ署名の使用を強制します。 - インストール後の場合、
Nuget.config
ファイルを手動で編集する。
インストール後にパラメーターを設定した場合は、以下の操作を行った後に変更が有効になります。- Robot サービスを再起動する。
- 既存のすべての NuGet パッケージを
%ProgramFiles%\UiPath\Studio\Packages
と%userprofile%\.nuget\packages
から削除する。 - Studio/Assistant を再起動する。
既定では、UiPath パッケージはリポジトリであり、作成者によって署名されています。このようなパッケージは、追加のアクションを実行することなく [パッケージを管理] 機能を使用してダウンロードおよびインストールできます。信頼できる作成者、リポジトリ、所有者の追加方法については、このページのこれ以降のセクションをご覧ください。
注:
複数のフィードが使用されている場合、NuGet は最も応答が早いフィードを選択します。署名済みのパッケージおよび依存関係が含まれていないフィードがあると、Robot が署名されていないパッケージまたは依存関係を受け取ってオートメーションが失敗する可能性があります。これを回避するには、設定されたすべてのフィードに、署名済みのパッケージおよび依存関係が含まれていることを確認してください。
信頼できるソースを追加する
特定の証明書で署名されたパッケージをダウンロード、インストール、実行するには、この証明書を信頼できるソースとして追加します。これを行うには、インストール フォルダーにある nuget.config
ファイル (主にセクション <trustedSigners>
) を変更します。
信頼できる作成者を追加する
信頼できる作成者を追加するには、%ProgramFiles%\UiPath\Studio\NuGet.config
にある NuGet.config
ファイルを開き、certificatefingerprint
と hashAlgorithm
を設定します。証明書の指紋の詳細については、このページをご覧ください。
allowUntrustedRoot
を true
または false
に設定します。
allowUntrustedRoot = "true"
- 信頼されている署名者が信頼されていないルートにチェーンできるようにする場合。allowUntrustedRoot = "false"
- 信頼されている署名者が信頼されていないルートにチェーンできないようにする場合。
このエントリは、次の例のようになるはずです。
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>
For more information on adding UiPath as a trusted signer, see Package Signature Verification in the Robot guide.
信頼できるリポジトリを追加する
信頼できるリポジトリを追加する方法は、作成者の追加とほぼ同じですが、serviceIndex
も追加する必要がある点が異なります。
信頼できるリポジトリを NuGet.config
ファイルに追加する例を次に示します。
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>
信頼できる所有者を追加する
リポジトリには、複数の作成者により署名されたパッケージを含むことがあります。この場合、<owners>
タグを使用して、信頼できる作成者により署名されたパッケージのみのインストールを許可することができます。
<owners>
タグの間に、信頼できる作成者を追加します (以下の例を参照)。
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners>
</repository>
</trustedSigners>

パッケージに署名する
- Studio では、プロセスとライブラリに対して、パッケージの署名を [パブリッシュ] ウィンドウと [証明書の署名] タブで行うことができます。

-
[証明書の署名] タブに、ローカル マシン上の証明書のパスを追加します。必要に応じて、
ボタンを使用してそのパスに移動します。
-
次に、[証明書のパスワード] を入力し、必要に応じて、[オプションの証明書のタイムスタンパー] を追加します。[パブリッシュ] をクリックします。その結果、証明書とタイムスタンパーにより
.nupkg
ファイルが署名されます (タイムスタンパーは表示されていた場合のみ)。
タイムスタンプは、パッケージの署名日時を追跡する確実な方法です。NuGet パッケージ署名におけるタイムスタンプの詳細については、このリンクをご覧ください。
証明書のタイムスタンパーが無効である場合、[パブリッシュ] ボタンをクリックした後に、プロジェクト名を含むエラー メッセージが Studio 内でスローされます。同様のエラー メッセージは、[出力] パネルでも記録されます。
注:
署名の確認が強制されない場合、Studio の v2019.4 より前のバージョンで作成したプロセスは、署名の有無にかかわらず、引き続き実行されます。
一括更新コマンド ライン ツールを使用して、複数のパッケージに署名してから所定の場所にパブリッシュします。
注:
プロジェクトに署名なしの依存関係が含まれていると、依存関係の修復機能を使用したときに、他の依存関係の解決が妨げられる場合があります。署名付きの依存関係を解決するため、署名のないパッケージをプロジェクトから削除してください。
約 1 か月前に更新