- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング
- Azure Government への接続に失敗したため、バックアップのセットアップが機能しない
- カスタム ノード taint を有効化すると uipath 名前空間のポッドがスタックする
- プロキシ設定がある場合に Automation Hub と Apps を起動できない
- Velero のバックアップが FailedValidation エラーで失敗する
- 外部シークレットのトラブルシューティング
- Temporal as a Service のトラブルシューティング
- TLS 証明書の検証が有効化されていると、AI Center と Document Understanding ポッドの起動に失敗する
- TLS 証明書の検証エラー
- Fluentd では、IPv6 環境ではログはエクスポートされません
- デスクトップ版の Studio では Integration Service のコネクタとアクティビティを読み込めない
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
- uipathctl で作成されたワークロードのリソース要求と制限を設定する
AWS Secrets Manager を SecretStore として設定する
EKS/AKS 上のノード IAM ロールまたはアクセス キーを使用して、AWS Secrets Manager を SecretStore として設定します。
AWS Secrets Manager は、次のいずれかの認証方法を使用して SecretStore として設定できます。
- ノードの IAM ロール - ESO ポッドが実行される EC2 インスタンスにアタッチされた IAM ロールを使用します。
- アクセス キー (静的資格情報)
AWS Secrets Manager は、シークレットをキーと値のペアまたはプレーンテキスト文字列として保存します。
デフォルトでは、すべての機密データは input.jsonで定義されます。このデータは、次の 2 つの部分に分けることができます。
input.json- 構成データのみが含まれます。- AWS Secrets Manager - 認証情報を安全に保存します。
証明書のパスや証明書関連の資格情報を secretstore の一部として保存することはできません。
ノード IAM ロールを使用する
ポッドは、デフォルトの AWS 認証情報チェーンを介してノードのインスタンス プロファイルから権限を継承します。Kubernetes シークレットや追加の構成は必要ありません。
前提条件
- EKS/EC2 ノードにアタッチされ、
secretsmanager:GetSecretValue権限とsecretsmanager:ListSecrets権限を持つ IAM ロール - ESO ポッドを実行するノードのインスタンスプロファイルに割り当てられた IAM ロール
Configuring input.json
ノード IAM ロールを使用して AWS Secrets Manager を SecretStore として設定するには、次のセクションを追加しますinput.json
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "aws-prod",
"type": "aws",
"aws_kv": {
"region": "us-east-1"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "aws-prod",
"type": "aws",
"aws_kv": {
"region": "us-east-1"
}
}
]
}
}
必要な IAM ポリシーを設定する
-
次の定義を使用して IAM ポリシーを作成します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret"], "Resource": "arn:aws:secretsmanager:<region>:<account-id>:secret:*" }, { "Effect": "Allow", "Action": ["secretsmanager:ListSecrets"], "Resource": "*" } ] }{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret"], "Resource": "arn:aws:secretsmanager:<region>:<account-id>:secret:*" }, { "Effect": "Allow", "Action": ["secretsmanager:ListSecrets"], "Resource": "*" } ] } -
次のコマンドを実行してポリシーを作成します。
aws iam create-policy \ --policy-name ESOSecretsManagerPolicy \ --policy-document file://secrets-manager-policy.jsonaws iam create-policy \ --policy-name ESOSecretsManagerPolicy \ --policy-document file://secrets-manager-policy.json -
ノードインスタンスプロファイルに関連付けられた IAM ロールにポリシーをアタッチします。
aws iam attach-role-policy \ --role-name <your-role-attached-to-node> \ --policy-arn arn:aws:iam::<your-account-id>:policy/ESOSecretsManagerPolicyaws iam attach-role-policy \ --role-name <your-role-attached-to-node> \ --policy-arn arn:aws:iam::<your-account-id>:policy/ESOSecretsManagerPolicy
アクセス キー () を使用する
アクセス キーは、Kubernetes シークレットに格納された明示的な AWS アクセス キー ID とシークレット アクセス キーを使用します。この方法は、EKS 以外の環境や、ノードの IAM ロールを利用できない場合に適しています。
前提条件
secretsmanager:GetSecretValue権限を持つ AWS IAM ユーザー- アクセス キーの資格情報で事前に作成された Kubernetes シークレット
Configuring input.json
アクセス キーを使用して AWS Secrets Manager を SecretStore として設定するには、以下の手順を実行します。
-
AWS の資格情報を格納する Kubernetes シークレットを作成します。
kubectl create secret generic aws-credentials \ --namespace uipath \ --from-literal=access-key-id=<your-access-key-id> \ --from-literal=secret-access-key=<your-secret-access-key>kubectl create secret generic aws-credentials \ --namespace uipath \ --from-literal=access-key-id=<your-access-key-id> \ --from-literal=secret-access-key=<your-secret-access-key>シークレットには、次の各キーを記述する必要があります。
access-key-id- AWS アクセス キー IDsecret-access-key- AWS シークレットのアクセス キー
-
次のセクションを
input.jsonに追加します。{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "aws-prod", "type": "aws", "credentials_secret_name": "aws-credentials", "aws_kv": { "region": "us-east-1" } } ] } }{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "aws-prod", "type": "aws", "credentials_secret_name": "aws-credentials", "aws_kv": { "region": "us-east-1" } } ] } }
設定フィールド
次の表で、利用可能な設定フィールドについて説明します。
| フィールド | Required | 説明 |
|---|---|---|
aws_kv.region | はい | シークレットを保存する AWS リージョン (例: us-east-1) |
credentials_secret_name | いいえ | アクセス キーの資格情報を含む Kubernetes シークレット設定しない場合は、ノードの IAM ロールが使用されます。 |
input.json でシークレットを参照する
AWS Secrets Manager に保存されている認証情報を参照するには、 input.jsonで次のいずれかの形式を使用します。
- プレーン文字列:
vault/aws-prod/secret-name - JSON プロパティの抽出:
vault/aws-prod/secret-name?key=password
AWS GovCloud を使用する
AWS GovCloud を使用している場合は、[ region ] フィールドを AWS GovCloud のリージョン ( us-gov-west-1 や us-gov-east-1など) に設定します。その他の設定変更は不要です。リージョンの値によって、使用する AWS パーティションとエンドポイントが決まります。
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "aws-gov",
"type": "aws",
"credentials_secret_name": "aws-credentials",
"aws_kv": {
"region": "us-gov-west-1"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "aws-gov",
"type": "aws",
"credentials_secret_name": "aws-credentials",
"aws_kv": {
"region": "us-gov-west-1"
}
}
]
}
}