2023-12-13 14:03:08 +01:00
---
2025-06-20 19:46:38 +05:30
title: Okta SSO for Docker | OpenMetadata Deployment Guide
2023-12-13 14:03:08 +01:00
slug: /deployment/security/okta/docker
2024-09-05 10:30:31 +02:00
collate: false
2023-12-13 14:03:08 +01:00
---
# Okta SSO for Docker
To enable security for the Docker deployment, follow the next steps:
## 1. Create an .env file
2025-01-03 18:10:07 +05:30
Create an `openmetadata_okta.env` file and use the following example as a reference. Replace the placeholder values with the details generated during your Okta account and application credentials setup.
2023-12-13 14:03:08 +01:00
2025-01-03 18:10:07 +05:30
Check the more information about environment variable [here ](/deployment/security/configuration-parameters ).
2023-12-13 14:03:08 +01:00
2025-01-03 18:10:07 +05:30
{% codeWithLanguageSelector title="Auth Configuration" id="container-1" languagesArray=["implicit","authcode"] theme="dark" %}
2023-12-13 14:03:08 +01:00
2025-04-28 16:01:55 +05:30
```implicit
2025-01-03 18:10:07 +05:30
# Implicit Flow
2023-12-13 14:03:08 +01:00
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
2025-01-03 18:10:07 +05:30
AUTHORIZER_ADMIN_PRINCIPALS=[admin] # john.doe from john.doe@example .com
AUTHORIZER_PRINCIPAL_DOMAIN=open-metadata.org # Update with your Domain,The primary domain for the organization (example.com from john.doe@example .com).
2023-12-13 14:03:08 +01:00
AUTHENTICATION_PROVIDER=okta
2025-03-31 20:14:29 +05:30
AUTHENTICATION_PUBLIC_KEYS=[{ISSUER_URL}/v1/keys, https://{your domain}/api/v1/system/config/jwks] # Update with your Issuer URL
2025-01-03 18:10:07 +05:30
AUTHENTICATION_AUTHORITY={ISSUER_URL} # Update with your Issuer URL
AUTHENTICATION_CLIENT_ID={CLIENT_ID} # Update with your Client ID
2023-12-13 14:03:08 +01:00
AUTHENTICATION_CALLBACK_URL=http://localhost:8585/callback
2025-01-03 18:10:07 +05:30
AUTHENTICATION_CLIENT_TYPE= public
2023-12-13 14:03:08 +01:00
```
2025-01-03 18:10:07 +05:30
```authcode
# Auth Code Flow
2023-12-13 14:03:08 +01:00
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
2025-01-03 18:10:07 +05:30
AUTHORIZER_ADMIN_PRINCIPALS=[admin] # john.doe from john.doe@example .com
AUTHORIZER_PRINCIPAL_DOMAIN=open-metadata.org # Update with your Domain,The primary domain for the organization (example.com from john.doe@example .com).
2023-12-13 14:03:08 +01:00
AUTHENTICATION_PROVIDER=okta
2025-03-31 20:14:29 +05:30
AUTHENTICATION_PUBLIC_KEYS=[{ISSUER_URL}/v1/keys, https://{your domain}/api/v1/system/config/jwks] # Update with your Issuer URL and Domain also Make sure this "/api/v1/system/config/jwks" is always configured to enable JWT tokens
2025-01-03 18:10:07 +05:30
AUTHENTICATION_AUTHORITY={ISSUER_URL} # Update with your Issuer URL
AUTHENTICATION_CLIENT_ID={Client ID} # Update with your Client ID
AUTHENTICATION_CALLBACK_URL=http://localhost:8585/callback
AUTHENTICATION_CLIENT_TYPE=confidential
OIDC_CLIENT_ID={Client ID} # Update with your Client ID
OIDC_TYPE=okta
OIDC_CLIENT_SECRET={Client Secret} # Update with your Client Secret
OIDC_DISCOVERY_URI: http://{ISSUER_URL}/.well-known/openid-configuration # Update with your Issuer URL
OIDC_CALLBACK: ${OIDC_CALLBACK:-"http://localhost:8585/callback"}
2023-12-13 14:03:08 +01:00
```
2025-03-31 20:14:29 +05:30
2025-01-03 18:10:07 +05:30
{% /codeWithLanguageSelector %}
2023-12-13 14:03:08 +01:00
## 2. Start Docker
```commandline
docker compose --env-file ~/openmetadata_okta.env up -d
```
2025-01-03 18:10:07 +05:30
2025-04-18 08:42:17 +02:00
{% partial file="/v1.8/deployment/configure-ingestion.md" /%}
2025-01-03 18:10:07 +05:30
{% inlineCalloutContainer %}
{% inlineCallout
color="violet-70"
icon="MdArrowBack"
bold="OKTA"
href="/deployment/security/okta" %}
Go to okta Configuration
{% /inlineCallout %}
{% /inlineCalloutContainer %}