You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This guide explains how to configure any OIDC-compliant authentication provider for Feldera Enterprise.
4
+
5
+
## Overview
6
+
7
+
Feldera supports standard OIDC/OAuth2 authentication, allowing you to integrate with any OIDC-compliant identity provider such as Auth0, Keycloak, Azure AD, Google Identity, or other enterprise identity providers.
8
+
9
+
## OIDC Application Setup
10
+
11
+
### 1. Create OIDC Application
12
+
13
+
In your OIDC provider's admin console:
14
+
15
+
1. Create a new application or client
16
+
2. Select **Single-Page Application (SPA)** as the application type
17
+
3. Fill in application details:
18
+
-**Application name**: `Feldera` (or your preferred name)
19
+
-**Application description**: Optional description for your organization
20
+
21
+
### 2. Configure Grant Types
22
+
23
+
Enable the following OAuth 2.0 grant types:
24
+
25
+
-**Authorization Code** grant type (required)
26
+
-**Refresh Token** (recommended for long-lived sessions)
27
+
-**PKCE** (Proof Key for Code Exchange) - highly recommended for security
28
+
29
+
### 3. Configure Redirect URLs
30
+
31
+
Add the following URLs to your OIDC application configuration:
**Important:** The trailing slash (`/`) in the callback URL **must be included**. Most OIDC providers require exact URL matching.
39
+
40
+
:::
41
+
42
+
### 4. Configure Scopes
43
+
44
+
Ensure the following OpenID Connect scopes are allowed:
45
+
46
+
-`openid` (required)
47
+
-`profile` (recommended)
48
+
-`email` (required)
49
+
-`offline_access` (required)
50
+
51
+
## Tenant Assignment (Optional)
52
+
53
+
Feldera supports authorization through multiple tenant assignment strategies. By default, each user gets their own individual tenant based on the `sub` claim.
54
+
55
+
### Multi-Tenant Access with Custom Claims
56
+
57
+
To enable managed tenancy, configure your OIDC provider to include custom claims in the Access token:
58
+
59
+
#### `tenants` Claim
60
+
61
+
Configure your OIDC provider to include a `tenants` claim in the **Access token**:
62
+
63
+
-**Claim name**: `tenants`
64
+
-**Token type**: Access Token
65
+
-**Value type**: Array of strings or comma-separated string
66
+
-**Value**: List of tenant names the user can access
When multiple tenants are configured, users can switch between tenants in the Web Console or specify the tenant using the `Feldera-Tenant` HTTP header.
76
+
77
+
## Group-Based Authorization (Optional)
78
+
79
+
To restrict access based on group membership, configure your OIDC provider to include a `groups` claim in the Access token:
80
+
81
+
-**Claim name**: `groups`
82
+
-**Token type**: Access Token
83
+
-**Value type**: Array of strings
84
+
-**Value**: List of group names the user belongs to
When `authorizedGroups` is configured in Feldera, users must have at least one matching group to access the platform.
94
+
95
+
## Configure Feldera
96
+
97
+
After setting up your OIDC provider, configure Feldera using the Helm chart values; see [examples](index.mdx#Tenant%20Assignment%20use%20cases) for common authorization scenarios.
98
+
99
+
### Configuration Parameters
100
+
101
+
| Parameter | Description | Example |
102
+
|-----------|-------------|---------|
103
+
|`auth.clientId`| Your OIDC application's client ID |`abc123xyz456`|
104
+
|`auth.issuer`| Your OIDC provider's issuer URL |`https://auth.example.com`|
105
+
|`authorization.authAudience`| Expected audience claim value in Access tokens |`feldera-api`|
106
+
107
+
:::tip
108
+
109
+
Consult the [main authentication documentation](index.mdx#Configuration%20options) for complete configuration options.
110
+
111
+
:::
112
+
113
+
Refer to your provider's documentation for specific setup instructions while following the general OIDC configuration pattern outlined above.
Copy file name to clipboardExpand all lines: docs.feldera.com/docs/get-started/enterprise/authentication/index.mdx
+11-57Lines changed: 11 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,20 +22,19 @@ For API key authentication, the key is associated with the tenant through which
22
22
We support multiple authorization use-cases through strategies to assign tenant to Feldera API and clients' users.
23
23
24
24
As an orthogonal feature, the authorized-groups startup parameter can be used to limit access to the users who are a member of at least one of the groups in this list. The membership is determined based on the `groups` claim of an OIDC Access token.
25
-
Users must belong to at least one of the specified groups to access Feldera. If `--authorized-groups` is not specified or empty, no group restrictions apply.
25
+
Users must belong to at least one of the specified groups to access Feldera. If `authorizedGroups` is not specified or empty, no group restrictions apply.
26
26
27
27
## Tenant Assignment Strategies
28
28
29
29
Feldera provides three different tenant assignment strategies to support different deployment patterns:
30
30
31
31
### Individual Tenancy (Enabled by default)
32
32
33
-
Each authenticated user gets their own private tenant based on the `sub` claim of the OIDC Access token. Does not require authentication provider configuration. Configured with --individual-tenant startup flag.
33
+
Each authenticated user gets their own private tenant based on the `sub` claim of the OIDC Access token. Does not require authentication provider configuration. Configured with `authorization.individualTenant` Helm value.
34
34
35
35
### Organization-wide Tenancy
36
36
37
-
Users from the same organization share a tenant, derived from the issuer hostname of the authentication token. Does not require authentication provider configuration. Configured with --issuer-tenant startup flag.
38
-
37
+
Users from the same organization share a tenant, derived from the issuer hostname of the authentication token. Does not require authentication provider configuration. Configured with `authorization.issuerTenant` Helm value.
39
38
### Managed Tenancy
40
39
41
40
Multiple teams can use the same Feldera instance with complete tenant isolation. Each team's users should be assigned to corresponding tenant(s) with the proper configuration of the dynamic `tenants` claim in the OIDC Access token.
@@ -58,12 +57,6 @@ auth:
58
57
enabled: false
59
58
```
60
59
61
-
Direct pipeline-manager configuration:
62
-
63
-
```bash
64
-
pipeline-manager ... --auth-provider=none
65
-
```
66
-
67
60
### Individual access
68
61
69
62
Every user gets their individual tenant based on their `sub` claim.
0 commit comments