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
Copy file name to clipboardExpand all lines: content/operate/kubernetes/security/sso.md
+18-22Lines changed: 18 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ linkTitle: Enable SSO
10
10
weight: 94
11
11
---
12
12
13
-
Redis Enterprise Software supports SAML 2.0 single sign-on (SSO) for the Cluster Manager UI with both IdP-initiated and SP-initiated authentication. User accounts are automatically created on first sign-in using just-in-time (JIT) provisioning.
13
+
Redis Enterprise for Kubernetes supports SAML 2.0 single sign-on (SSO) for the Cluster Manager UI with both IdP-initiated and SP-initiated authentication. User accounts are automatically created on first sign-in using just-in-time (JIT) provisioning.
14
14
15
15
## IdP requirements
16
16
@@ -29,15 +29,25 @@ To enable SSO for your Redis Enterprise cluster (REC), follow these steps to con
29
29
30
30
Before enabling SSO, ensure you have:
31
31
32
-
1. A SAML 2.0-compatible identity provider (such as Okta, Azure AD, or similar)
33
-
2. Admin access to your identity provider
34
-
3. A TLS certificate and private key for the Service Provider (SP)
32
+
1. An existing Redis Enterprise cluster (REC) deployed in Kubernetes
33
+
34
+
2.**External access to the Cluster Manager UI** - The Cluster Manager UI must be accessible externally via a LoadBalancer service or Ingress so users can access it from their browser and the identity provider can redirect back after authentication. See [Connect to the admin console]({{< relref "/operate/kubernetes/re-clusters/connect-to-admin-console.md" >}}) for configuration options.
35
+
36
+
3. A SAML 2.0-compatible identity provider (such as Okta, Azure AD, or similar)
37
+
38
+
4. Admin access to your identity provider
39
+
40
+
5. A TLS certificate and private key for the service provider (SP)
41
+
42
+
{{<warning>}}
43
+
SSO requires external access to the Cluster Manager UI. Port forwarding is not sufficient for SSO authentication because the identity provider needs to redirect users back to the UI after authentication. You must configure either a LoadBalancer service (via `spec.uiServiceType: LoadBalancer`) or an Ingress controller.
44
+
{{</warning>}}
35
45
36
46
### Step 1: Upload Service Provider certificate and private key
37
47
38
48
The Service Provider certificate is used by the cluster to sign SAML requests and encrypt SAML responses.
39
49
40
-
1. Create a secret with your Service Provider certificate and private key:
50
+
1. Create a secret with your service provider certificate and private key:
@@ -54,7 +64,7 @@ The Service Provider certificate is used by the cluster to sign SAML requests an
54
64
55
65
Replace the `<placeholders>`in the command above with your own values.
56
66
57
-
2. Configure the Service Provider certificate in the `RedisEnterpriseCluster` custom resource:
67
+
2. Configure the service provider certificate in the `RedisEnterpriseCluster` custom resource:
58
68
59
69
```yaml
60
70
apiVersion: app.redislabs.com/v1
@@ -80,7 +90,7 @@ The Service Provider certificate is used by the cluster to sign SAML requests an
80
90
81
91
#### Configure Service Provider base address (optional)
82
92
83
-
The base address is used to construct Service Provider URLs, such as the Assertion Consumer Service (ACS) URL and Single Logout (SLO) URL.
93
+
The base address is used to construct service provider URLs, such as the Assertion Consumer Service (ACS) URL and Single Logout (SLO) URL.
84
94
85
95
If not specified, the base address is automatically determined from the REC Cluster Manager UI service:
86
96
- If the UI service type is `LoadBalancer` (configured via `spec.uiServiceType`), the load balancer address is used.
@@ -114,7 +124,7 @@ Using `http://` is NOT recommended for production environments as it transmits s
114
124
115
125
### Step 2: Download Service Provider metadata
116
126
117
-
After applying the configuration, retrieve the Service Provider metadata to use when configuring your identity provider.
127
+
After applying the configuration, retrieve the service provider metadata to use when configuring your identity provider.
118
128
119
129
#### Option A: Retrieve from Kubernetes secret
120
130
@@ -317,19 +327,6 @@ Finally, activate SSO by enabling it in the `RedisEnterpriseCluster` custom reso
317
327
318
328
3. Test SSO by accessing the Cluster Manager UI and clicking **Sign in with SSO**.
319
329
320
-
#### Enforce SSO (optional)
321
-
322
-
By default, both SSO and local username/password authentication are available. To enforce SSO-only authentication for non-admin users, set`enforceSSO` to `true`:
323
-
324
-
```yaml
325
-
spec:
326
-
sso:
327
-
enabled: true
328
-
enforceSSO: true
329
-
```
330
-
331
-
When `enforceSSO` is set to `true`, local username/password authentication is disabled for non-admin users.
332
-
333
330
## Complete example
334
331
335
332
Here's a complete example of a `RedisEnterpriseCluster` resource with SSO enabled:
@@ -363,6 +360,5 @@ After enabling SSO:
363
360
1. Configure users in your identity provider with matching email addresses
364
361
2. Set up the `redisRoleMapping` attribute in your identity provider to assign appropriate roles for new users
365
362
3. Test both IdP-initiated and SP-initiated SSO flows
366
-
4. Consider enforcing SSO to disable local authentication for non-admin users
367
363
368
364
For more information about Redis Enterprise Software security, see [Access control]({{< relref "/operate/rs/security/access-control/" >}}).
0 commit comments