Konfigurieren von Salesforce-Verbindungen - AWS Glue

Konfigurieren von Salesforce-Verbindungen

So konfigurieren Sie eine Salesforce-Verbindung:

  1. Erstellen Sie in AWS Secrets Manager ein Geheimnis mit den folgenden Details:

    1. Für den Gewährungstyps „JWT_TOKEN“ sollte das Geheimnis den JWT_TOKEN-Schlüssel mit seinem Wert enthalten.

    2. Für den Gewährungstyp „AuthorizationCode“:

      1. Für eine von AWS verwaltete verbundene App muss ein leeres Geheimnis oder ein Geheimnis mit einem temporären Wert angegeben werden.

      2. Bei einer vom Kunden verwalteten verbundenen App sollte das Geheimnis die verbundene App Consumer Secret mit USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET als Schlüssel enthalten.

    3. Hinweis: Sie müssen ein Geheimnis für Ihre Verbindung in AWS Glue erstellen.

  2. In AWS Glue Glue Studio erstellen Sie eine Verbindung unter Datenverbindungen, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie als Verbindungstyp Salesforce aus.

    2. Geben Sie die INSTANCE_URL der Salesforce-Instance ein, mit der Sie eine Verbindung herstellen möchten.

    3. Geben Sie die Salesforce-Umgebung an.

    4. Wählen Sie die AWS-IAM-Rolle aus, die AWS Glue annehmen kann und die über Berechtigungen für folgende Aktionen verfügt:

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface" ], "Resource": "*" } ] }
    5. Wählen Sie den OAuth2-Gewährungstyp aus, den Sie für die Verbindungen verwenden möchten. Der Gewährungstyp bestimmt, wie AWS Glue mit Salesforce kommuniziert, um Zugriff auf Ihre Daten anzufordern. Ihre Auswahl wirkt sich auf die Anforderungen aus, die Sie erfüllen müssen, bevor Sie die Verbindung herstellen. Sie können einen der beiden folgenden Typen auswählen:

      • Gewährungstyp JWT_BEARER: Dieser Gewährungstyp eignet sich gut für Automatisierungsszenarien, da er es ermöglicht, vorab ein JSON Web Token (JWT) mit den Berechtigungen eines bestimmten Benutzers in der Salesforce-Instance zu erstellen. Der Ersteller hat die Kontrolle darüber, wie lange das JWT gültig ist. AWS Glue kann das JWT verwenden, um ein Zugriffstoken zu erhalten, das zum Aufrufen von Salesforce-APIs verwendet wird.

        Dieser Ablauf setzt voraus, dass der Benutzer in seiner Salesforce-Instance eine verbundene Anwendung erstellt hat, die die Ausgabe von JWT-basierten Zugriffstoken für Benutzer ermöglicht.

        Informationen zum Erstellen einer verbundenen Anwendung für den JWT-Bearer-OAuth-Flow finden Sie unter OAuth 2.0 JWT Bearer Flow for Server-to-Server Integration. Informationen zum Einrichten des JWT-Bearer-Workflows mit der verbundenen Salesforce-Anwendung finden Sie unter Einrichten des JWT-Bearer-OAuth-Flows für Salesforce.

      • Gewährungstyp AUTHORIZATION_CODE: Dieser Gewährungstyp wird als „dreibeiniges“ OAuth betrachtet, da er darauf angewiesen ist, dass Benutzer zur Authentifizierung an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die AWS Glue-Konsole hergestellt werden. Der Benutzer, der eine Verbindung herstellt, kann sich standardmäßig auf eine verbundene AWS Glue-Anwendung (von AWS Glue verwaltete Client-Anwendung) verlassen, für die er außer der URL seiner Salesforce-Instance keine OAuth-bezogenen Informationen angeben muss. Die AWS Glue-Konsole leitet den Benutzer zu Salesforce weiter, wo er sich anmelden und AWS Glue die angeforderten Berechtigungen für den Zugriff auf seine Salesforce-Instance erteilen muss.

        Benutzer können sich weiterhin dafür entscheiden, ihre eigene verbundene Anwendung in Salesforce zu erstellen und beim Herstellen von Verbindungen über die AWS Glue-Konsole ihre eigene Client-ID und ihren eigenen geheimen Client-Schlüssel anzugeben. In diesem Szenario werden sie weiterhin zu Salesforce weitergeleitet, um sich anzumelden und AWS Glue den Zugriff auf ihre Ressourcen zu gewähren.

        Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden.

        Informationen zum Erstellen einer verbundenen App für den OAuth-Flow mit Autorisierungscode finden Sie unter Einrichten des Autorisierungscode-Flows für Salesforce.

    6. Wählen Sie das secretName aus, das Sie für diese Verbindung in AWS Glue verwenden möchten, um die OAuth-2.0-Token zu speichern.

    7. Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten.

  3. Erteilen Sie der mit Ihrem AWS Glue-Auftrag verknüpften IAM-Rolle die Berechtigung, secretName zu lesen.

  4. Wenn Sie Netzwerkoptionen bereitstellen, gewähren Sie der IAM-Rolle auch die folgenden Berechtigungen:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface" ], "Resource": "*" } ] }

Konfiguration von Salesforce-Verbindungen mit der AWS-CLI

Sie können Salesforce-Verbindungen mit der AWS-CLI erstellen:

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