UiPath Documentation
automation-suite
2.2510
true
EKS/AKS 上的 Automation Suite 安装指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

将 AWS Secrets Manager 配置为密码存储

使用 EKS/AKS 上的节点 IAM 角色或访问密钥,将 AWS Secrets Manager 配置为密码存储。

您可以使用以下任一身份验证方法将 AWS Secrets Manager 配置为密码存储:

  • 节点 IAM 角色 - 使用附加到运行 ESO Pod 的 EC2 实例的 IAM 角色
  • 访问密钥(静态凭据)

AWS Secrets Manager 将密码存储为键值对或纯文本字符串。

默认情况下,所有敏感数据都在input.json中定义。您可以将此数据分为两部分:

  • input.json - 仅包含配置数据。
  • AWS Secrets Manager - 安全存储凭据。
备注:

无法将证书路径或与证书相关的凭据作为密码存储区的一部分存储。

使用节点 IAM 角色​

Pod 通过默认的 AWS 凭据链从节点的实例配置文件继承权限。不需要 Kubernetes 密码或其他配置。

先决条件​

  • 附加到具有secretsmanager:GetSecretValue和secretsmanager:ListSecrets权限的 EKS/EC2 节点的 IAM 角色
  • 分配给运行 ESO Pod 的节点的实例配置文件的 IAM 角色

Configuring input.json​

要使用节点 IAM 角色将 AWS Secrets Manager 配置为密码存储,请将以下部分添加到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
    

使用访问密钥​

访问密钥使用显式 AWS 访问密钥 ID 和存储在 Kubernetes 密码中的秘密访问密钥。此方法适用于非 EKS 环境或节点 IAM 角色不可用时。

先决条件​

  • 具有secretsmanager:GetSecretValue权限的 AWS IAM 用户
  • 使用访问密钥凭据预先创建的 Kubernetes 密码

Configuring input.json​

要使用访问密钥将 AWS Secrets Manager 配置为密码存储,请执行以下步骤:

  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"
            }
          }
        ]
      }
    }
    

配置字段​

下表介绍了可用的配置字段。

字段必填描述
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 Academy

有问题? UiPath 论坛

保持更新