Single sign-on requests
Single sign-on (SSO) configuration requests
|
Redis Enterprise Software
|
| Method |
Path |
Description |
| GET |
/v1/cluster/sso |
Get SSO configuration |
| PUT |
/v1/cluster/sso |
Set or update SSO configuration |
| DELETE |
/v1/cluster/sso |
Clear SSO configuration |
| GET |
/v1/cluster/sso/saml/metadata/sp |
Get SAML service provider metadata |
| POST |
/v1/cluster/sso/saml/metadata/idp |
Upload SAML identity provider metadata |
Get SSO configuration
GET /v1/cluster/sso
Get the single sign-on configuration as JSON.
Required permissions
| Permission name |
Roles |
| view_sso |
admin user_manager |
Request
Example HTTP request
GET /v1/cluster/sso
| Key |
Value |
Description |
| Host |
cnm.cluster.fqdn |
Domain name |
| Accept |
application/json |
Accepted media type |
Response
Returns an SSO object.
Example JSON body
{
"control_plane": true,
"protocol": "saml2",
"enforce_control_plane": false,
"issuer": {
"id": "urn:sso:example:idp",
"login_url": "https://idp.example.com/sso/saml",
"logout_url": "https://idp.example.com/sso/slo",
"metadata": "<base64 encoded metadata>"
},
"service": {
"address": "https://hostname:port",
"saml2": {
"entity_id": "https://cnm.cluster.fqdn/sp",
"acs_url": "https://cnm.cluster.fqdn/v1/cluster/sso/saml/acs",
"slo_url": "https://cnm.cluster.fqdn/v1/cluster/sso/saml/slo"
}
}
}
Status codes
| Code |
Description |
| 200 OK |
Success |
Update SSO configuration
PUT /v1/cluster/sso
Set or update the cluster single sign-on configuration.
Required permissions
| Permission name |
Roles |
| config_sso |
admin user_manager |
Request
Example HTTP request
PUT /v1/cluster/sso
Example JSON body
{
"control_plane": false,
"protocol": "saml2",
"enforce_control_plane": false,
"issuer": {
"id": "urn:sso:example:idp",
"login_url": "https://idp.example.com/sso/saml",
"logout_url": "https://idp.example.com/sso/slo"
},
"service": {
"address": "https://hostname:port"
}
}
| Key |
Value |
Description |
| Host |
cnm.cluster.fqdn |
Domain name |
| Accept |
application/json |
Accepted media type |
Request body
Include an SSO object with updated fields in the request body.
Response
Returns a status code. If an error occurs, the response body can include an error code and message with more details.
Error codes
Possible error_code values:
| Code |
Description |
| missing_param |
A required parameter is missing while SSO is being enabled |
| missing_certificate |
SSO certificate is not found while SSO is being enabled |
Status codes
Delete SSO configuration
DELETE /v1/cluster/sso
Clear the single sign-on configuration.
Required permissions
| Permission name |
Roles |
| config_sso |
admin user_manager |
Request
Example HTTP request
DELETE /v1/cluster/sso
| Key |
Value |
Description |
| Host |
cnm.cluster.fqdn |
Domain name |
| Accept |
application/json |
Accepted media type |
Response
Returns a status code.
Error codes
Possible error_code values:
| Code |
Description |
| delete_certificate_error |
An error occurred during SSO certificate deletion |
Status codes
GET /v1/cluster/sso/saml/metadata/sp
Generates and returns the SAML2 service provider metadata XML.
Required permissions
| Permission name |
Roles |
| view_sso |
admin user_manager |
Example HTTP request
GET /v1/cluster/sso/saml/metadata/sp
| Key |
Value |
Description |
| Host |
cnm.cluster.fqdn |
Domain name |
| Accept |
application/samlmetadata+xml |
Accepted media type |
Returns SAML2 service provider metadata as XML.
Example response body
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
...
</md:EntityDescriptor>
Possible error_code values:
| Code |
Description |
| missing_certificate |
Service certificate is missing |
| saml_metadata_generation_error |
An error occurred while generating the XML metadata |
Upload SAML identity provider metadata
POST /v1/cluster/sso/saml/metadata/idp
Uploads and validates the SAML2 identity provider metadata XML.
Required permissions
| Permission name |
Roles |
| config_sso |
admin user_manager |
Request
Example HTTP request
POST /v1/cluster/sso/saml/metadata/idp
Example JSON body
{
"idp_metadata": "YWp3cjkwcHR1eWF3MHJ0eTkwYXc0eXQwOW4..."
}
| Key |
Value |
Description |
| Host |
cnm.cluster.fqdn |
Domain name |
| Accept |
application/json |
Accepted media type |
Request body
| Name |
Type/Value |
Description |
| idp_metadata |
string |
Base64-encoded SAML2 identity provider metadata XML |
Response
Returns an SSO object with the updated configuration.
Example JSON body
{
"control_plane": true,
"protocol": "saml2",
"enforce_control_plane": false,
"issuer": {
"id": "urn:sso:example:idp",
"login_url": "https://idp.example.com/sso/saml",
"logout_url": "https://idp.example.com/sso/slo"
},
"service": {
"saml2": {
"entity_id": "https://cnm.cluster.fqdn/sp",
"acs_url": "https://cnm.cluster.fqdn/v1/cluster/sso/saml/acs",
"slo_url": "https://cnm.cluster.fqdn/v1/cluster/sso/saml/slo"
}
}
}
Error codes
Possible error_code values:
| Code |
Description |
| saml_metadata_validation_error |
IdP metadata failed configuration validation checks |
| saml_metadata_parsing_error |
IdP metadata is not a valid base64-encoded XML |
| missing_certificate |
SSO certificate is not found while SSO is being enabled |
Status codes