Skip to main content

Authentication Profile Models

Models for authentication profile objects in Strata Cloud Manager, defining how users authenticate using various methods.

Overview

The Authentication Profile models support the following key attributes:

  • Profile name and container assignment
  • Authentication method selection (LDAP, RADIUS, SAML, Kerberos, TACACS+, local database, cloud)
  • Allow list configuration
  • Account lockout settings
  • Multi-factor authentication and single sign-on options
  • User domain and username modifier

Base Models

AuthenticationProfileBaseModel

The base model contains fields common to all CRUD operations.

FieldTypeRequiredDescription
namestrYesProfile name
allow_listList[str]NoAllow list (defaults to ["all"])
lockoutAuthProfileLockoutNoAccount lockout configuration
methodAuthProfileMethodNoAuthentication method configuration
multi_factor_authDictNoMulti-factor authentication configuration
single_sign_onDictNoSingle sign-on configuration
user_domainstrNoUser domain
username_modifierstrNoUsername modifier
folderstrNo*Folder in which the resource is defined
snippetstrNo*Snippet in which the resource is defined
devicestrNo*Device in which the resource is defined

* Exactly one of folder, snippet, or device is required.

AuthenticationProfileCreateModel

Inherits from AuthenticationProfileBaseModel and adds container validation ensuring exactly one of folder, snippet, or device is provided.

AuthenticationProfileUpdateModel

Inherits from AuthenticationProfileBaseModel with an additional required field:

FieldTypeRequiredDescription
idUUIDYesThe unique identifier of the profile

AuthenticationProfileResponseModel

Inherits from AuthenticationProfileBaseModel with an additional field:

FieldTypeRequiredDescription
idUUIDYesThe unique identifier of the profile
note

The response model uses extra="ignore" to handle any additional fields returned by the API.

Component Models

AuthProfileMethod

Authentication method configuration. Exactly one method type should be provided.

FieldTypeDescription
local_databaseDictLocal database method
saml_idpAuthProfileMethodSamlIdpSAML IDP method
ldapAuthProfileMethodLdapLDAP method
radiusAuthProfileMethodRadiusRADIUS method
tacplusAuthProfileMethodTacplusTACACS+ method
kerberosAuthProfileMethodKerberosKerberos method
cloudDictCloud method

AuthProfileMethodSamlIdp

FieldTypeDescription
attribute_name_usergroupstrAttribute name for user group
attribute_name_usernamestrAttribute name for username
certificate_profilestrCertificate profile name
enable_single_logoutboolEnable single logout
request_signing_certificatestrRequest signing certificate
server_profilestrServer profile name

AuthProfileMethodLdap

FieldTypeDescription
login_attributestrLogin attribute
passwd_exp_daysintPassword expiration days
server_profilestrServer profile name

AuthProfileMethodRadius

FieldTypeDescription
checkgroupboolCheck group membership
server_profilestrServer profile name

AuthProfileMethodTacplus

FieldTypeDescription
checkgroupboolCheck group membership
server_profilestrServer profile name

AuthProfileMethodKerberos

FieldTypeDescription
realmstrKerberos realm
server_profilestrServer profile name

AuthProfileLockout

FieldTypeDescription
failed_attemptsintNumber of failed attempts before lockout
lockout_timeintLockout duration in minutes

Usage Examples

Creating an Authentication Profile

from scm.models.identity.authentication_profiles import (
AuthenticationProfileCreateModel,
AuthProfileMethod,
AuthProfileMethodLdap,
AuthProfileLockout,
)

# Create model instance with LDAP method
profile = AuthenticationProfileCreateModel(
name="corp-auth",
folder="Texas",
method=AuthProfileMethod(
ldap=AuthProfileMethodLdap(
server_profile="corp-ldap",
login_attribute="sAMAccountName",
passwd_exp_days=90
)
),
lockout=AuthProfileLockout(
failed_attempts=5,
lockout_time=30
),
allow_list=["all"],
user_domain="example.com"
)

# Use with SDK
payload = profile.model_dump(exclude_unset=True)
result = client.authentication_profile.create(payload)

Parsing an Authentication Profile Response

from scm.models.identity.authentication_profiles import (
AuthenticationProfileResponseModel,
)

# Parse API response
response = AuthenticationProfileResponseModel(**api_response)
print(f"Name: {response.name}")
print(f"Domain: {response.user_domain}")
if response.method and response.method.ldap:
print(f"LDAP Profile: {response.method.ldap.server_profile}")