> ## 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.

# Azure SSO for Bare Metal  | Official Documentation

> Connect Bare Metal to enable streamlined access, monitoring, or search of enterprise data using secure and scalable integrations.

# Azure SSO for Bare Metal

## Update conf/openmetadata.yaml

In `openmetadata.yaml` file and use the following example as a reference. Replace the placeholder values with the details generated during your azure account and application credentials setup.

Check the more information about environment variable [here](/v1.12.x/deployment/security/configuration-parameters).

<Tabs>
  <Tab title="implicit">
    ```
    # Implicit Flow
    authorizerConfiguration:
      className: "org.openmetadata.service.security.DefaultAuthorizer"
      containerRequestFilter: "org.openmetadata.service.security.JwtFilter"
      adminPrincipals:                          # Your `name` from name@domain.com
        - "admin"
        - "user1"
        - "user2"
      principalDomain: "open-metadata.org"      # Update with your Domain,The primary domain for the organization (your domain.com from name@domain.com).
    authenticationConfiguration:
      provider: "azure"
      publicKeyUrls:                            # Update with your azure Domain and  OMD server URL.
        - "https://login.microsoftonline.com/common/discovery/keys""
        - "{OMD URL}/api/v1/system/config/jwks"
      authority: "https://login.microsoftonline.com/{Tenant ID}"
      clientId: "{Client ID}"
      callbackUrl: "http://localhost:8585/callback"
      clientType: "public"
    ```
  </Tab>

  <Tab title="authcode">
    ```
    # Auth Code Flow
    authorizerConfiguration:
      className: "org.openmetadata.service.security.DefaultAuthorizer"
      containerRequestFilter: "org.openmetadata.service.security.JwtFilter"
      adminPrincipals:                          # Your `name` from name@domain.com
        - "admin"
        - "user1"
        - "user2"
      principalDomain: "open-metadata.org"      # Update with your Domain,The primary domain for the organization (your domain.com from name@domain.com).
    authenticationConfiguration:
      provider: "azure"
      publicKeyUrls:                            # Update with your azure Domain and  OMD server URL.
        - "https://login.microsoftonline.com/common/discovery/keys""
        - "{OMD URL}/api/v1/system/config/jwks"
      authority: "https://login.microsoftonline.com/{Tenant ID}"                   # Update your Tenant ID
      clientId: "{Client ID}"                   # Update your Client ID
      callbackUrl: "http://localhost:8585/callback"
      clientType: "confidential"
      oidcConfiguration:
        id: "{Client ID}"                       # Update you azrue Client ID
        type: "azure"
        secret: "{Client Secret}"               # Update with azure Client Secret
        discoveryUri: "{azure Domain Name}/.well-known/openid-configuration"       # Update your Azure discovery URI
        callbackUrl: http://localhost:8585/callback"
        serverUrl: "http://localhost:8585"

    ```
  </Tab>
</Tabs>

<Tip>
  Altering the order of claims in `jwtPrincipalClaims` may lead to problems when matching a user from a token with an existing user in the system. The mapping process relies on the specific order of claims, so changing it can result in inconsistencies or authentication failures, as the system cannot ensure correct user mapping with a new claim order.
</Tip>

## 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.

<CardGroup cols={1}>
  <Card title="Azure" href="/v1.12.x/deployment/security/azure">
    Go to Azure Configuration
  </Card>
</CardGroup>
