- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- Automation Suite をアップグレードする
- スタンドアロン製品を Automation Suite に移行する
- 手順 1: スタンドアロンの製品データベースを復元する
- 手順 2: 復元した製品データベースのスキーマを更新する
- 手順 3: Identity 組織データをスタンドアロンから Automation Suite に移動する
- 手順 4: Automation Suite のプラットフォーム データベースをバックアップする
- 手順 5: 組織を Automation Suite にマージする
- 手順 6: 以降済みの製品の接続文字列を更新する
- 手順 7: スタンドアロンの Orchestrator を移行する
- 手順 8: スタンドアロンの Insights を移行する
- 手順 9: スタンドアロンの Test Manager を移行する
- 手順 10: 既定のテナントを削除する
- 単一テナントの移行を実行する
- Automation Suite クラスター間を移行する
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング

OpenShift の Automation Suite のインストール ガイド
証明書を管理する
インストール プロセスによって、ユーザーに代わって自己署名証明書が生成されます。これらの証明書は 90 日で有効期限が切れます。インストールが完了したら、信頼された証明機関 (CA) によって署名された証明書にすみやかに置換する必要があります。証明書を更新しない場合、インストールは 90 日後に停止します。
uipathctl CLI ツールを使用して、インストール後に証明書を更新できます。詳しくは、uipathctl のドキュメントをご覧ください。
証明書署名要求 (CSR) と秘密キーを生成する
CSR および秘密キーを生成するには、次のコマンドを実行します。
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
IT チームが、取得した値を使用して署名証明書を生成します。生成された秘密キーはローカルのままです。
TLS 証明書を管理する
TLS 証明書の更新に関する詳細情報を表示するには、次のコマンドを実行します。
uipathctl config update-tls-certificates --help
uipathctl config update-tls-certificates --help
出力:
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
TLS 証明書を検索する
証明書は Istio レベルでシークレットとして保存されます。証明書は、<istio-system> 名前空間内に istio-ingressgateway-certs という名前で確認できます。
証明書ファイルについては、以下のリストをご覧ください。
- サーバー TLS 証明書は
tls.crtとして保存されます。 - サーバー TLS 秘密キーは
tls.keyとして保存されます。 - CA バンドルは
ca.crtとして保存されます。
次のコマンドを使用して、シークレットを確認できます。
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
証明書は <uipath> 名前空間にも保存されます。これは、受信呼び出しを信頼するために証明書情報を必要とするすべての UiPath® 製品に適用されます。詳細については、「 証明書に関連するコンテナー アーキテクチャを理解する」をご覧ください。
TLS 証明書を更新する
サーバー証明書を更新する前に、「 証明書署名要求 (CSR) と秘密キーの生成 」セクションで生成された秘密キーを復号する必要があります。この復号手順をスキップすると、エラーが発生します。
証明書キーを復号するには、次のコマンドを実行します。
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
証明書を更新するには、次の uipathctl コマンドを実行します。3 つの証明書ファイルのそれぞれに対するパスが必要です。証明書ファイルは、いずれも pem 形式である必要があります。
- 証明機関バンドル - このバンドルには TLS サーバー証明書への署名に使用するチェーン証明書のみを含める必要があります。
--cacertオプションで提供される証明書には、リーフ証明書を含めないでください。チェーンの制限は最大 9 個の証明書です。 - サーバー証明書 - 公開サーバー証明書です。
注:
次の例に示すように、
server.crtファイルにはチェーン全体が含まれている必要があります。-----server cert----- -----root ca chain----------server cert----- -----root ca chain----- - 秘密キー - サーバー証明書の秘密キーです。
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.keyuipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
証明書を自分で管理する場合は、certificates update コマンドで --use-istio-cert フラグを使用する必要があります。このフラグを使用すると、既存のシークレットを uipath 名前空間にコピーできます。--use-istio-cert フラグを使用する場合は、他の証明書フラグを使用しないでください。他のフラグを使用しないと、コマンドは失敗します。
uipathの代わりに他の名前空間を使用する場合は、--namespace <uipath> フラグに渡すことで指定する必要があります。<uipath> は Automation Suite がデプロイされている名前空間を表します。
TLS 証明書にアクセスする
証明書ファイルを出力するには、次のコマンドを実行します。
uipathctl config tls-certificates get
uipathctl config tls-certificates get
追加の CA 証明書を管理する
クラスターに外部ソフトウェアを信頼させるには、追加の信頼された CA 証明書の提供が必要になる場合があります。 たとえば、SQL Server の CA 証明書、SMTP サーバーの CA 証明書、外部の S3 互換 ObjectStore の CA 証明書などがあります。
インストール時に、セキュリティで保護された TLS 通信を必要とする外部ソフトウェアすべてに対して CA 証明書を提供する必要があります。 ただし、TLS 通信を有効化していない場合は、インストール後に設定できます。
追加の CA 証明書の詳細情報を表示するには、次のコマンドを実行します。
uipathctl config additional-ca-certificates --help
uipathctl config additional-ca-certificates --help
出力:
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.
***************************************************************************************
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.
***************************************************************************************
以降のセクションでは、uipathctl config additional-ca-certificates コマンドを使用して実行できる操作について説明します。
CA 証明書を更新する
CA 証明書を更新するには、次の手順を実行します。
-
input.jsonファイルを更新して、additional_ca_certsを含むファイルを指すようにします。このパラメーターについて詳しくは、「 証明書の設定」をご覧ください。 -
マニフェストを適用します。
uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json重要:このコマンドは、次のようなエラーで失敗する可能性があります。
Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition, failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition, failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]障害に関係なく、手順 3 に進み、デプロイを再起動して環境を安定させます。
-
uipath名前空間のすべてのデプロイとステートフル セットを手動で再起動します。kubectl rollout restart deployment -n <uipath> kubectl rollout restart sts -n <uipath>kubectl rollout restart deployment -n <uipath> kubectl rollout restart sts -n <uipath>
古い証明書を追加するには、「CA 証明書にアクセスする」セクションの get コマンドを使用し、[additional_ca_certs] フィールドに指定する必要がある CA 証明書 .pem ファイルに追加する必要があります。
CA 証明書バンドル ファイルは有効な .pem 形式である必要があり、複数の証明書を含めることができます。
CA 証明書にアクセスする
設定済みの CA 証明書をダウンロードするには、次のコマンドを実行します。
uipathctl config additional-ca-certificates get --namespace <uipath>
uipathctl config additional-ca-certificates get --namespace <uipath>
ID トークン署名証明書を管理する
Automation Suite では、ID トークン署名証明書のローテーションを管理する方法として、自動と手動の 2 つの方法が用意されています。
追加の ID トークン署名証明書の詳細情報を表示するには、次のコマンドを実行します。
uipathctl config token-signing-certificates --help
uipathctl config token-signing-certificates --help
出力:
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
automatic-key-management Manage key management
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.
************************************************************************************
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
automatic-key-management Manage key management
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.
************************************************************************************
証明書への署名には、キーの最大長 4096 ビットを使用できます。 ベスト プラクティスとして、少なくとも 512 ビット (64 バイト) のキー長を使用することを強くお勧めします。
次のセクションでは、uipathctl config token-signing-certificates コマンドを使用して実行できる操作について詳しく説明します。
証明書の自動ローテーション
証明書の自動ローテーションとは、署名キーのライフサイクルを Automation Suite が管理することを意味します。 これには、90 日ごとのキーのローテーション、ローテーションの 14 日前に新しいキーのアナウンス、ローテーション後の 14 日間古いキーを保持し、14 日間の期間が終了したら削除することが含まれます。
古いバージョンから v2024.10 にアップグレードする場合、証明書の自動ローテーションは既定で無効化されています。 自動キー管理を有効にするには、次のコマンドを使用します。
uipathctl config token-signing-certificates automatic-key-management enable
uipathctl config token-signing-certificates automatic-key-management enable
証明書の自動ローテーションを有効化すると、最大 1 時間のダウンタイムが発生する可能性があります。
Automation Suite のクリーン インストールの場合、証明書の自動ローテーションは既定で有効化されています。 自動キー管理を無効にするには、次のコマンドを使用します。
uipathctl config token-signing-certificates automatic-key-management disable
uipathctl config token-signing-certificates automatic-key-management disable
自動管理機能が無効になっている場合は、署名証明書を手動で更新およびローテーションする必要があります。 手動のキー管理について詳しくは、証明書の手動更新とローテーションに関するドキュメントをご覧ください。
証明書の手動更新
新しい証明書をアップロードしてトークンに署名するには、次のコマンドを実行します。
次のコマンドは、既存のトークン署名証明書を置換するものではありません。提供する証明書が .pem 形式であることを確認してください。次の例に示すように、 server.crt ファイルにはチェーン全体が含まれている必要があります。
-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----
uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key
uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key
証明書を手動でローテーションする
古い証明書をローテーションしたり、新しい証明書に置換したりするには、次のコマンドを実行します。
uipathctl config token-signing-certificates rotate --namespace <uipath>
uipathctl config token-signing-certificates rotate --namespace <uipath>
ローテーション後、次のコマンドを実行して、デプロイとステートフル セットを再起動します。
kubectl -n <uipath> rollout restart deploy
kubectl -n <uipath> rollout restart sts
kubectl -n <uipath> rollout restart deploy
kubectl -n <uipath> rollout restart sts
証明書にアクセスする
現在のトークン署名証明書をダウンロードするには、次のコマンドを実行します。
uipathctl config token-signing-certificates get --namespace <uipath>
uipathctl config token-signing-certificates get --namespace <uipath>
証明書の更新とローテーションの間には、約 24 - 48 時間のリード タイムが必要です。
このリード タイムは、キャッシュされている、古い証明書によって署名されたトークンの認証を引き続きサポートするために必要となります。
キャッシュ トークンの有効期限の満了を待たずに証明書をローテーションすると、ダウンタイムが発生する場合があります。この場合、すべてのロボットの再起動が必要になる可能性もあります。