Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2024-06-18 15:53:06 +02:00
---
title: Azure SSO | OpenMetadata Security Integration
2024-06-18 15:53:06 +02:00
slug: /deployment/security/auth0/docker
collate: false
2024-06-18 15:53:06 +02:00
---
# Auth0 SSO for Docker
To enable security for the Docker deployment, follow the next steps:
## 1. Create an .env file
Create an `openmetadata_auth0.env` file and use the following example as a reference. Replace the placeholder values with the details generated during your Auth0 account and application credentials setup.
2024-06-18 15:53:06 +02:00
Check the more information about environment variable [here](/deployment/security/configuration-parameters).
{% codeWithLanguageSelector title="Auth Configuration" id="container-1" languagesArray=["implicit","authcode"] theme="dark" %}
```implicit
# Implicit Flow
2024-06-18 15:53:06 +02:00
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
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).
AUTHENTICATION_PROVIDER=auth0
AUTHENTICATION_PUBLIC_KEYS=[{Domain}/.well-known/jwks.json, https://{your domain}/api/v1/system/config/jwks] # Update with your Domain and Make sure this "/api/v1/system/config/jwks" is always configured to enable JWT tokens
AUTHENTICATION_AUTHORITY={Domain} # The base URL of the authentication provider.
AUTHENTICATION_CLIENT_ID={Client ID} # Update with your Client ID
AUTHENTICATION_CALLBACK_URL=http://localhost:8585/callback
AUTHENTICATION_CLIENT_TYPE= public
```
2024-06-18 15:53:06 +02:00
```authcode
# Auth Code Flow
AUTHORIZER_CLASS_NAME=org.openmetadata.service.security.DefaultAuthorizer
AUTHORIZER_REQUEST_FILTER=org.openmetadata.service.security.JwtFilter
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).
2024-06-18 15:53:06 +02:00
AUTHENTICATION_PROVIDER=auth0
AUTHENTICATION_PUBLIC_KEYS=[{Domain}/.well-known/jwks.json, https://{your domain}/api/v1/system/config/jwks] # Update with your Domain and Make sure this "/api/v1/system/config/jwks" is always configured to enable JWT tokens
AUTHENTICATION_AUTHORITY={Domain} # The base URL of the authentication provider.
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=auth0
OIDC_CLIENT_SECRET={Client Secret} # Update with your Client Secret
OIDC_DISCOVERY_URI: http://{Domain}/.well-known/openid-configuration # Update with your Domain
OIDC_CALLBACK: ${OIDC_CALLBACK:-"http://localhost:8585/callback"}
2024-06-18 15:53:06 +02:00
```
{% /codeWithLanguageSelector %}
2024-06-18 15:53:06 +02:00
## 2. Start Docker
```commandline
docker compose --env-file ~/openmetadata_auth0.env up -d
```
{% partial file="/v1.8/deployment/configure-ingestion.md" /%}
{% inlineCalloutContainer %}
{% inlineCallout
color="violet-70"
icon="MdArrowBack"
bold="Auth"
href="/deployment/security/auth0" %}
Go to Auth0 Configuration
{% /inlineCallout %}
{% /inlineCalloutContainer %}