Skip to main content

SAML Server Profile

SAML server profiles configure SAML 2.0 Identity Provider connections for single sign-on authentication in Strata Cloud Manager. The scm CLI provides commands to create, update, delete, and bulk manage SAML server profiles.

Overview

The saml-server-profile commands allow you to:

  • Create SAML server profiles with IdP connection settings
  • Update existing profile configurations including SSO and SLO bindings
  • Delete profiles that are no longer needed
  • Bulk import profiles from YAML files
  • Export profiles for backup or migration

Set SAML Server Profile

Create or update a SAML server profile.

Syntax

scm set identity saml-server-profile NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEProfile nameYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--entity-id TEXTEntity ID of the IdPYes
--certificate TEXTCertificate name for IdP verificationYes
--sso-url TEXTSingle Sign-On URLYes
--sso-bindings TEXTSSO binding type (post, redirect)Yes
--slo-bindings TEXTSLO binding type (post, redirect)No
--max-clock-skew INTMaximum clock skew in seconds (1-900)No
--validate-idp-certificateValidate IdP certificateNo
--want-auth-requests-signedRequire signed authentication requestsNo

* One of --folder, --snippet, or --device is required.

Examples

Create Basic SAML Server Profile

$ scm set identity saml-server-profile corp-saml \
--folder Texas \
--entity-id "https://idp.example.com" \
--certificate idp-cert \
--sso-url "https://idp.example.com/sso" \
--sso-bindings post
---> 100%
Created saml-server-profile: corp-saml in folder Texas

Create SAML Profile with SLO and Certificate Validation

$ scm set identity saml-server-profile secure-saml \
--folder Texas \
--entity-id "https://idp.example.com" \
--certificate idp-cert \
--sso-url "https://idp.example.com/sso" \
--sso-bindings post \
--slo-bindings redirect \
--validate-idp-certificate \
--want-auth-requests-signed \
--max-clock-skew 60
---> 100%
Created saml-server-profile: secure-saml in folder Texas

Create SAML Profile with Redirect Binding

$ scm set identity saml-server-profile redirect-saml \
--folder Texas \
--entity-id "https://idp.example.com/redirect" \
--certificate idp-redirect-cert \
--sso-url "https://idp.example.com/sso/redirect" \
--sso-bindings redirect
---> 100%
Created saml-server-profile: redirect-saml in folder Texas

Delete SAML Server Profile

Delete a SAML server profile from SCM.

Syntax

scm delete identity saml-server-profile NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEProfile nameYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--forceSkip confirmation promptNo

* One of --folder, --snippet, or --device is required.

Example

$ scm delete identity saml-server-profile corp-saml \
--folder Texas \
--force
---> 100%
Deleted saml-server-profile: corp-saml from folder Texas

Load SAML Server Profile

Load multiple SAML server profiles from a YAML file.

Syntax

scm load identity saml-server-profile [OPTIONS]

Options

OptionDescriptionRequired
--file TEXTPath to YAML fileYes
--folder TEXTFolder location overrideNo
--snippet TEXTSnippet location overrideNo
--device TEXTDevice location overrideNo
--dry-runPreview changes without applyingNo

YAML File Format

---
saml_server_profiles:
- name: corp-saml
folder: Texas
entity_id: "https://idp.example.com"
certificate: idp-cert
sso_url: "https://idp.example.com/sso"
sso_bindings: post

- name: secure-saml
folder: Texas
entity_id: "https://idp.example.com"
certificate: idp-cert
sso_url: "https://idp.example.com/sso"
sso_bindings: post
slo_bindings: redirect
validate_idp_certificate: true
want_auth_requests_signed: true
max_clock_skew: 60

Examples

Load with Original Locations

$ scm load identity saml-server-profile --file saml.yml
---> 100%
✓ Loaded saml-server-profile: corp-saml
✓ Loaded saml-server-profile: secure-saml

Successfully loaded 2 out of 2 saml-server-profiles from 'saml.yml'

Load with Folder Override

$ scm load identity saml-server-profile \
--file saml.yml \
--folder Austin
---> 100%
✓ Loaded saml-server-profile: corp-saml
✓ Loaded saml-server-profile: secure-saml

Successfully loaded 2 out of 2 saml-server-profiles from 'saml.yml'
note

When using container override options (--folder, --snippet, --device), all SAML server profiles will be loaded into the specified container, ignoring the container specified in the YAML file.

Show SAML Server Profile

Display SAML server profile objects.

Syntax

scm show identity saml-server-profile [NAME] [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEProfile name; omit to list allNo

Options

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--output, -o [table|json|yaml]Output format (default: table)No
--max-results INTEGERMaximum number of results to displayNo

* One of --folder, --snippet, or --device is required.

note

When no NAME is specified, all items are listed by default.

Examples

Show Specific SAML Server Profile

$ scm show identity saml-server-profile corp-saml \
--folder Texas
---> 100%
SAML Server Profile: corp-saml
Location: Folder 'Texas'
Entity ID: https://idp.example.com
SSO URL: https://idp.example.com/sso
SSO Bindings: post
Certificate: idp-cert

List All SAML Server Profiles (Default Behavior)

$ scm show identity saml-server-profile --folder Texas
---> 100%
SAML Server Profiles in folder 'Texas':
------------------------------------------------------------
Name: corp-saml
Entity ID: https://idp.example.com
SSO Bindings: post
------------------------------------------------------------
Name: secure-saml
Entity ID: https://idp.example.com
SSO Bindings: post
SLO Bindings: redirect
Validate IdP Certificate: Yes
------------------------------------------------------------

Backup SAML Server Profiles

Backup all SAML server profile objects from a specified location to a YAML file.

Syntax

scm backup identity saml-server-profile [OPTIONS]

Options

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--file TEXTCustom output filenameNo

* One of --folder, --snippet, or --device is required.

Examples

Backup from Folder

$ scm backup identity saml-server-profile --folder Texas
---> 100%
Successfully backed up 3 saml-server-profiles to saml_server_profile_folder_texas_20240115_120530.yaml

Backup with Custom Filename

$ scm backup identity saml-server-profile \
--folder Texas \
--file texas-saml.yaml
---> 100%
Successfully backed up 3 saml-server-profiles to texas-saml.yaml

Best Practices

  1. Validate IdP Certificates: Enable certificate validation in production to prevent man-in-the-middle attacks on SAML assertions.
  2. Sign Authentication Requests: Use the --want-auth-requests-signed flag for enhanced security in sensitive environments.
  3. Configure Clock Skew Tolerance: Set an appropriate --max-clock-skew value to accommodate time differences between SP and IdP while minimizing replay attack windows.
  4. Use POST Bindings for Security: Prefer POST bindings over redirect bindings as POST transmits SAML data in the request body rather than URL parameters.
  5. Backup Before Changes: Export existing profiles before making modifications to enable quick rollback if needed.
  6. Configure SLO: Set up Single Logout bindings to ensure users are properly logged out across all SAML-integrated services.