UiPath Documentation
automation-suite
2.2510
true
Guia de instalação do Automation Suite no EKS/AKS
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Configurando o AWS Secrets Manager como um Secretstore

Configure o AWS Secrets Manager como um segredo usando a função Node IAM ou chaves de acesso no EKS/AKS.

Você pode configurar o AWS Secrets Manager como um Secretstore usando um dos seguintes métodos de autenticação:

  • Função de IAM do nó - usa a função de IAM anexada à instância do EC2 na qual o pod do ESO é executado
  • Chaves de Acesso (Credenciais Estáticas)

O AWS Secrets Manager armazena segredos como pares de chave-valor ou strings de texto simples.

Por padrão, todos os dados confidenciais são definidos em input.json. Você pode separar esses dados em duas partes:

  • input.json - contém apenas dados de configuração.
  • AWS Secrets Manager - armazena credenciais com segurança.
Observação:

Você não pode armazenar caminhos de certificados ou credenciais relacionadas a certificados como parte do Secretstore.

Usando a função de IAM de nó​

O pod herda permissões do perfil da instância do nó por meio da cadeia de credenciais da AWS padrão. Nenhum segredo do Kubernetes ou configuração adicional é necessário.

Pré-requisitos​

  • Função de IAM anexada ao nó EKS/EC2 com permissões secretsmanager:GetSecretValue e secretsmanager:ListSecrets
  • Função do IAM atribuída ao perfil da instância dos nós que executam o pod do ESO

Configuring input.json​

Para configurar o AWS Secrets Manager como um armazenamento secreto usando a função de IAM de nó, adicione a seguinte seção a 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"
        }
      }
    ]
  }
}

Configurando a política do IAM necessária​

  1. Crie a política do IAM usando a seguinte definição:

    {
      "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. Execute o seguinte comando para criar a política:

    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. Anexe a política à função de IAM associada ao perfil de instância de nó:

    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
    

Usando Chaves de Acesso​

As chaves de acesso usam o ID explícito da chave de acesso da AWS e a chave de acesso secreta armazenada em um segredo do Kubernetes. Esse método é adequado para ambientes que não são EKS ou quando as funções de IAM do nó não estão disponíveis.

Pré-requisitos​

  • Usuário do AWS IAM com permissões secretsmanager:GetSecretValue
  • Segredo do Kubernetes pré-criado com credenciais de chave de acesso

Configuring input.json​

Para configurar o AWS Secrets Manager como um armazenamento secreto usando Chaves de Acesso, siga as seguintes etapas:

  1. Crie o segredo do Kubernetes que armazena as credenciais da AWS:

    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>
    

    O segredo deve conter as seguintes chaves:

    • access-key-id - ID da Chave de Acesso da AWS
    • secret-access-key - Chave de Acesso Secreto da AWS
  2. Adicione a seguinte seção a 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"
            }
          }
        ]
      }
    }
    

Campos de configuração​

A tabela a seguir descreve os campos de configuração disponíveis.

CampoRequiredDescription
aws_kv.regionSimRegião da AWS onde os segredos são armazenados (por exemplo, us-east-1)
credentials_secret_nameNãoSegredo do Kubernetes que contém as credenciais da chave de acesso. Se não estiver definida, a função de IAM do nó será usada.

Referenciando segredos em input.json​

Para fazer referência a uma credencial armazenada no AWS Secrets Manager, use um dos seguintes formatos em input.json:

  • String simples: vault/aws-prod/secret-name
  • Extração da propriedade JSON: vault/aws-prod/secret-name?key=password

Usando a AWS GovCloud​

Se você estiver usando a AWS GovCloud, defina o campo region como uma região da AWS GovCloud (por exemplo, us-gov-west-1 ou us-gov-east-1). Nenhuma outra alteração de configuração é necessária - o valor da região determina a partição da AWS e os endpoints usados.

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

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades