UiPath Documentation
automation-suite
2.2510
true
EKS/AKS の Automation Suite のインストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

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 ポリシーを設定する​

  1. 次の定義を使用して 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": "*"
        }
      ]
    }
    
  2. 次のコマンドを実行してポリシーを作成します。

    aws iam create-policy \
        --policy-name ESOSecretsManagerPolicy \
        --policy-document file://secrets-manager-policy.json
    aws iam create-policy \
        --policy-name ESOSecretsManagerPolicy \
        --policy-document file://secrets-manager-policy.json
    
  3. ノードインスタンスプロファイルに関連付けられた IAM ロールにポリシーをアタッチします。

    aws iam attach-role-policy \
        --role-name <your-role-attached-to-node> \
        --policy-arn arn:aws:iam::<your-account-id>:policy/ESOSecretsManagerPolicy
    aws 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 として設定するには、以下の手順を実行します。

  1. 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 アクセス キー ID
    • secret-access-key - AWS シークレットのアクセス キー
  2. 次のセクションを 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"
        }
      }
    ]
  }
}

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得