Google OpenID Setup
This guide will show how to setup an OpenID login on Matillion ETL using Google credentials through the User Configuration window. This includes acquiring credentials from Google, setting up internal security in the User Configuration window, and then managing users and logging in with the OpenID credentials.
- Only credentials from a single provider can be used per instance.
- Matillion ETL users must be created with the same login name as any expected OpenID login.
- Valid OpenID setups may fail if the Matillion ETL instance is behind a Load Balancer (usually due to the incorrect detection of scheme and port). It is recommended a listener is setup on the ELB for port 443 instead of 80 to remedy the issue.
Acquiring Credentials for Google
Navigate to the Google Developers Console. The Google login screen will appear immediately. Enter valid login credentials to continue. The browser will then redirect to the API & Services dashboard. On the sidebar on the left of the screen, click Credentials.
Then, in the Credentials window, click Create credententials → OAuth client ID.
Now, in the Create OAuth client ID window, select Web Application under Application type to reveal further options. Then, provide details for the following fields:
- Name – provide a descriptive name for the client ID
- Authorized redirect URLs – provide a secure URL for the Matillion ETL instance appended by /j_security_check (see example below), then click Create
The browser will return to the Credentials window, now with a pop-up window featuring the client ID and client secret. Copy the codes from both fields as they will be required for Setting Up Internal Security.
- Make sure to copy the client secret right away as it may appear only once.
- Additionally, when copying the codes, some browsers may add a space to the end of the code. Watch out for this as it will cause the credentials to fail.
Setting Up Internal Security
In Matillion ETL, on the top right of the screen, click Admin → User Configuration.
In the User Configuration pop-up window, click on the Select Security Configuration dropdown menu and select Internal.
Next, click OpenID Connect Login to open the OpenID configuration form. Then, using the codes copied from Google Developers Console, provide details for the following fields:
- Identity Provider – select Google from the dropdown menu
- Provider Endpoint URL – https://accounts.google.com will be auto-inserted
- Client ID – enter the client ID
- Client Secret – enter the client secret
- User Attribute – enter an attribute to identify users (email is set as default)
- Scope – list scope(s) for which access will be requested (email is set as default)
- Extra Options – list any additional connection options (these options are not mandatory and should be listed as [key:value pairs]), then click OK
Managing Users and Logging In with OpenID credentials
Once the OpenID has been configured, a pop-window will appear prompting for the Matillion ETL instance to be fully restarted (required before the changes will take effect). Thereafter, the Matillion ETL login screen will include Sign in with Google below the standard login form. However, the OpenID users still need to be added to the user list before this can be used.
Next, back in the User Configuration pop-up window, click the Manage Users tab, then click .
This will open the Add User pop-up window. Provide details for the following fields:
- Username – enter the attribute chosen to identify the user
- Password – provide an appropriate password to be linked to the user
- Repeat Password – re-enter the password as above
- Role – select the access level of the user (also see this article for details), then click OK
On returning to the Manage Users tab, click Apply changes at the bottom of the window to confirm the addition of the new user. The OpenID can now be used to log in into the Matillion ETL instance.
Using OpenID does not prevent existing or new users from logging into the Matillion ETL instance via the usual method. Additionally, the passwords assigned to the OpenID users within Matillion ETL are solely for use within Matillion ETL.