Mailchimp supports following two types for authentication mechanism:
-
Mailchimp supports the
AUTHORIZATION_CODE
grant type.-
This grant type is considered “three-legged”
OAuth
as it relies on redirecting users to the third party authorization server to authenticate the user. It is used when creating connections via the AWS Glue Console. The user creating a connection may by default rely on a AWS Glue owned connected app where they do not need to provide anyOAuth
related information except for their Mailchimp Client ID and Client Secret. The AWS Glue Console will redirect the user to Mailchimp where the user must login and allow AWS Glue the requested permissions to access their Mailchimp instance. -
Users may still opt to create their own connected app in Mailchimp and provide their own Client ID and Client Secret when creating connections through the AWS Glue Console. In this scenario, they will still be redirected to Mailchimp to login and authorize AWS Glue to access their resources.
-
For public Mailchimp documentation on creating a connected app for
AUTHORIZATION_CODE OAuth
flow, see Access Data on Behalf of Other Users with OAuth 2.
-
-
Custom Auth – For public Mailchimp documentation about generating the required API keys for custom authorization, see About API Keys
.
To configure a Mailchimp connection:
-
In AWS Secrets Manager, create a secret with the following details:
-
OAuth
auth – For customer managed connected app: Secret should contain the connected app Consumer Secret withUSER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET
as key. -
Custom auth – For customer managed connected app: Secret should contain the connected app Consumer Secret with “api_key” as key.
Note
It is a must to create a secret per connection in AWS Glue.
-
-
In AWS Glue Studio, create a connection under Data Connections by following the steps below:
-
Under Connections, select Create connection.
-
When selecting a Data Source, select Mailchimp.
-
Provide the Mailchimp
instanceUrl
. -
Select the IAM role for which AWS Glue can assume and has permissions for following actions:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterface", "ec2:DeleteNetworkInterface", ], "Resource": "*" } ] }
-
Select Authentication Type to connect to Mailchimp:
-
For
OAuth
auth – Provide the Token URL, User Managed Client Application ClientId of the Mailchimp that you want to connect to. -
For Custom auth – Select Authentication Type CUSTOM to connect to Mailchimp.
-
-
Select the
secretName
which you want to use for this connection in AWS Glue to put the tokens. -
Select the network options if you want to use your network.
-
-
Grant the IAM role associated with your AWS Glue job permission to read
secretName
. -
In your AWS Glue job configuration, provide
connectionName
as an Additional network connection.