Configuring Google Ads connections
Google Ads supports AUTHORIZATION_CODE
grant type for OAuth2.
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 Amazon Glue Console. The Amazon Glue Console will redirect the user to Google Ads where the user must login and allow Amazon Glue the requested permissions to access their Google Ads instance.
Users may still opt to create their own connected app in Google Ads and provide their own client ID and client secret when creating connections through the Amazon Glue Console. In this scenario, they will still be redirected to Google Ads to login and authorize Amazon Glue to access their resources.
This grant type results in a refresh token and access token. The access token is short lived, and may be refreshed automatically without user interaction using the refresh token.
For more information, see
public Google Ads documentation on creating a connected app for Authorization Code OAuth flow
To configure a Google Ads connection:
-
In Amazon Secrets Manager, create a secret with the following details. It is required to create a secret for each connection in Amazon Glue.
-
For AuthorizationCode grant type:
-
For customer managed connected app – Secret should contain the connected app Consumer Secret with
USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET
as key.
-
-
-
In the Amazon Glue Data Catalog, create a connection by following the steps below:
-
When selecting a Connection type, select Google Ads.
-
Provide the
developer token
of the Google Ads you want to connect to. -
Provide the
MANAGER ID
of the Google Ads if you want to log in as manager. -
Select the IAM role which Amazon 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 the
secretName
which you want to use for this connection in Amazon Glue to put the tokens. -
Select the network options if you want to use your network.
-
-
Grant the IAM role associated with your Amazon Glue job permission to read
secretName
. -
In your Amazon Glue job configuration, provide
connectionName
as an Additional network connection.