Skip to content

Commit ac6f3be

Browse files
changes based off demo
1 parent 2224ef1 commit ac6f3be

File tree

1 file changed

+18
-22
lines changed
  • content/operate/kubernetes/security

1 file changed

+18
-22
lines changed

content/operate/kubernetes/security/sso.md

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ linkTitle: Enable SSO
1010
weight: 94
1111
---
1212

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

1515
## IdP requirements
1616

@@ -29,15 +29,25 @@ To enable SSO for your Redis Enterprise cluster (REC), follow these steps to con
2929

3030
Before enabling SSO, ensure you have:
3131

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>}}
3545

3646
### Step 1: Upload Service Provider certificate and private key
3747

3848
The Service Provider certificate is used by the cluster to sign SAML requests and encrypt SAML responses.
3949

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:
4151

4252
```sh
4353
kubectl -n <rec-namespace> create secret generic sso-service-cert \
@@ -54,7 +64,7 @@ The Service Provider certificate is used by the cluster to sign SAML requests an
5464

5565
Replace the `<placeholders>` in the command above with your own values.
5666

57-
2. Configure the Service Provider certificate in the `RedisEnterpriseCluster` custom resource:
67+
2. Configure the service provider certificate in the `RedisEnterpriseCluster` custom resource:
5868

5969
```yaml
6070
apiVersion: app.redislabs.com/v1
@@ -80,7 +90,7 @@ The Service Provider certificate is used by the cluster to sign SAML requests an
8090

8191
#### Configure Service Provider base address (optional)
8292

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

8595
If not specified, the base address is automatically determined from the REC Cluster Manager UI service:
8696
- 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
114124

115125
### Step 2: Download Service Provider metadata
116126

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

119129
#### Option A: Retrieve from Kubernetes secret
120130

@@ -317,19 +327,6 @@ Finally, activate SSO by enabling it in the `RedisEnterpriseCluster` custom reso
317327

318328
3. Test SSO by accessing the Cluster Manager UI and clicking **Sign in with SSO**.
319329

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-
333330
## Complete example
334331

335332
Here's a complete example of a `RedisEnterpriseCluster` resource with SSO enabled:
@@ -363,6 +360,5 @@ After enabling SSO:
363360
1. Configure users in your identity provider with matching email addresses
364361
2. Set up the `redisRoleMapping` attribute in your identity provider to assign appropriate roles for new users
365362
3. Test both IdP-initiated and SP-initiated SSO flows
366-
4. Consider enforcing SSO to disable local authentication for non-admin users
367363
368364
For more information about Redis Enterprise Software security, see [Access control]({{< relref "/operate/rs/security/access-control/" >}}).

0 commit comments

Comments
 (0)