Configuración de conexiones de Salesforce
Para configurar una conexión de Salesforce:
En AWS Secrets Manager, cree un secreto con los siguientes detalles:
Para el tipo de concesión JWT_TOKEN, el secreto debe contener la clave JWT_TOKEN con su valor.
Para el tipo de concesión AuthorizationCode:
En el caso de una aplicación conectada administrada de AWS, es necesario proporcionar un secreto vacío o un secreto con algún valor temporal.
En el caso de una aplicación conectada administrada por el cliente, el secreto debe contener la aplicación conectada de
Consumer Secret
conUSER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET
como la clave.
Nota: Debe crear un secreto para su conexión en AWS Glue.
En AWS Glue Glue Studio, cree una conexión en Conexiones de datos según los pasos que se indican a continuación:
Al seleccionar un Tipo de conexión, seleccione Salesforce.
Proporcione el valor INSTANCE_URL de la instancia de Salesforce a la que desea conectarse.
Proporcione el entorno de Salesforce.
Seleccione el rol de AWS IAM que AWS Glue pueda asumir y que tenga permisos para las siguientes acciones:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterface", "ec2:DeleteNetworkInterface", ], "Resource": "*" } ] }
Seleccione el tipo de concesión de OAuth2 que desee utilizar para las conexiones. El tipo de concesión determina cómo se comunica AWS Glue con Salesforce para solicitar el acceso a sus datos. Su elección afecta a los requisitos que debe cumplir antes de crear la conexión. Puede elegir uno de estos tipos:
Tipo de concesión JWT_BEARER: este tipo de concesión funciona bien en escenarios de automatización, ya que permite crear un token web JSON (JWT) por adelantado con los permisos de un usuario concreto en la instancia de Salesforce. El creador tiene el control sobre el tiempo de validez del JWT. AWS Glue puede usar el JWT para obtener un token de acceso que se utiliza para llamar a las API de Salesforce.
Este flujo requiere que el usuario haya creado una aplicación conectada en su instancia de Salesforce que permita emitir tokens de acceso basados en JWT para los usuarios.
Para obtener información sobre cómo crear una aplicación conectada para el flujo OAuth del portador de JWT, consulte OAuth 2.0 JWT bearer flow for server-to-server integration
. Para configurar el flujo portador de JWT con la aplicación conectada a Salesforce, consulte Configuración del flujo OAuth del portador JWT para Salesforce. Tipo de concesión AUTHORIZATION_CODE: este tipo de concesión se considera un OAuth “de tres vías”, ya que se basa en redirigir a los usuarios al servidor de autorización externo para autenticar al usuario. Se utiliza para crear conexiones a través de la consola. Se utiliza para crear conexiones a través de la consola de AWS Glue. El usuario que crea una conexión puede utilizar de forma predeterminada una aplicación conectada de AWS Glue (aplicación de AWS Glue administrada por el cliente), en la que no necesita proporcionar ninguna información relacionada con OAuth, excepto la URL de su instancia de Salesforce. La consola de AWS Glue redirigirá al usuario a Salesforce, donde deberá iniciar sesión y permitir a AWS Glue que los permisos solicitados accedan a su instancia de Salesforce.
Los usuarios aún pueden optar por crear su propia aplicación conectada en Salesforce y proporcionar su propio ID y secreto de cliente al crear conexiones a través de la consola de AWS Glue. En este escenario, se les continuará redirigiendo a Salesforce para iniciar sesión y autorizar a AWS Glue para que acceda a sus recursos.
Este tipo de concesión da como resultado un token de actualización y un token de acceso. El token de acceso es de corta duración y se puede actualizar automáticamente sin la interacción del usuario mediante el token de actualización.
Para obtener más información sobre cómo crear una aplicación conectada para el flujo de OAuth con código de autorización, consulte Configuración del flujo de códigos de autorización de Salesforce.
Seleccione el elemento
secretName
que desee usar para esta conexión en AWS Glue para guardar los tokens de OAuth 2.0.Seleccione las opciones de red si quiere usar su red.
Conceda el rol de IAM asociado a su permiso de trabajo de AWS Glue para leer
secretName
.Si proporciona opciones de red, conceda también al rol de IAM los siguientes permisos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterface", "ec2:DeleteNetworkInterface", ], "Resource": "*" } ] }
Configuración de conexiones de Salesforce con la CLI de AWS
Puede crear conexiones de Salesforce mediante la CLI de AWS:
aws glue create-connection --connection-input \ "{\"Name\": \"salesforce-conn1\",\"ConnectionType\": \"SALESFORCE\",\"ConnectionProperties\": {\"ROLE_ARN\": \"arn:aws:iam::123456789012:role/glue-role\",\"INSTANCE_URL\": \"https://example.my.salesforce.com\"},\"ValidateCredentials\": true,\"AuthenticationConfiguration\": {\"AuthenticationType\": \"OAUTH2\",\"SecretArn\": \"arn:aws:secretsmanager:us-east-1:123456789012:secret:salesforce-conn1-secret-IAmcdk\",\"OAuth2Properties\": {\"OAuth2GrantType\": \"JWT_BEARER\",\"TokenUrl\": \"https://login.salesforce.com/services/oauth2/token\"}}}" \ --endpoint-url https://glue.us-east-1.amazonaws.com \ --region us-east-1