- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- ST-USG-005 - ハードコードされたアクティビティのプロパティ
- ST-USG-009 - 未使用の変数
- ST-USG-010 - 未使用の依存関係
- ST-USG-014 - パッケージの制限
- ST-USG-017 - パラメーターの修飾子が無効
- ST-USG-020 - 最小ログ メッセージ
- ST-USG-024 - 未使用で保存されたままの値
- ST-USG-025 - 保存した値の誤用
- ST-USG-026 - アクティビティの制限
- ST-USG-027 - 必要なパッケージ
- ST-USG-028 - ファイル テンプレートの呼び出しの制限
- ST-USG-027 - 必須のタグ
- ST-USG-034 - Automation Hub URL
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- オブジェクト リポジトリ
- ScreenScrapeJavaSupport ツール
- 拡張機能
- Studio でのテスト
- トラブルシューティング
パッケージに署名する
Sign NuGet packages published from Studio using author or repository signing, and sign the assemblies Studio generates, to ensure the security and integrity of processes and libraries.
パブリッシュされるプロセスとライブラリのセキュリティと整合性の確保を目的として、Studio でパッケージの署名が使用できます。
NuGet は、作成者の署名、リポジトリの署名の 2 種類の署名に対応しています。
署名済みパッケージの使用を強制する
署名されたパッケージの使用を強制するには、 Nuget.config ファイルの signatureValidationMode パラメーターを require に設定する必要があります。このファイルは %ProgramFiles%\UiPath\Studio にあります。この設定は、次の 2 つの方法のいずれかで行えます。
- インストール中の場合、 コマンド ライン から
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>
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>
信頼されている署名者として UiPath を追加する方法について詳しくは、『Robot ガイド』の「パッケージの署名の検証」をご覧ください。
信頼できるリポジトリを追加する
信頼できるリポジトリを追加する方法は、作成者の追加とほぼ同じですが、serviceIndex も追加する必要がある点が異なります。
信頼できるリポジトリを NuGet.config ファイルに追加する例を次に示します。
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>
<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>
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners>
</repository>
</trustedSigners>
パッケージに署名する
-
Studio では、プロセスとライブラリに対して、パッケージの署名を [パブリッシュ] ウィンドウと [証明書の署名] タブで行うことができます。
-
[ 証明書の署名 ] タブに、ローカル マシン上の証明書のパスを追加します。必要に応じて、[
] ボタンを使用してそのパスに移動します。使用できるのは .pfxおよび .p12のいすれかの証明書ファイル形式のみです。 -
次に、[証明書のパスワード] を入力し、必要に応じて、[オプションの証明書のタイムスタンパー] を追加します。[パブリッシュ] を選択します。 その結果、証明書とタイムスタンパーにより
.nupkgファイルが署名されます (タイムスタンパーは表示されていた場合のみ)。
結果
パッケージは署名付き .nupkg ファイルとしてパブリッシュされます。
タイムスタンプは、パッケージの署名日時を追跡する確実な方法です。NuGet パッケージ署名におけるタイムスタンプの詳細については、このリンクをご覧ください。
証明書のタイムスタンパーが無効である場合、[パブリッシュ] ボタンをクリックした後に、プロジェクト名を含むエラー メッセージが Studio 内でスローされます。同様のエラー メッセージは、[出力] パネルでも記録されます。
署名の確認が強制されない場合、Studio の v2019.4 より前のバージョンで作成したプロセスは、署名の有無にかかわらず、引き続き実行されます。
一括更新コマンド ライン ツールを使用して、複数のパッケージに署名し、特定の場所に発行します。
プロジェクトに署名なしの依存関係が含まれていると、依存関係の修復機能を使用したときに、他の依存関係の解決が妨げられる場合があります。署名付きの依存関係を解決するため、署名のないパッケージをプロジェクトから削除してください。
Signing Assemblies
Studio can sign the assemblies it generates for a project with your own code signing certificate, both in published packages and when you run or debug the project. Environments with application control policies that allow only signed code can then load these assemblies.
Assembly signing requires one of the following signing tools:
- signtool.exe - Set its path in Sign Tool Path in Settings > Locations, or in the
SIGNTOOL_PATHenvironment variable. Sign Tool Path takes precedence over the environment variable. - osslsigncode - Set its path in the
OSSLSIGNCODE_PATHenvironment variable. It is used when signtool is not configured.
Signing the assemblies of a published package
- In Settings > Locations, set Sign Tool Path to the path of
signtool.exe. - In the Publish window, open the Certificate signing tab and enter the certificate details, as described in Signing a Package.
- Select Sign assemblies, and then select Publish.
The assemblies in the package are signed with the certificate, password, and timestamper from the Certificate signing tab before the package is created. The Sign assemblies option is available only when Sign Tool Path points to an existing file. To pre-fill the certificate path in the Publish window, set Default Publish Certificate in Settings > Locations.
When you publish from the command line, use the --sign-assemblies option together with --cer-path. For more information, refer to About Publishing Automation Projects.
Signing assemblies when running and debugging
- In Settings > Locations, set Dynamic DLLs Certificate to the path of a
.pfxor.p12certificate. - Run or debug the project.
- In the Certificate Password dialog, enter the password of the certificate.
Studio copies the assemblies compiled for the project to the .local_signed folder, signs them, and runs the project from the signed copies. Only the assemblies that changed since the previous run are signed again. The certificate password is stored in Windows Credential Manager. If you cancel the Certificate Password dialog, the execution does not start. The .local_signed folder is not included in published packages.
Signing assemblies when running and debugging is available for projects with the Windows and cross-platform compatibility.