UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en EKS/AKS
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Configurar AWS Secrets Manager como almacén de secretos

Configura AWS Secrets Manager como almacén de secretos utilizando el rol de IAM de nodo o las claves de acceso en EKS/AKS.

Puedes configurar AWS Secrets Manager como almacén de secretos utilizando cualquiera de los siguientes métodos de autenticación:

  • Rol de IAM de nodo: utiliza el rol de IAM asociado a la instancia EC2 donde se ejecuta el pod de ESO
  • Claves de acceso (credenciales estáticas)

AWS Secrets Manager almacena los secretos como pares clave-valor o cadenas de texto sin formato.

De forma predeterminada, todos los datos confidenciales se definen en input.json. Puedes separar estos datos en dos partes:

  • input.json : solo contiene datos de configuración.
  • AWS Secrets Manager: almacena las credenciales de forma segura.
Nota:

No puedes almacenar rutas de certificados o credenciales relacionadas con certificados como parte del almacén de secretos.

Uso del rol de IAM de nodo​

El pod hereda los permisos del perfil de instancia del nodo a través de la cadena de credenciales de AWS predeterminada. No se necesita ningún secreto de Kubernetes ni configuración adicional.

Requisitos previos​

  • Rol de IAM asociado al nodo EKS/EC2 con permisos secretsmanager:GetSecretValue y secretsmanager:ListSecrets
  • Rol de IAM asignado al perfil de instancia de los nodos que ejecutan el pod de ESO

Configuring input.json​

Para configurar AWS Secrets Manager como almacén de secretos utilizando el rol de IAM de nodo, añade la siguiente sección 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"
        }
      }
    ]
  }
}

Configurar la política de IAM necesaria​

  1. Crea la política de IAM utilizando la siguiente definición:

    {
      "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. Ejecuta el siguiente comando para crear la 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. Adjunta la política al rol de IAM asociado al perfil de instancia de nodo:

    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
    

Uso de claves de acceso​

Claves de acceso utiliza el ID de clave de acceso de AWS explícito y la clave de acceso secreta almacenada en un secreto de Kubernetes. Este método es adecuado para entornos que no son EKS o cuando los roles de IAM de nodo no están disponibles.

Requisitos previos​

  • Usuario de AWS IAM con permisos secretsmanager:GetSecretValue
  • Secreto de Kubernetes creado previamente con credenciales de clave de acceso

Configuring input.json​

Para configurar AWS Secrets Manager como almacén de secretos utilizando claves de acceso, sigue los siguientes pasos:

  1. Crea el secreto de Kubernetes que almacena las credenciales de 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>
    

    El secreto debe contener las siguientes claves:

    • access-key-id : ID de clave de acceso de AWS
    • secret-access-key : clave de acceso secreta de AWS
  2. Añade la siguiente sección 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 configuración​

La siguiente tabla describe los campos de configuración disponibles.

CampoObligatorioDescripción
aws_kv.regionSíRegión de AWS donde se almacenan los secretos (por ejemplo, us-east-1)
credentials_secret_nameNoSecreto de Kubernetes que contiene las credenciales de la clave de acceso. Si no se establece, se utiliza el rol de IAM del nodo.

Referenciar secretos en input.json​

Para hacer referencia a una credencial almacenada en AWS Secrets Manager, utiliza uno de los siguientes formatos en input.json:

  • Cadena simple: vault/aws-prod/secret-name
  • Extracción de propiedad JSON: vault/aws-prod/secret-name?key=password

Uso de AWS GovCloud​

Si utilizas AWS GovCloud, establece el campo region en una región de AWS GovCloud (por ejemplo, us-gov-west-1 o us-gov-east-1). No se requieren otros cambios de configuración: el valor de la región determina la partición de AWS y los puntos finales utilizados.

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

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado