deployment

No menu items for this category
OpenMetadata Documentation

AWS Cognito SSO Configuration (Public)

AWS Cognito SSO enables users to log in using their credentials from a Cognito User Pool through OAuth 2.0 and OpenID Connect (OIDC). This guide walks you through configuring AWS Cognito as an authentication provider in OpenMetadata.

AWS Cognito SSO Configuration - Public Client
  • Definition: Human-readable name for this Cognito SSO instance.
  • Example: AWS Cognito SSO, Company Cognito
  • Note: Used only for display and logging purposes.
  • Definition: Defines whether the app is public (no secret) or confidential (requires client secret).
  • Options: Public | Confidential
  • Example: Confidential
  • Note:
    • Use Public for SPAs or mobile apps
    • Use Confidential for web apps or backends
  • Definition: Client ID from the Cognito User Pool App.
  • Example: 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
  • Note: Found under Cognito > User Pools > App Integration > App Clients
  • Definition: URI where Cognito redirects after authentication.
  • Example: https://yourapp.company.com/callback
  • Note:
    • Must be registered in Cognito > Allowed Callback URLs
    • Use HTTPS in production
  • Definition: Allows new users to auto-create accounts upon first login.
  • Example: Enabled
  • Note: Cognito must also allow sign-ups.
  • Definition: AWS Cognito token-issuing domain.
  • Example: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ABC123DEF
  • Note: Replace with your region and User Pool ID
  • Definition: JWKS URLs used to verify token signatures.
  • Example: ["https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ABC123DEF/.well-known/jwks.json"]
  • Definition: Algorithm to validate JWT tokens.
  • Options: RS256 | RS384 | RS512
  • Default: RS256
  • Definition: Claims used to identify the user.
  • Example: ["cognito:username", "email", "sub"]
  • Note: Typical Cognito claims include cognito:username, email, sub, preferred_username
  • Definition: Maps claims to OpenMetadata user fields.
  • Example: ["email:email", "name:name", "firstName:given_name"]
  • Note: Format - "openmetadata_field:jwt_claim"
  • Definition: List of users with admin access.
  • Example: ["admin@company.com", "superuser@company.com"]
  • Definition: Default domain for users.
  • Example: company.com
  • Note: Helps construct full identity from usernames.
  • Definition: Restrict access to users from a specific domain.
  • Example: true
  • Default: false
  • Definition: Enables SSL/TLS for secure communication.
  • Example: true
  • Default: false
  • Note: Recommended in production
FieldExample / Default
Provider NameAWS Cognito SSO
Client TypeConfidential
OIDC Client ID1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
OIDC Callback URLhttps://yourapp.company.com/callback
Enable Self SignupEnabled
Authorityhttps://cognito-idp.us-east-1.amazonaws.com/us-east-1_ABC123DEF
Public Key URLshttps://cognito-idp.us-east-1.amazonaws.com/us-east-1_ABC123DEF/.well-known/jwks.json
Token Validation AlgorithmRS256
JWT Principal Claims["cognito:username", "email", "sub"]
JWT Mapping["email:email", "name:name", "firstName:given_name"]
Admin Principals["admin@company.com"]
Principal Domaincompany.com
Enforce Principal Domainfalse
SSL/TLStrue

If users are automatically logged out and unable to log in again due to a bad authentication configuration, you can reset the security setup using the following command:

After executing the command, restart the server. The authentication values from your YAML or Helm chart will then be reapplied on startup. The following tiles detail how to apply this configuration across Docker, Kubernetes, and Bare Metal deployments: