Azure AD Authentication
This feature is a part of Keep Enterprise.
Talk to us to get access: https://www.keephq.dev/meet-keep
Keep supports enterprise authentication through Azure Entre ID (formerly known as Azure AD), enabling organizations to use their existing Microsoft identity platform for secure access management.
When to Use
- Microsoft Environment: If your organization uses Microsoft 365 or Azure services, Azure AD integration provides seamless authentication.
- Enterprise SSO: Leverage Azure AD’s Single Sign-On capabilities for unified access management.
Setup Instructions (on Azure AD)
Creating an Azure AD Application
- Sign in to the Azure Portal
- Navigate to Microsoft Entra ID > App registrations > New registration
- Configure the application:
- Name: “Keep”
- Configure the application (continue)
- Supported account types: “Single tenant”
We recommend using “Single tenant” for enhanced security as it restricts access to users within your organization only. While multi-tenant configuration is possible, it would allow users from any Azure AD directory to access your Keep instance, which could pose security risks unless you have specific cross-organization requirements.
- Redirect URI: “Web” + your redirect URI
We use “Web” platform instead of “Single Page Application (SPA)” because Keep’s backend handles the authentication flow using client credentials/secrets, which is more secure than the implicit flow used in SPAs. This prevents exposure of tokens in the browser and provides stronger security through server-side token validation and refresh token handling.
For localhost, the redirect would be http://localhost:3000/api/auth/callback/microsoft-entra-id
For production, it should be something like http://your_keep_frontend_domain/api/auth/callback/microsoft-entra-id
- Finally, click “register”
Configure Authentication
After we created the application, let’s configure the authentication.
- Go to “App Registrations” -> “All applications”
- Click on your application -> “Add a certificate or secret”
- Click on “New client secret” and give it a name
- Keep the “Value”, we will use it soon as
KEEP_AZUREAD_CLIENT_SECRET
Configure Groups
Keep maps Azure AD groups to roles with two default groups:
- Admin Group (read + write)
- NOC Group (read only)
To create those groups, go to Groups -> All groups and create two groups:
Keep the Object id of these groups and use it as KEEP_AZUREAD_ADMIN_GROUP_ID
and KEEP_AZUREAD_NOC_GROUP_ID
.
Configure Group Claims
- Navigate to Token configuration
- Add groups claim:
- Select “Security groups” and “Groups assigned to the application”
- Choose “Group ID” as the claim value
Configure Application Scopes
- Go to “Expose an API” and click on “Add a scope”
- Keep the default Application ID and click “Save and continue”
- Add “default” as scope name, also give a display name and description
- Finally, click “Add scope”
Setup Instructions (on Keep)
After you configured Azure AD you should have the following:
- Azure AD Tenant ID
- Azure AD Client ID
How to get:
- Azure AD Client Secret See Configure Authentication.
- Azure AD Group ID’s for Admins and NOC (read only) See Configure Groups.
Configuration
Frontend
Environment Variable | Description | Required | Default Value |
---|---|---|---|
AUTH_TYPE | Set to ‘AZUREAD’ for Azure AD authentication | Yes | - |
KEEP_AZUREAD_CLIENT_ID | Your Azure AD application (client) ID | Yes | - |
KEEP_AZUREAD_CLIENT_SECRET | Your client secret | Yes | - |
KEEP_AZUREAD_TENANT_ID | Your Azure AD tenant ID | Yes | - |
NEXTAUTH_URL | Your Keep application URL | Yes | - |
NEXTAUTH_SECRET | Random string for NextAuth.js | Yes | - |
Backend
Environment Variable | Description | Required | Default Value |
---|---|---|---|
AUTH_TYPE | Set to ‘AZUREAD’ for Azure AD authentication | Yes | - |
KEEP_AZUREAD_TENANT_ID | Your Azure AD tenant ID | Yes | - |
KEEP_AZUREAD_CLIENT_ID | Your Azure AD application (client) ID | Yes | - |
KEEP_AZUREAD_ADMIN_GROUP_ID | The group ID of Keep Admins (read write) | Yes | - |
KEEP_AZUREAD_NOC_GROUP_ID | The group ID of Keep NOC (read only) | Yes | - |
Features and Limitations
Supported Features
- Single Sign-On (SSO)
- Role-based access control through Azure AD groups
- Multi-factor authentication (when configured in Azure AD)
Limitations
See Overview