2022-07-09 20:31:41 +02:00
---
title: Okta SSO for Docker
slug: /deployment/security/okta/docker
---
# Okta SSO for Docker
To enable security for the Docker deployment, follow the next steps:
## 1. Create an .env file
2022-08-05 23:03:33 +05:30
Create an `openmetadata_okta.env` file and add the following contents as an example. Use the information
2022-07-09 20:31:41 +02:00
generated when setting up the account.
2022-08-24 09:20:42 +05:30
Note: Make sure to add the Ingestion Client ID for the Service application in `AUTHORIZER_INGESTION_PRINCIPALS` . This can be found in Okta -> Applications -> Applications, Refer to Step 3 for `Creating Service Application` .
2022-10-07 12:47:43 +02:00
### 1.1 Before 0.12.1
2022-11-18 16:41:49 +05:30
OM_AUTH_AIRFLOW_OKTA_PRIVATE_KEY to be set as per the example below using the escape sequence for quotes.
2022-08-05 23:03:33 +05:30
```shell
2022-07-09 20:31:41 +02:00
# OpenMetadata Server Authentication Configuration
2022-10-05 21:54:02 -07:00
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
2022-08-05 23:03:33 +05:30
AUTHORIZER_ADMIN_PRINCIPALS=[admin] # Your `name` from name@domain .com
2022-08-24 09:20:42 +05:30
AUTHORIZER_INGESTION_PRINCIPALS=[ingestion-bot, < service_application_client_id > ]
2022-08-05 23:03:33 +05:30
AUTHORIZER_PRINCIPAL_DOMAIN=open-metadata.org # Update with your domain
AUTHENTICATION_PROVIDER=okta
AUTHENTICATION_PUBLIC_KEYS={ISSUER_URL}/v1/keys # Update with your Issuer URL
AUTHENTICATION_AUTHORITY={ISSUER_URL} # Update with your Issuer URL
AUTHENTICATION_CLIENT_ID={CLIENT_ID - SPA APP} # Update with your Client ID
AUTHENTICATION_CALLBACK_URL=http://localhost:8585/callback
2022-07-09 20:31:41 +02:00
# Airflow Configuration
2022-08-05 23:03:33 +05:30
AIRFLOW_AUTH_PROVIDER=okta
OM_AUTH_AIRFLOW_OKTA_CLIENT_ID={OM_AUTH_AIRFLOW_OKTA_CLIENT_ID:-""}
OM_AUTH_AIRFLOW_OKTA_ORGANIZATION_URL={OM_AUTH_AIRFLOW_OKTA_ORGANIZATION_URL:-""}
2022-11-18 16:41:49 +05:30
OM_AUTH_AIRFLOW_OKTA_PRIVATE_KEY=\'{"p":"lorem","kty":"RSA","q":"ipsum","d":"dolor","e":"AQAB","use":"sig","kid":"0oa5p908cltOc4fsl5d7","qi":"lorem","dp":"lorem","alg":"RS256","dq":"ipsum","n":"dolor"}\'
2022-08-05 23:03:33 +05:30
OM_AUTH_AIRFLOW_OKTA_SA_EMAIL={OM_AUTH_AIRFLOW_OKTA_SA_EMAIL:-""}
OM_AUTH_AIRFLOW_OKTA_SCOPES={OM_AUTH_AIRFLOW_OKTA_SCOPES:-[]}
2022-07-09 20:31:41 +02:00
```
2022-10-07 12:47:43 +02:00
### 1.2 After 0.12.1
```shell
# OpenMetadata Server Authentication Configuration
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
AUTHORIZER_ADMIN_PRINCIPALS=[admin] # Your `name` from name@domain .com
AUTHORIZER_INGESTION_PRINCIPALS=[ingestion-bot, < service_application_client_id > ]
AUTHORIZER_PRINCIPAL_DOMAIN=open-metadata.org # Update with your domain
AUTHENTICATION_PROVIDER=okta
AUTHENTICATION_PUBLIC_KEYS={ISSUER_URL}/v1/keys # Update with your Issuer URL
AUTHENTICATION_AUTHORITY={ISSUER_URL} # Update with your Issuer URL
AUTHENTICATION_CLIENT_ID={CLIENT_ID - SPA APP} # Update with your Client ID
AUTHENTICATION_CALLBACK_URL=http://localhost:8585/callback
```
**Note:** Follow [this ](/how-to-guides/feature-configurations/bots ) guide to configure the `ingestion-bot` credentials for
ingesting data from Airflow.
2022-07-09 20:31:41 +02:00
## 2. Start Docker
```commandline
2022-09-12 05:06:30 +02:00
docker compose --env-file ~/openmetadata_okta.env up -d
2022-07-09 20:31:41 +02:00
```