> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Google SSO | OpenMetadata Authentication Integration

> Set up Google OAuth as your identity provider to enable secure login, token exchange, and scoped user access in deployments.

# Google SSO

Follow the sections in this guide to set up Google SSO.

<Tip>
  Security requirements for your **production** environment:

  * **DELETE** the admin default account shipped by OM in case you had [Basic Authentication](/v1.12.x/deployment/security/basic-auth)
    enabled before configuring the authentication with Google SSO.
  * **UPDATE** the Private / Public keys used for the [JWT Tokens](/v1.12.x/deployment/security/enable-jwt-tokens). The keys we provide
    by default are aimed only for quickstart and testing purposes. They should NEVER be used in a production installation.
</Tip>

## Create Server Credentials

### Step 1: Create the Account

* Go to [Create Google Cloud Account](https://console.cloud.google.com/)
* Click on `Create Project`

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/create-account.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=76f5260973931db98200491e7c71a36d" alt="create-account" width="1500" height="1206" data-path="public/images/deployment/security/google/create-account.png" />

### Step 2: Create a New Project

Enter the **Project name**.
Enter the parent organization or folder in the **Location box**. That resource will be the hierarchical parent of the new project.
Click **Create**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/create-project.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=62eed8e33c4041b713a096bac245e550" alt="create-project" width="573" height="548" data-path="public/images/deployment/security/google/create-project.png" />

### Step 3: How to Configure OAuth Consent

* Select the project you created above and click on **APIs & Services** on the left-side panel.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/configure-oauth-consent.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=3d84d0eed7508d5f4736726748a53e4b" alt="configure-oauth-consent" width="930" height="924" data-path="public/images/deployment/security/google/configure-oauth-consent.png" />

* Click on the **OAuth Consent Screen** available on the left-hand side panel.
* Choose User Type **Internal**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/select-user-type.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=b210d5a193243ac3db065106aca9cf14" alt="select-user-type" width="841" height="584" data-path="public/images/deployment/security/google/select-user-type.png" />

* Once the user type is selected, provide the **App Information** and other details.
* Click **Save and Continue**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/save-app-information.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=fbfd870abf9d4ae98f9640793343be21" alt="save-app-information" width="563" height="894" data-path="public/images/deployment/security/google/save-app-information.png" />

* On the **Scopes Screen**, Click on **ADD OR REMOVE SCOPES** and select the scopes.
* Once done click on **Update**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/scopes-screen.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=a4c3fa8ddd1909bff6cb656ed0d9c645" alt="scopes-screen" width="1854" height="952" data-path="public/images/deployment/security/google/scopes-screen.png" />

* Click **Save and Continue**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/save-edit-app-registration.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=8c4fa450d109105e7f869c45a2431faa" alt="save-edit-app-registration" width="740" height="947" data-path="public/images/deployment/security/google/save-edit-app-registration.png" />

* Click on **Back to Dashboard**.

<img src="https://mintcdn.com/openmetadata/yyGpv3oOyfUEUy0M/public/images/deployment/security/google/back-to-dashboard.png?fit=max&auto=format&n=yyGpv3oOyfUEUy0M&q=85&s=95d133917ffec7957c4365278ad7d1c7" alt="back-to-dashboard" width="835" height="950" data-path="public/images/deployment/security/google/back-to-dashboard.png" />

<img src="https://mintcdn.com/openmetadata/yyGpv3oOyfUEUy0M/public/images/deployment/security/google/back-to-dashboard-2.png?fit=max&auto=format&n=yyGpv3oOyfUEUy0M&q=85&s=247df354758088edac4f7ce248776682" alt="back-to-dashboard" width="810" height="781" data-path="public/images/deployment/security/google/back-to-dashboard-2.png" />

### Step 4: Create Credentials for the Project

* Once the OAuth Consent is configured, click on **Credentials** available on the left-hand side panel.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/create-credentials.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=d85ad962e8093628780624fceef72ca1" alt="create-credentials" width="1852" height="493" data-path="public/images/deployment/security/google/create-credentials.png" />

* Click on **Create Credentials**
* Select **OAuth client ID** from the dropdown.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/select-outh-client-id.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=e18a3059c870513ed14b742c076c07c4" alt="cselect-outh-client-id" width="790" height="349" data-path="public/images/deployment/security/google/select-outh-client-id.png" />

* Once selected, you will be asked to select the **Application type**. Select **Web application**.

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/select-web-application.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=defbdd63be85f3986f6e527cea55b200" alt="select-web-application" width="736" height="422" data-path="public/images/deployment/security/google/select-web-application.png" />

After selecting the **Application Type**, name your project and give the authorized URIs:

* domain/callback
* domain/silent-callback

<img src="https://mintcdn.com/openmetadata/yyGpv3oOyfUEUy0M/public/images/deployment/security/google/authorized-urls.png?fit=max&auto=format&n=yyGpv3oOyfUEUy0M&q=85&s=4b379ca2a45640866089666d8a24de90" alt="authorized-urls" width="1141" height="1543" data-path="public/images/deployment/security/google/authorized-urls.png" />

* Click **Create**
* You will get the credentials

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/get-the-credentials.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=e72dde397670cb76ea77d7ee1cac30ef" alt="get-the-credentials" width="1470" height="675" data-path="public/images/deployment/security/google/get-the-credentials.png" />

### Step 5: Where to Find the Credentials

* Go to **Credentials**
* Click on the **pencil icon (Edit OAuth Client)** on the right side of the screen

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/find-credentials.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=82467edc71b2392ab8d0da15afe09aab" alt="find-credentials" width="1855" height="470" data-path="public/images/deployment/security/google/find-credentials.png" />

* You will find the **Client ID** in the top right corner

<img src="https://mintcdn.com/openmetadata/4v9U2L_k1HcJVnXe/public/images/deployment/security/google/find-clientid-and-secret.png?fit=max&auto=format&n=4v9U2L_k1HcJVnXe&q=85&s=f3c0540853b63cc4ca14ab6a19473d93" alt="find-clientid-and-secret" width="626" height="107" data-path="public/images/deployment/security/google/find-clientid-and-secret.png" />

After the applying these steps, you can update the configuration of your deployment:

<CardGroup cols={3}>
  <Card title="Docker" href="/v1.12.x/deployment/security/google/docker">
    Configure Google SSO for Docker deployment.
  </Card>

  <Card title="Kubernetes" href="/v1.12.x/deployment/security/google/kubernetes">
    Configure Google SSO for Kubernetes deployment.
  </Card>

  <Card title="Bare Metal" href="/v1.12.x/deployment/security/google/bare-metal">
    Configure Google SSO for Bare Metal deployment.
  </Card>
</CardGroup>

## Configure Ingestion

Once your server security is set, it's time to review the ingestion configuration. Our bots support JWT tokens
to authenticate to the server when sending requests.

Find more information on [**Enabling JWT Tokens**](/deployment/security/enable-jwt-tokens) and [**JWT Troubleshooting**](/deployment/security/jwt-troubleshooting) to ensure seamless authentication.
