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}")