environments/environment
Defines an environment with all services and meta information it needs
/environments/environment
string
(default: se.curity)
The name of the organization running the services in an environment (Entity ID)
uri
(optional)
The external base URL used to contact this machine
(default: )
The root path under the base-url from which static resources should be served
(multi-value) (optional)
Reports the template areas that are available as they are found on the file system of the admin node
environments/environment/localization
The localization settings for this environment
(default: en)
Default locale if no locale is specified in request
environments/environment/white-listed-proxies
A list of proxies that are allowed to be in the middle of the requestor and this server. If this list is empty, the X-Forwarded-For header will be ignored. If this list is non-empty the X-Forwarded-For header will be used as the remote-ip of the client if the proxies match this list.
union
An IPv4/IPv6 address, hostname or IPv4/IPv6 cidr of the proxy to whitelist.
environments/environment/cluster
Settings of a configuration cluster
/environments/environment/cluster
(mandatory)
The keystore for cluster communication. This should only be set with keystores generated by Curity
host
The host or IP of the cluster admin node that the run-time nodes will connect to
port-number
(default: 6789)
The port of the cluster admin node
(default: 0.0.0.0)
The host or IP that the admin node should listen on (e.g., 0.0.0.0 to listen on all network interfaces)
environments/environment/admin-service
Enable the admin service
leafref /processing/credential-managers/credential-manager/id
leafref
/processing/credential-managers/credential-manager/id
A credential manager that verifies accounts against an external user repository (e.g., LDAP)
environments/environment/admin-service/http
Enables the HTTP admin service interface (Web UI and/or RESTCONF)
/environments/environment/admin-service/http
ip-address
IP used for listening host
(default: 6749)
The port the admin endpoint listens on
leafref /facilities/crypto/ssl/server-keystore/id
/facilities/crypto/ssl/server-keystore/id
A pointer to the key used for the SSL server. When no key is configured, the admin will be served on a http connection instead of an https.
The external base URL used to contact the admin web-ui and restconf
boolean
(default: false)
Enable HTTP 2 (H2)
environments/environment/admin-service/http/web-ui
Enable the admin Web UI
environments/environment/admin-service/http/restconf
Enable the RESTCONF API
(default: true)
Allows users to access the RESTCONF API using basic credentials
environments/environment/admin-service/http/restconf/oauth
Allow users to access the RESTCONF API using OAuth access tokens
/environments/environment/admin-service/http/restconf/oauth
leafref /base:profiles/base:profile/base:id
/base:profiles/base:profile/base:id
The OAuth Profile to accept tokens from when accessing the Dashboard
leafref /base:profiles/base:profile[base:id=current()/../as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
/base:profiles/base:profile[base:id=current()/../as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
The clients to use for authenticating users to the RESTCONF API
environments/environment/admin-service/http/devops-dashboard
This enables the DevOps Dashboard UI
/environments/environment/admin-service/http/devops-dashboard
leafref /base:profiles/base:profile[base:id=current()/../../base:restconf/as:oauth/as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
/base:profiles/base:profile[base:id=current()/../../base:restconf/as:oauth/as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
The client to use for authenticating users to the dashboard
uint32
(default: 2628000)
The maximum duration (in seconds) that a static resource should be cached by a client Web browser
environments/environment/services/zones
List of available zones in the system, these are referenced by subsystems when needed
environments/environment/services/zones/default-zone
The default zone to be used unless another is explicitly necessary
/environments/environment/services/zones/default-zone
leafref /facilities/email-providers/email-provider/id
/facilities/email-providers/email-provider/id
The email-provider to use for this zone
Key used to sign cookies, for example.
non-empty-string
The origins (scheme, host, and optional port) that are allowed to make cross origin requests
environments/environment/services/zones/zone{id} (keys ['id'])
The zone list may be empty. If so, the default zone is the only one usedIf the lists is non-empty, the default zone is used by nodes not configured to use aparticular zone.
/environments/environment/services/zones/zone{id}
The only meaning of a zone is a name. It’s up to the admin to decide where and what that zone stands for
environments/environment/services/service-role{id} (keys ['id'])
/environments/environment/services/service-role{id}
A given name of the service role
Where the service is located, physically
Enable or disable the entire daemon instance
leafref ../../zones/zone/id
../../zones/zone/id
The zone that the service is in (which, if not set, will be the default zone)
(default: 8443)
The port the service listens on
enumeration
(default: https)
Which protocol to use, almost always, https should be used
A pointer to the key used for the SSL server
(default: -XX:+UseG1GC)
The options that should be passed to the Java Virtual Machine (JVM) when the service is started
environments/environment/services/service-role{id}/hsts
Enable HSTS support for this role
/environments/environment/services/service-role{id}/hsts
(default: 0)
Maximum number of seconds that HSTS will be used for
Whether or not subdomains should use HSTS as well
Whether or not any pre-loaded certificates should be used by a browser
environments/environment/services/service-role{id}/server-tls
/environments/environment/services/service-role{id}/server-tls
Enable TLS 1.0 (should be disabled unless necessary)
Enable TLS 1.1 (should be disabled unless necessary)
Enable TLS 1.2
Enable TLS 1.3
environments/environment/services/service-role{id}/mutual-tls
/environments/environment/services/service-role{id}/mutual-tls
The port to use for mutual TLS. Defaults to the same value as configured for listening-port for this service.
leafref /base:facilities/crypto/ssl/client-truststore/client-certificate/id
/base:facilities/crypto/ssl/client-truststore/client-certificate/id
The certificates that have signed any client’s certificate used to authenticate such clients. If no truststores are configured, ALL truststores are added to the mutual-tls trust for this service.
environments/environment/services/service-role{id}/thread-count
/environments/environment/services/service-role{id}/thread-count
uint16
(default: 8)
The minimum number of threads that should be started when the service’s Java Virtual Machine (JVM) starts
(default: 500)
The maximum number of threads that can be started by the Java Virtual Machine (JVM) of the service
environments/environment/services/service-role{id}/ciphers
White- and black-listing of ciphers used for incoming secure connections. Enabling this feature will disable any white- and black-lists automatically enforced by the server.
/environments/environment/services/service-role{id}/ciphers
A white-list of ciphers to use for incoming secure connections
A black-list of ciphers not to use for incoming secure connections
environments/environment/services/service-role{id}/webfinger
Enable webfinger support for this service
leafref /profiles/profile/endpoints/endpoint/id
/profiles/profile/endpoints/endpoint/id
A list of endpoints deployed on this service instance, no order implied
environments/environment/services/runtime-service{id} (keys ['id'])
This list shows the connected and recently connected runtime nodes
/environments/environment/services/runtime-service{id}
The unique id of the runtime node
The given name of the runtime node
The service role the node is using
The time the node was booted
(default: disconnected)
The node’s cluster status
Current uptime for the node
environments/environment/reporting
Reporting makes runtime nodes expose Prometheus compatible metrics
Enable reporting
environments/environment/alarms
alarm-handler (keys: ['id'])
An alarm handler processes alarms that are raised and cleared by the system.
webhook-notifier
(default: nested)
webhook-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/webhook-notifier/web-service
sets the hostname or ip-address of the webservice service, e.g. ‘localhost’ or ‘127.0.0.1’
(default: 80)
sets the port of the webservice service, e.g. 80 or 443.
(default: /)
sets the main context of the webservice service, e.g. ‘/scim’.
leafref /base:facilities/base:http/base:client/base:id
/base:facilities/base:http/base:client/base:id
A reference to the Http Client
email-notifier
email-notifier/email-provider
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/email-notifier/email-provider
leafref /base:facilities/base:email-providers/base:email-provider/base:id
/base:facilities/base:email-providers/base:email-provider/base:id
A reference to the Email-Provider
A set of email addresses to send alarm notifications to
pagerduty-notifier
The Integration Key from Pager Duty to use when calling the Events API
pagerduty-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/pagerduty-notifier/web-service
slack-notifier
slack-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/slack-notifier/web-service
profile (keys: ['id', 'type'])
The section is augmented by each profile added to the system. The profile is the main function in the system, like oauth, openid connect etc
/profiles/profile{id, type}
A descriptive id of the profile
profile-type
This will result in filtering, so that an endpoint and a profilecan be matched, and only used when compatible
empty
Expose detailed error messages in the server responses whenever possible. By default, in case of failures due to external services or internal errors, the server returns a generic error message to avoid accidentally exposing sensitive information.
settings/user-management-service
/profiles/profile{id, type}/settings/user-management-service
leafref /base:processing/base:authorization-managers/base:authorization-manager/base:id
/base:processing/base:authorization-managers/base:authorization-manager/base:id
The authorization manager to authorize access to the REST API
leafref /base:facilities/base:data-sources/base:data-source/base:id
/base:facilities/base:data-sources/base:data-source/base:id
Data source to be used for user accounts.
Data source to be used for devices.
Data source where delegations are stored
The max number of results to return in a single search response. Set to 0 to allow unlimited number of results.
settings/user-management-service/api-authentication
/profiles/profile{id, type}/settings/user-management-service/api-authentication
The realm to use when reporting an unauthenticated request in a HTTP-response. When no value is configured, the id of the user-management profile is used as realm.
The OAuth profile that is used to provide application access to the user-management endpoints.
settings/user-management-service/attribute-data-sources{id} (keys ['id'])
/profiles/profile{id, type}/settings/user-management-service/attribute-data-sources{id}
The resourceType provided by this data-source. The concept of a resource-type is borrowed from the SCIM specification (see https://tools.ietf.org/html/rfc7643#section-6) and refers to the name of the resource (eg. Group). Currently, resource-types are not mapped to SCIM endpoints and the resources they refer to may only be retrieved via the Users endpoint
The namespace associated with the resources provided by this data-source. If not specified, the following value will be used: urn:se.curity:scim:2.0:resourceType (where resourceType is the configured resourceType value).
settings/user-management-service/credential-management
/profiles/profile{id, type}/settings/user-management-service/credential-management
leafref /base:processing/base:credential-managers/base:credential-manager/base:id
/base:processing/base:credential-managers/base:credential-manager/base:id
The credential manager to use for password updates. Notice that if a password is provided during account creation, a credential manager is required. If no credential manager is configured and a client tries to update a password, an error will occur.
leafref /base:processing/base:procedures/base:validation-procedure/base:id
/base:processing/base:procedures/base:validation-procedure/base:id
validation-procedure to use to validate user passwords on updates.
settings/authentication-service
The Authentication Service is a Profile that enables Authentication on the server. It can be configured with any number of authenticators of any type.
/profiles/profile{id, type}/settings/authentication-service
(default: 3600)
The time the SSO cookie will be valid
Whether the SSO cookie should persist only for the browser session, i.e. expire when browser is closed. Note that when set to true, the SSO cookie will expire when the browser session does regardless of the value set in sso-expiration-time. The cookie will however never be valid for a longer duration than set by sso-expiration-time or the longest lasting sso-expiration-time set on any specific authenticator.
By default the SSO cookie is not persisted in a database. By setting this to true the cookie is persisted in the session store, and only a reference is used as cookie. This is needed if the SSO cookie contains large amounts of user data.
(default: username)
The name of the cookie that stores the user’s preferences, like username and locale settings
If set, the user will be redirected to this URL after logout
By default the preflight endpoint will be enabled on the anonymous endpoint. This option allows the endpoint to be disabled.
leafref ../protocols/protocol/id
../protocols/protocol/id
The id of the protocol plugin
leafref /base:facilities/base:sms-providers/base:sms-provider/base:id
/base:facilities/base:sms-providers/base:sms-provider/base:id
The sms-provider to be used for this zone
Enables the unsafe (e.g. POST) cross-site requests blocking mechanism. Blocks cross-site requests (those originating from a different or third-party domain) with an unsafe method from being accepted, except for endpoints the explicitly allow it. Disabling this feature can help with interoperability but does pose security risks, and should only be enabled if strictly required.
settings/authentication-service/base-url
This setting will let this profile operate under specific URLs. It makes it possible to have many URLs running on the same Curity instance. Each authentication service will redirect using these settings if present. If this is not set, the profile will use the base-url setting from the environment section. The SSO can only occur inside a profile since the SSO cookie is bound to this URL.
/profiles/profile{id, type}/settings/authentication-service/base-url
This URL is used as default. If the incoming request does not contain an X-Forwarded-Host header with a white-listed URL in the additional-base-url section, this one will be used.
This is a multi-value element where additional URLs can be configured. If the X-Forwarded-Host or Host Header contains any of these, it will be selected and used when redirecting internally.
settings/authentication-service/redirect-url-whitelist
This list is the profile wide redirect whitelist, any redirect will be validated against this list of hosts. By default the endpoints the profile interacts with such as the token service’s authorize, assisted-token and device flow endpoints are added to the list. Any external endpoints that the authentication service redirects to needs to be added here.
settings/authentication-service/account-domains/account-domain{id} (keys ['id'])
The domain (i.e., grouping, organizational unit, realm) of accounts
/profiles/profile{id, type}/settings/authentication-service/account-domains/account-domain{id}
The given ID of an account domain
A description of the domain
settings/authentication-service/authentication-actions
settings/authentication-service/authentication-actions/authentication-action{id} (keys ['id'])
An Authentication Action that can be assigned to authenticators
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}
The given ID of the Authentication Action
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition
The condition for which to use a second factor
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-enable-condition
(default: requireSecondFactor)
The name of the subject attribute that will contain the boolean to trigger the secondfactor. If the attribute is not found it is treated same as False
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-enable-condition/second-factor
The authenticator to trigger as the second factor when the the condition is met.
leafref ../../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../../auth:authenticators/auth:authenticator/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-acr-condition
(default: secondFactorAcr)
The name of the subject attribute to look for that contains the ACR to use as second factor
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition/subject-pattern-condition{subject-pattern} (keys ['subject-pattern'])
The regex to match the subject attribute against.
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition/subject-pattern-condition{subject-pattern}/second-factor
The authenticator to use as second factor when the subject pattern matches
leafref ../../../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../../../auth:authenticators/auth:authenticator/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition/condition{condition-script} (keys ['condition-script'])
script
The expression to run against the client attributes. This expression will be evaluated against the properties of the OAuth client that issued the request that started the authentication flow. Example expressions: client.id == ‘my-good-client’ client.properties.mfa-client == ‘true’
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition/condition{condition-script}/second-factor
The authenticator to use as second factor when the expression returns true
settings/authentication-service/authentication-actions/authentication-action{id}/sequence
leafref ../../../auth:authentication-action/auth:id
../../../auth:authentication-action/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/switch
If true (default value) the action will deny the authentication if no condition is matched. Otherwise it will succeed.
settings/authentication-service/authentication-actions/authentication-action{id}/switch/case{name} (keys ['name'])
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/switch/case{name}
A mandatory unique name for this switch case
The JavaScript boolean expression conditioning the execution of this case’s authenticator.
leafref ../../../../auth:authentication-action/auth:id
../../../../auth:authentication-action/auth:id
The authentication action to run if the condition is true.
settings/authentication-service/authentication-actions/authentication-action{id}/remove-attribute-transformer
This is an optional list where attributes can be listed that should be removed from the original set of parameters. If the name of the attribute matches what the authentication returned, that attribute will be removed. The excluded attributes need to have a fully qualified path. Example: emails.email.value, or to remove all emails: emails
settings/authentication-service/authentication-actions/authentication-action{id}/changed-country
The name of the subject attribute that will be potentially used from a following action.
settings/authentication-service/authentication-actions/authentication-action{id}/changed-country/bucket
A reference to a data source
settings/authentication-service/authentication-actions/authentication-action{id}/lookup-linked-accounts-transformer
(default: linked_accounts)
The attribute name to store the list of linked accounts in
settings/authentication-service/authentication-actions/authentication-action{id}/lookup-linked-accounts-transformer/linking-account-manager
leafref /base:processing/base:account-managers/base:account-manager/base:id
/base:processing/base:account-managers/base:account-manager/base:id
A reference to an Account Manager
settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account
Add all other attributes found in the subject attributes to the account
When this is set to ‘true’ and the authenticator belongs to a domain, a link will be created on the authenticator’s domain with foreignAccount the ‘subject’, using the same account manager used to create the account.
The authenticated subject-attribute containing the email for the new account. If not configured, a unique email will be generated for the account. If configured but no attribute is found, a server error will occur.
When this is set to ‘true’, the action will fail authentication if the account cannot be created, for example if the email is used by some other account.
The authenticated subject-attribute containing the phone number for the new account. If configured but no attribute is found, a server error will occur.
(default: subject)
The authenticated subject-attribute containing the username for the new account. If this attribute is not found, a server error will occur.
settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account
Set to true if any already existing link to the same foreign subject in the Linking Account Domain should be overwritten
Set to true if the account to be linked with the current Linking Account Manager is the Local account, and the current Authenticators session is the foreign account
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/linking-account-domain
leafref ../../../../../auth:account-domains/auth:account-domain/auth:id
../../../../../auth:account-domains/auth:account-domain/auth:id
A reference to an Account Domain
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/linking-account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/advanced
This option allows you to store the links using some arbitrary attribute from the Authenticated Session, instead of the account id. Use with caution!
The name of the attribute containing the account ID. This is used as the local account in the link. If use-linked-account-as-main-account is enabled, then this attribute is picked from the Authenticated Sessions, otherwise it is taken from the incoming attributes from the authenticator this action runs on. No check is made to verify that the account corresponding to the given ID exists. It is strongly recommended to NOT use an attribute that might change such as subject (username) or email. Doing this might cause several problems as there is no guarantee that the value of this attribute is globally unique and immutable. It is strongly suggested to use a auto-create-account action before this one, instead, to avoid any future issues.
settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey
int32
(default: 250)
The speed that can dictate if a journey is impossible (km/h). Default is 250 km/h.
settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey/bucket
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/reset-password
When this is set to true, the users will be able to skip the password reset.
(default: resetPassword)
When this attribute is found in the subject attributes and set to ‘true’, the user will be prompted with an option to perform a password update.
Regular expression which checks the strength of the submitted password
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password/credential-manager
A reference to a Credential Manager
settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt
settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt/required-attribute{name} (keys ['name'])
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt/required-attribute{name}
A regular expression to validate the value of this field.
(default: text)
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attribute-data-source
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attribute-data-source
This is a whitelist of attributes that if returned by the data source will be added to thetransformation response
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attributes{attribute-name} (keys ['attribute-name'])
The list of attributes to perform the transformation on
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attributes{attribute-name}
The name of the attribute, that the transformation will be applied on. This attribute will be created if its not returned by the data source, as long as a value can be found.
The name of the resulting attribute after the transformation is applied, if not set the name will be the same as the original attribute
The name of the attribute (eg. column) that contains the replacement value for the attribute
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer
Set to true if this action should fail if no link could be resolved
The name of the authentication-attribute to put the linked domain in
The name of the authentication-attribute to put the original subject in
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer/linking-account-domain
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer/linking-account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/new-country
settings/authentication-service/authentication-actions/authentication-action{id}/new-country/bucket
settings/authentication-service/authentication-actions/authentication-action{id}/allow-deny-country
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/allow-deny-country
Enable to allow the countries in the list, disable to deny them.
The list of countries to allow or deny.
settings/authentication-service/authentication-actions/authentication-action{id}/script-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/script-transformer
settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer
settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer/attributes{attribute-base-path, attribute-name} (keys ['attribute-base-path', 'attribute-name'])
This transformer applies the defined regex on the matching key. The username key is called ‘subject’ and if omitted will be passed through without change. If a matching-regex is omitted, the attribute will be passed through without change of value, but might be given a new name.If an attribute value doesn’t match any key, the transformer will ignore that value and it will be passed through.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer/attributes{attribute-base-path, attribute-name}
The location of the attribute in the Attributes tree structure. This contains the path without the attribute name. Example: emails.email or name It’s also possible to address root elements by using the $root keyword: $root.subject. If the element is directly under the top level simply set the path to $root, if it’s nested either use the example above or explicitly state root via $root.emails.email
The name of the attribute, that the regex will be applied on. The attribute is looked for in the path given in attribute-base-path To address the value of an email, simply set the attribute-base-path to $root.emails.email and the attribute-name to value
The regular expression to apply on the attribute value, in the form of a regex patternIf the value is a multivalued attribute (list elements) the regex will be applied on all values individually.All values will be included in the result, if the regex didn’t match, the original value is included.
The string or expression to replace the matching portion of the attribute value with. Must be set of the matching-regex is set.
The name of the resulting attribute after the transformation is applied, if not set the name will be thesame as the original attribute name. Note: This is placed in the attribute-base-path same as the attribute-name that it is replacing. It is not possible to move elements around in the structure, replacement and renaming is done on the same path
When present, the attributes issued by the additional authentication factors will be included, alongside with the attributes issued by the main authenticator. The attributes from the additional authenticators will have authority equal to the authenticator’s ACR. The attributes from the main authenticator don’t have any authority.
authenticator (keys: ['id'])
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}
The Authentication Context Class Reference (ACR) that this authenticator supports
Optional override for template area
leafref ../../../account-domains/account-domain/id
../../../account-domains/account-domain/id
Optional domain in which accounts are stored
A readable description of the Authenticator, for User presentation, can be a locale key
This controls the expiration time for this specific authenticator. If this is not set, the value set on the profile will be used instead.A common scenario is to allow some factors to have longer lifetimes than others, which is accomplished by setting this value on the authenticator in question
leafref ../../../authenticators/authenticator/id
../../../authenticators/authenticator/id
Optional authenticator (or any from a group) that the user must authenticate with prior to this one
Optional authenticator (or any from a group) that the user must authenticate with prior to this registering with this.
geo-filtering
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/geo-filtering
If enabled then allow the countries in the list to use the authenticator. Deny otherwise.
The list of countries (ISO-3166 code) that are allowed or denied to use the authenticators.
authentication-actions
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/authentication-actions
leafref ../../../../authentication-actions/authentication-action/id
../../../../authentication-actions/authentication-action/id
An ordered list of actions that will run after authentication is complete. They can work on the attributes (including subject) that the authenticator has returned, and shape these to match the desired pattern/format, and can reject the authentication if necessary
An ordered list of actions that will run when single sign-on with the current acr is complete. They will work on the attributes that was returned at the original authentication. They can reject the sso if necessary
request-validations
request-validations/request-validation{request-subpath, endpoint, http-method} (keys ['request-subpath', 'endpoint', 'http-method'])
Procedures that will execute to validate the request data
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/request-validations/request-validation{request-subpath, endpoint, http-method}
leafref /base:profiles/base:profile[base:type=current()/../../../../../../../base:type][base:id=current()/../../../../../../../base:id]/base:endpoints/base:endpoint/base:id
/base:profiles/base:profile[base:type=current()/../../../../../../../base:type][base:id=current()/../../../../../../../base:id]/base:endpoints/base:endpoint/base:id
The endpoint that this subpath exists on
group
A group of authenticators, any one can be picked and will represent the group. (Logical OR)
leafref ../../../../authenticators/authenticator/id
../../../../authenticators/authenticator/id
The authenticators that belong to the group
sms
An SMS authenticator. Sends a challange over SMS
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/sms
The OTP in the SMS will be a regular OTP and not a hyperlink
(default: 6)
The length of the OTP
(default: 60)
The time the OTP or the hyperlink is valid
Whether or not users should be able to add a new device during the login process
Whether or not the information page should be shown before the registration page
(default: 3)
The maximum number times a user is allowed to try to validate a OTP. When this value is set to 0, there is no maximum attempts enforced.
The maximum number of OTP or hyperlinks that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
When active a login will be automatically performed after a successful registration
The Account Manager is used to fetch the account
email
An email authenticator. Sends a challenge over email
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/email
(default: 120)
The time the hyperlink is valid
The maximum number of Email-challenges that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
The maximum number times a user can try to validate the nonce sent with a hyperlink. When this value is set to 0, there is no maximum attempts enforced.
If set to true, the authenticator will not check if the account is active before sending the hyperlink.
If set to true, the authenticator will change the account status to active once the hyperlink sent was consumed by the user.
encap
The settings for an Encap authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/encap
The Account Manager is responsible for credentials and accounts. Depending on whether you pick an account manager that support registration, the html-form will support creating accounts and managing the accounts
The ID of the authentication service Encap client
(default: encap)
The application ID of the Encap mobile application being used
The API key to be used (only applicable when using the public Encap test server)
The URL to where the Encap webservice is located (e.g., https://demo.encapsecurity.com/pt)
leafref /base:facilities/base:crypto/base:signing-keys/base:signing-key/base:id
/base:facilities/base:crypto/base:signing-keys/base:signing-key/base:id
The key ID of the private key that will be used when signing messages sent to the Encap server
The URL where users may download the mobile authentication application
A title message that is sent to the encap server when starting authentication
A context body that is sent to the encap server when starting authentication, as text/plain
(default: text/plain)
The content type of the context-content
The maximum number of authentication attempts that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
Set a device expiration in seconds from the time the device is activated, if not set devices never expire. If this is set, it is not possible to override in the template.
encap/non-interactive-registration
Enables the possibility to activate a new device without user interaction. This can be used when the app also serves as an OpenID Connect client.
The custom scheme url to redirect to with the activation code (myapp://some-redirect)
netidaccess
The settings for Net iD Access authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/netidaccess
(default: showroom.lab.secmaker.com)
Sets the hostname or ip-address of the Net iD Access service.
(default: 443)
Sets the port of the Net iD Access service.
(default: /nias/ServiceServer.asmx)
Sets the full path to the Net iD Access service
A reference to the Http Client that contains trust and client authentication settings
bankid
The settings for a BankID authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/bankid
The Common Name (CN) of the certificate used by the BankID provider
The type of smartcard reader that must be used when authenticating with a form of BankID that supports smartcards
(default: production)
The method by which to connect to the BankID – either test or production
Use the new BankID API endpoint (appapi2.bankid.com). The old API endpoint (appapi.bankid.com) will be discontinued in June 2019. This option is here just to ease migration and will be removed in a subsequent release.
Generate a QR code for the autostart token, to be able to perform the ‘other device’-flow without asking the user for a personal number.
Parse the returned BankID signature to obtain issuers and the device info. This will make the contextAttributes large, storing the SSO sessions in a database is advised.
The allowed forms of BankID that may be used for authentication
duo
The settings for a Duo authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/duo
Allow registration during login
Show information page with instructions about installing the Duo app before registration.
When active a login will be automatically performed after a successful registration.
The API hostname of the Duo account.
The auth API integration key of the Duo account.
The auth API secret key of the Duo account.
The admin API integration key of the Duo account.
The admin API secret key of the Duo account.
(default: 1500)
The seconds for which the created activation code is going to be valid.
duo/account-manager
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/duo/account-manager
The allowed factors of Duo that may be used for authentication
google
Google OpenID Connect methods
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/google
(default: https://accounts.google.com/.well-known/openid-configuration)
The url to the openid-configuration document at Google
The client-id, registered at Google
The client-secret, registered at Google
(default: openid profile email)
Scope to ask Google for, space separated, note that if using google apps with custom domains the openid, profile and email scopes need to be present.
The allowed clock-skew in seconds when validating the JWT from the OpenID Server
The Authentication Context Class Reference (ACR) or authentication method that the OpenID Server should require
A reference to the Http Client to use. If not defined, the default HTTP client is used
The claim to use as subject
This can be set to a google apps domain, such as your-company.com it will then only accept authentications done with an account in that domain
oidc
OpenID Connect methods
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc
The url to the openid-configuration document at theOpenID server (must end in ‘/.well-known/openid-configuration’)
The client-id, registered at the OpenID server
Send the client credentials using HTTP Basic authentication. When false, the credentials are sent in the request-body
(default: openid)
Scope to ask the OpenID server for, space separated
param client-secret: non-empty-string (optional) The client-secret (client-secret-post), registered at the OpenID server
The client-secret (client-secret-post), registered at the OpenID server
oidc/asymmetrically-signed-jwt
Settings for the asymmetrically signed JWT (private_key_jwt)
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/asymmetrically-signed-jwt
Signing key for the asymmetrically signed JWT (private_key_jwt)
Signature algorithm for the asymmetrically signed JWT (private_key_jwt)
oidc/symmetrically-signed-jwt
Allowed symmetrically signing algorithms for JWT (client_secret_jwt)
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/symmetrically-signed-jwt
Signing key for the symmetrically signed JWT (client_secret_jwt)
The signature algorithms to allow for JWT (client_secret_jwt)
oidc/encrypted-id-token
ID Token is expected to be encrypted
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/encrypted-id-token
leafref /base:facilities/base:crypto/base:decryption-keys/base:decryption-key/base:id
/base:facilities/base:crypto/base:decryption-keys/base:decryption-key/base:id
A reference to a Decryption Keystore with a key
Key Management Algorithm - the algorithm used to obtain the Content Encryption Key, and present in the ‘alg’ JWE header. If empty, any supported algorithm is allowed
Content Encryption Algorithm - the algorithm used to obtain the content, and present in the ‘enc’ JWE header If empty, any supported algorithm is allowed
oidc/fetch-userinfo
Fetch claims from the userinfo endpoint
param plain:empty (optional) Expect user info response to be plain JSON param signed:empty (optional) Expect user info response to be a signed JWT
Expect user info response to be plain JSON
Expect user info response to be a signed JWT
oidc/fetch-userinfo/encrypted
Settings for decrypting an encrypted userinfo response
param unsigned-payload: empty (optional) Expect the encrypted userinfo payload to be plain JSON param signed-payload: empty (optional) Expect the encrypted userinfo payload to be a signed JWT param allowed-algorithms: enumeration (multi-value) (optional) Key Management Algorithm - the algorithm used to obtain the Content Encryption Key, and present in the ‘alg’ JWE header. If empty, any supported algorithm is allowed param allowed-content-encryption-algorithms: enumeration (multi-value) (optional) Content Encryption Algorithm - the algorithm used to obtain the content, and present in the ‘enc’ JWE header If empty, any supported algorithm is allowed
Expect the encrypted userinfo payload to be plain JSON
Expect the encrypted userinfo payload to be a signed JWT
param idp-entity-id: string (mandatory) The SAML Entity Id of the remote SAML IDP param idp-url:string (mandatory) The target IDP URL where SAML Authentication Requests are delivered to. param issuer-entity-id: string (optional) The SAML Entity Id that the authenticator uses when communicating with the remote SAML IDP. When this is not set, the server’s configured id will be used. param signature-verification-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional) The key to verify the signature of received SAML Response messages. When no key is configured and signed SAML messages are received, then the messages will be rejected. param wants-response-signed: boolean (default: false) Indicate whether the received SAML Response message must be signed. param wants-assertion-signed: boolean (default: true) Indicate whether the received Assertion must be signed. param request-signing-key: leafref /base:facilities/base:crypto/base:signing-keys/base:signing-key/base:id (optional) Optional reference to the signing key that is used to sign outbound SAML AuthnRequest messages. If not configured, signing AuthnRequests is disabled. param saml-clock-skew: int32 (default: 60) The number of seconds allowed for clock skew that the inbound response message may be older or newer than our own clock
The SAML Entity Id of the remote SAML IDP
The target IDP URL where SAML Authentication Requests are delivered to.
The SAML Entity Id that the authenticator uses when communicating with the remote SAML IDP. When this is not set, the server’s configured id will be used.
leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id
/base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id
The key to verify the signature of received SAML Response messages. When no key is configured and signed SAML messages are received, then the messages will be rejected.
Indicate whether the received SAML Response message must be signed.
Indicate whether the received Assertion must be signed.
Optional reference to the signing key that is used to sign outbound SAML AuthnRequest messages. If not configured, signing AuthnRequests is disabled.
The number of seconds allowed for clock skew that the inbound response message may be older or newer than our own clock
saml/request-options
Optional settings to finetune how a SAML Authentication Request message is constructed.
The optional NameIdFormat that is requested in a SAML Authentication Request. When not configured, no NameIdFormat is requested.
pingfederate
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/pingfederate
Use a template form to redirect to the PingFederate service. Useful when postMessage notifications are needed
(default: uuuu-MM-dd HH:mm:ssZZ)
The format of date time strings used by PingFederate
html-form
The settings for an HTML form authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/html-form
The maximum number times a user is allowed to try to validate credentials. When this value is set to 0, there is no maximum attempts enforced.
When active, this authenticator will only be usable as a second factor. The username is picked up by the authenticated state and the user is asked to enter only a password.
When active a login will be automatically performed after a successful activation or password change.
When true, a checkbox with ‘remember me’ is shown to the user. This allows the user to have it’s session forgotten when the browser is closed.
The Credential Manager is used to verify the credentials
facebook
Facebook login method
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/facebook
The client-id registered with Facebook
The client-secret registered with Facebook
(default: public_profile email)
A space-separated list of scopes to request from Facebook
(default: https://www.facebook.com/dialog/oauth)
URL to the Facebook authorization endpoint
(default: https://graph.facebook.com/v3.2/oauth/access_token)
URL to the Facebook token endpoint
(default: https://graph.facebook.com/v3.2/me)
URL to the Facebook userinfo endpoint
siths
The settings for a SITHS authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/siths
base64-encoded-string
The shared secret used to decrypt identity data sent from the Windows Connector
The URL, including the scheme, host, port, and URI, of the Windows Connector
The type of SITHS cards that should be allowed – either test, production, or both
windows
The settings for a Windows authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/windows
leafref ../../../auth:authenticator/auth:id
../../../auth:authenticator/auth:id
The authenticator that a user should login with if Integrated Windows Authentication (IWA) fails
totp
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/totp
(default: sha1)
Clock skew in seconds
(default: 1)
The Delay window of the algorithm. Greater number means that a TOTP can be used for a period of time so many times longer than the interval (delay window * interval).
Set a device expiration in seconds from the time the device is activated, if not set devices never expires. If this is set, it is not possible to override in the template. Only one device can be active per account, registering a new device expires any previous ones.
(default: idsvr-totp)
The device type (or vendor) that will be stored in the device store. This is used in registration as well as on the lookup of the devices the user has associated. If you only use one device type, it is suggested to leave this setting as is. Otherwise refer to the documentation on how this is used exactly.
Determines how long of a one-time passcode to display to the user. This parameter is ignored by some implementations and defaults to 6.
(default: 30)
The interval of the TOTP device. This parameter is ignored by some implementations and defaults to 30 seconds.
totp/account-manager
totp/bucket
totp/generated-key-config
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/totp/generated-key-config
Allow the users to set a device alias. This can be useful if a user has more than one device of this type. If it is set to false, the alias will be the username of the user.
(default: Identity server)
The issuer is embedded in the QR code and will show up in TOTP apps (i.e. Google Authenticator)
totp/generated-key-config/bucket
totp/pre-shared-key-config
totp/pre-shared-key-config/key-repository
ping-idp-adapter
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/ping-idp-adapter
The URL to the IdP Adapter
The password to use for basic authentication against the dropoff endpoint
The username to use for basic authentication against the dropoff endpoint
service-provider (keys: ['id'])
Service providers are usually applications or relying parties. They depend on the identity server for authentication
/profiles/profile{id, type}/settings/authentication-service/service-providers/service-provider{id}
Optional override for template area, this is used when listing multiple authenticators if many are possible to use it’s sometimes needed to brand the selection page per application.
When a list needs to be shown, this is marked as default
This URL is used if a request is made to the authentication service without the parameters necessary to initiate an authentication transaction. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction.
This URL is used to redirect the user to the application after a successful login has taken place
This is a list that marks which authenticators should be used for the particular service
leafref ../../../authenticator-filters/authenticator-filter/id
../../../authenticator-filters/authenticator-filter/id
The optional list of URIs or URI-patterns that is allowed to embed the rendered pages inside an iframe or be a trusted source.
protocol (keys: ['id'])
Protocol transformer configurations
simple-api
A Protocol plugin using the Simple API Protocol. Required if this authentication profile is used by a token service profile
ping-federate
A Protocol plugin using Pingfederate’s agentless adapter integration method
/profiles/profile{id, type}/settings/authentication-service/protocols/protocol{id}/ping-federate
This URL is used if a request is made to the authentication service without the parameters necessary to initiate an authentication transaction. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction. When integrating to PingFederate, this could happen, for example, if the user arrives at the authentication service via PingFederate, book marks the page, and later follows their new bookmark. In this case, the user would not see an error page, but instead be redirected to this URL.
When PingFederate is requesting authentication directly, this optional list of URI’s or URI-patterns define which origins are allowed to frame pages in, i.e. this list decides how and which allowed frame response headers are sent. If none are configured, framing is not allowed for this protocol. Note that when PingFederate includes a client_id, the ServiceProvider’s framing settings are used!
saml
A SAML Protocol plugin for integration with services like ADFS and other SAML providers
/profiles/profile{id, type}/settings/authentication-service/protocols/protocol{id}/saml
Reference to the key that is used to sign the login token
The recipient or audience of the SAML response messages and assertions
The Assertion Consumer Service (ACS) URL where SAML Response messages are posted to
(default: generic)
The type of Federation Service that will receive the login token
The number of seconds allowed for clock skew (subtracted from issuance timestamp) thatis used to compute the time before which a token must not be used
(default: 300)
The number of seconds that SAML assertions are valid
Include SessionIndex in AuthnStatement of the SAML response.
The URL to send logout responses to. If empty, the ACS URL will be used.
Sign the assertion in addition to the response.
authenticator-filter (keys: ['id'])
Authenticator filter configuration. Authenticator filters are used to filter out authenticators depending on runtime information such as the request’s user-agent, for example.
geo-country
Geolocation Country Authenticator Filter
/profiles/profile{id, type}/settings/authentication-service/authenticator-filters/authenticator-filter{id}/geo-country
Apply the exclusions when the country request comes matches any in the list. If this is set to false, then the exclusions are applied when the country fails to match. A common use-case for setting this to false would be to remove certain authenticators when the request comes from a country that is not in the list.
geo-country/exclusions
List of authenticators to exclude.
leafref ../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../auth:authenticators/auth:authenticator/auth:id
user-agent
User-Agent Authenticator Filter
This filter is applied only if the request’s User-Agent matches this regex.
user-agent/exclusions
script-filter
Script Authenticator Filter
leafref /base:processing/base:procedures/base:filter-procedure/base:id
/base:processing/base:procedures/base:filter-procedure/base:id
A reference to an existing authenticator-filter-procedure.
cidr
CIDR Authenticator Filter
/profiles/profile{id, type}/settings/authentication-service/authenticator-filters/authenticator-filter{id}/cidr
The CIDR specifying the IP addresses and routing prefixes for which this filter should be applied.
Apply the exclusions when the cidr matches the IP. If this is set to false, then the exclusions are applied when the cidr fails to match. A common use-case for setting this to false would be to remove certain authenticators when the client is not on the internal network
cidr/exclusions
authorization-server
The Authorization Server is a full OAuth 2.0 server with OpenID Connect support. It can issue tokens using the token issuer subsystem together with Token Procedures
/profiles/profile{id, type}/settings/authorization-server
Defines if refresh tokens are created on every refresh or if they are kept
Override the issuer for tokens issued by this authorization server. Setting this value instead of using the derived value for issuer, can break the standard discovery specification and should therefore only be used in exceptional circumstances, i.e. backwards compatibility or to integrate with existing environments where the derived issuer can not be used.
The (default) account manager to use for user attribute lookups
An absolute URL that refers to the privacy policy of the Authorization Server
An absolute URL that refers to the terms of service that users must accept when using any client configured in the profile
The published URL of the documentation that describes to developers how to use the service
client-authentication
The methods by which an OAuth client may be authenticated
/profiles/profile{id, type}/settings/authorization-server/client-authentication
Basic authentication and form post. This is enabled by default.
Allow a client to not authenticate to the token endpoint. Selecting this authentication method for a client makes it a public client, as defined by OAuth.
client-authentication/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for JWT’s
The signature algorithms to allow
client-authentication/symmetrically-signed-jwt
Allowed symmetric signing algorithms for JWT’s
client-authentication/using-jwt
Settings for introspection of client signed JWT’s. Should not normally need to be changed from the defaults
/profiles/profile{id, type}/settings/authorization-server/client-authentication/using-jwt
Whether the ‘jti’ (JWT ID) claim should be checked for uniqueness in provided client assertion JWT’s
(default: 10)
The number of seconds that token lifetimes and issue times should be skewed to accommodate for clocks that may be out of sync
client-authentication/mutual-tls
Configure settings to allow client authentication through using mutual-tls
client-authentication/mutual-tls/by-proxy
Allow mutual TLS to be terminated in a proxy instead of directly within the identity server
/profiles/profile{id, type}/settings/authorization-server/client-authentication/mutual-tls/by-proxy
User ID credential that the proxy uses to authenticate using HTTP Basic authentication through a Proxy-Authorization header.
Password credential that the proxy uses to authenticate using HTTP Basic authentication through a Proxy-Authorization header.
Name of the HTTP header that the proxy uses to include the PEM- or base64-encoded DER representation of the client certificate in the forwarded request. Must be set for mutual-tls by-proxy to work.
request-object
The settings for allowing a request to be provided through a by-value or by-reference request object. By-value request objects are passed using the ‘request’ parameter whereas by-reference ones are provided through a GET request made to the URL provided in the request-uri parameter. When enabled, a client is required to provide a request object JWT.
If enabled, all authorization request parameters must be inside the request object, as claims, with the exception of request and request_uri. If a parameter is also present in the query string then it needs to have the same value as the claim inside the request object.
request-object/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for request object JWT’s
/profiles/profile{id, type}/settings/authorization-server/request-object/asymmetrically-signed-jwt
The list of claims that must be inside the request object.
authentication-service
/profiles/profile{id, type}/settings/authorization-server/authentication-service
client-capabilities
This section defines what a client may do when communicating with the OAuth server
client-capabilities/code
token-time-to-live
The TTL of the Authorization Code
client-capabilities/implicit
client-capabilities/resource-owner-password-credentials
The credential manager to use when authenticating the user using Resource Owner Password Credentials
client-capabilities/client-credentials
client-capabilities/introspection
client-capabilities/token-exchange
client-capabilities/assisted-token
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/assisted-token
When set, the issued token is stored in a secure cookie in the user-agent; and is thereafter re-issued on subsequent requests
When set, the token storage cookie name is prefixed with the defined value. The cookie name will always be collision free over profiles and clients.This value will get URL-encoded, to enforce a valid cookie name.
client-capabilities/device-authorization
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/device-authorization
The suggested interval between polling attempts for clients
The time-to-live of an issued user and device code
When enabled, a QR-code is generated and returned with a user and device code
When set, the alias will be used as verification-url where the user should go to verify its user code. If not set, the verification-url is derived from the profile’s base-url settings.
client-capabilities/assertion
Allow client to use the assertion grant on the token endpoint.
client-capabilities/assertion/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for JWT assertions
client-capabilities/assertion/symmetrically-signed-jwt
Allowed symmetric signing algorithms for JWT assertions
scopes
/profiles/profile{id, type}/settings/authorization-server/scopes
The shortest time an access token will be valid for
The default scope (the empty scope) is described with this description
scopes/scope{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/scopes/scope{id}
scope
Whether this is a prefix scope. Prefix scopes allow clients to use dynamic scopes that start with a prefix, but may have any value after that.
The Time To Live for a scope
Whether the scope is required in the request (but not necessarily granted) when configured for any client in the profile or during registration of a non-templatized dynamic clients when all scopes or this scope in particular is allowed to be registered by dynamic clients.
Expose this scope as part of the published metadata.
leafref ../../../claims/claim/name
../../../claims/claim/name
The claims that are issued when the client is granted this scope of access
scopes/scope{id}/properties
scopes/scope{id}/properties/property{key} (keys ['key'])
/profiles/profile{id, type}/settings/authorization-server/scopes/scope{id}/properties/property{key}
leafref ../../claims/claim/name
../../claims/claim/name
The claims that are issued for the default scope (empty scope)
claims
When this is set to true, all the system claims will be exposed in the metadata.
claims/claim{name} (keys ['name'])
The list of claims available in the profile
/profiles/profile{id, type}/settings/authorization-server/claims/claim{name}
The name of the claim
A user-friendly description. Can be presented to the user during consent
leafref ../../claims-value-provider/id
../../claims-value-provider/id
The claims-value-provider that provides the value for the claim; if nothing is set, a ‘none’-claims provider (i.e. a claims provider that provides no value) will be used.
Whether the claim is required in the request (but not necessarily granted) when configured for any client in the profile or during registration of a non-templatized dynamic client.
If this claim should be exposed in the metadata
claims/claim{name}/transformation
A transformation from the raw data to the claim name and value
/profiles/profile{id, type}/settings/authorization-server/claims/claim{name}/transformation
A value mapping procedure for this claim.
The input attributes to map
claims/claims-value-provider{id} (keys ['id'])
The claim value sources. These lookup attributes based on the given claims
The name of the claim value provider
claims/claims-value-provider{id}/account-manager-claims-provider
/profiles/profile{id, type}/settings/authorization-server/claims/claims-value-provider{id}/account-manager-claims-provider
Whether an account’s attributes should be mapped to OpenID Connect claims
While this is turned off, the claims provider will not resolve any claims if the account is inactive.
claims/claims-value-provider{id}/account-manager-claims-provider/account-manager
claims/claims-value-provider{id}/consent-claims-provider
claims/claims-value-provider{id}/data-source-claims-provider
claims/claims-value-provider{id}/data-source-claims-provider/data-source
claims/claims-value-provider{id}/authentication-context-claims-provider
claims/claims-value-provider{id}/authentication-subject-claims-provider
claims/claims-value-provider{id}/script-claims-provider
The id used to identify a procedure
claims/claims-value-provider{id}/script-claims-provider/account-manager
claims/claims-value-provider{id}/script-claims-provider/bucket
claims/claims-value-provider{id}/script-claims-provider/data-source
claims/claims-value-provider{id}/script-claims-provider/webservice
/profiles/profile{id, type}/settings/authorization-server/claims/claims-value-provider{id}/script-claims-provider/webservice
claims/claims-value-provider{id}/client-certificate-claims-provider
claims/claims-mappers
The mapping to what token or response the claim is used. A claim that is not mapped will not be issued.
leafref ../claims-mapper/id
../claims-mapper/id
The default claims mapper to use when adding claims to tokens if not defined otherwise in the client.
claims/claims-mappers/claims-mapper{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}
The name of the mapper
A description for the administrator
claims/claims-mappers/claims-mapper{id}/access_token
The claims that go into the default access tokens. This will be the result of the getDefaultAccessTokenData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/access_token
leafref ../../../../claim/name
../../../../claim/name
system-access-token-claim-name
(multi-value) (default: aud)
The claims that always will exist on an access token. Not editable
claims/claims-mappers/claims-mapper{id}/id_token
The claims that go into the default id tokens. This will be the result of the getDefaultIdTokenData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/id_token
system-id-token-claim-name
(multi-value) (default: iss)
The claims that always will exist on an ID token. Not editable
claims/claims-mappers/claims-mapper{id}/userinfo
The claims that go into the default user info response. This will be the result of the getDefaultResponseData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/userinfo
(multi-value) (default: sub)
claims/claims-mappers/claims-mapper{id}/custom{id} (keys ['id'])
The claims that go into custom tokens. This will be the result of the get default data functions such as getDefaultAccessTokenData(‘idOfCustomTokenMapping’) function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/custom{id}
The id of the mapping. Used as key to the getDefaultData functions
(default: access_token)
The list of claims for this mapping
openid-connect
/profiles/profile{id, type}/settings/authorization-server/openid-connect
Define the time to live of id tokens. Can be overruled by individual client configuration.
When set, any claim that is not defined by the OpenID Connect specification, but is added by a procedure, is not removed by scope filtering.
openid-connect/expose-metadata
This section specifies what metadata is exposed on the OpenID Connect discovery endpoint for this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata
An optional value that must contain the full URL to the JWKS endpoint. If this is not set, the URL is established by deriving it from the anonymous endpoint. If more than one anonymous endpoint is available, it is required to set this value.
(default: 600)
The number of seconds that the metadata can be cached as network resource, as used in HTTP response headers.
openid-connect/expose-metadata/authorize-endpoint
The authorize-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one authorize-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/authorize-endpoint
leafref ../../../../../../base:endpoints/base:endpoint/base:id
../../../../../../base:endpoints/base:endpoint/base:id
The endpoint ID
The external base URL to report for this endpoint
openid-connect/expose-metadata/token-endpoint
The token-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one token-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/token-endpoint
openid-connect/expose-metadata/userinfo-endpoint
The userinfo-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one userinfo-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/userinfo-endpoint
openid-connect/expose-metadata/revocation-endpoint
The revocation-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one revocation-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/revocation-endpoint
openid-connect/expose-metadata/introspection-endpoint
The introspection-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one introspection-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/introspection-endpoint
openid-connect/expose-metadata/assisted-token-endpoint
The assisted-token-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one assisted-token-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/assisted-token-endpoint
openid-connect/expose-metadata/dynamic-client-registration-endpoint
The dynamic client registration endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one dynamic-client-registration endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/dynamic-client-registration-endpoint
openid-connect/expose-metadata/device-authorization-endpoint
The device authorization endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one device authorization endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/device-authorization-endpoint
openid-connect/expose-metadata/session-endpoint
The session endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one session endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/session-endpoint
openid-connect/expose-metadata/signed-metadata
When present, a signed version of the metadata will be included in the response. The metadata will be included as a JWT, as issued by the default token-issuer of the current profile.
(default: 40320)
The number of minutes that the signed metadata JWT can be used before it expires, as used in the JWT’s ‘exp’ claim
openid-connect/require-pairwise-subject-identifiers
Set when clients on this profile must always be issued pairwise pseudonyms for authenticated subjects
consentors
consentors/consentor{id} (keys ['id'])
The list of available consentors for the profile
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}
The consentor name
A readable consentor description, for user presentation. Can be a locale key.
consentors/consentor{id}/signing-consentor
A signing token consentor
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}/signing-consentor
leafref /base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
/base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
The token issuer used to sign the JWT that is signed by the consentor
The JavaScript procedure to compute the text to display.
consentors/consentor{id}/signing-consentor/webservice
Enable and configure this if the procedure needs access to a web service in its context.
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}/signing-consentor/webservice
consentors/consentor{id}/signing-consentor/attribute-data-source
Enable and configure this if the procedure needs access an attribute data source in its context.
client-store
client-store/config-backed
client-store/config-backed/client{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}
The client ID corresponding to the spec
A human readable name of the client
A human readable description of the client
A logo of the client, that can shown in user interface templates.
This URL is used if a request is made to the OAuth server without the parameters necessary to initiate authentication. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction.
A settable state of the client, to be able to host disabled clients
date-and-time
An operational state, for history purpose
Describes who was the user that created the client.
The Time To Live for an access token
disablable-token-time-to-live
The Time To Live for a Refresh token. If set to ‘disabled’, no Refresh Tokens will be issued
The Time to Live for an id token. If not set, the profile-setting is used.
leafref ../../../../claims/claims-mappers/claims-mapper/id
../../../../claims/claims-mappers/claims-mapper/id
The mapper to use when adding claims to tokens. The mapper decides what claims end up in which token or response. The claims themselves are defined in the scope. If not set, the default-mapper is used
An absolute URL that refers to the privacy policy for the client
An absolute URL that refers to the terms of service of the client
Whether the port should be validated when a client is configured to redirect to the loopback interface. Defaults to true for backwards compatibility. Future versions may default to false because RFC-8252 (sec. 3) says the port should not be validated and this does not generally reduces the security of local redirects.
Describes how the client is authenticated param secret:sha-256-digest-string (optional) A password used by the client param asymmetric-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional) A public key that corresponds to the private key the client will use to sign a token with to authenticate itself
Describes how the client is authenticated
sha-256-digest-string
A password used by the client
A public key that corresponds to the private key the client will use to sign a token with to authenticate itself
client-store/config-backed/client{id}/jwks-uri
A key present in a JWKS referenced by an URI, accessed via an optional HTTP client ID
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/jwks-uri
The JWKS URI
The optional HTTP client used to retrieve the JWKS
A secret key that the client will use to sign or integrity protect a token with to authenticate itself
client-store/config-backed/client{id}/mutual-tls-by-proxy
Enable client authentication through mutual-tls by-proxy.
param client-dn: non-empty-string (optional) The DN of the client certificate that the client must identify with. When left empty, every certificate that is issued by the trusted CA is acceptable to authenticate this client. param trusted-ca: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (mandatory) The CA that must be the issuer of the client certificate that can be accepted to authenticate this client. Must be set.
The DN of the client certificate that the client must identify with. When left empty, every certificate that is issued by the trusted CA is acceptable to authenticate this client.
leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id
/base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id
The CA that must be the issuer of the client certificate that can be accepted to authenticate this client. Must be set.
param client-certificate: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (optional) The client certificate that must be used to authenticate the client.
The client certificate that must be used to authenticate the client.
client-store/config-backed/client{id}/mutual-tls
Enable client authentication through direct mutual-tls
param client-certificate: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (optional) The client certificate that must be used to authenticate the client. param no-authentication: boolean (default: false) When no-authentication is selected, the client is a public client. Can only be used for clients that requests tokens, and only makes sense if they use the token endpoint (i.e. use the code flow). param credential-manager: leafref /base:processing/base:credential-managers/base:credential-manager/base:id (optional)
When no-authentication is selected, the client is a public client. Can only be used for clients that requests tokens, and only makes sense if they use the token endpoint (i.e. use the code flow).
client-store/config-backed/client{id}/secondary-authentication-method
The instant after which the secondary verifier should not be used
client-store/config-backed/client{id}/secondary-authentication-method/jwks-uri
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/secondary-authentication-method/jwks-uri
client-store/config-backed/client{id}/secondary-authentication-method/mutual-tls-by-proxy
client-store/config-backed/client{id}/secondary-authentication-method/mutual-tls
client-store/config-backed/client{id}/request-object
Enable request-object support where the client can send in a JWT with the request parameters. If enabled, a request object JWT MUST be provided by the client.
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/request-object
The issuer of the request object’s JWT. If the issuer is not explicitly set, it must be the same value as the client_id of the client that makes the request.
A public key that corresponds to the private key that the issuer of the request object JWT used to sign the JWT
If set to true, then unsigned request objects sent by-value will be accepted.
client-store/config-backed/client{id}/request-object/by-reference
Enable the use of request object that are sent by-reference using the request_uri parameter
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/request-object/by-reference
The HTTP client that will be used when fetching the request object from a provided URI
If set to true, then unsigned request objects sent by-reference will be accepted.
Whitelist of all locations that can be included in a request_uri parameter. The value ‘*’ allows for any. A wildcard character ‘*’ is also allowed at the end of the uri value.
The whitelist of Redirect URIs allowed for the client. If code or Implicit flow is used, this will have a required minimum of 1 items
client-store/config-backed/client{id}/user-consent
When set, the user is asked to accept the delegation via a consent screen. This applies to all interactive flows (i.e. code, implicit, assisted token and device authorization flow)
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/user-consent
When enabled, the user is allowed to deselect optional scopes or claims when asked for consent.
When enabled, the built-in consent screen will not be shown and only the consentors will run.
client-store/config-backed/client{id}/user-consent/consentors
The consentors usable with this client. If empty, then all profile consentors will be usable
leafref ../../../../../../consentors/consentor/id
../../../../../../consentors/consentor/id
client-store/config-backed/client{id}/proof-key
Proof Key for Code Exchange (RFC 7636 - PKCE) is a measure for preventing authorization code interception. This is an attack on client systems that allow a malicious application to register itself as a handler for the custom scheme utilized by the legitimate app in the Authorization Code Grant flow.
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/proof-key
Enforces this client to provide a proof key challenge and -verifier when performing the Authorization Code Grant flow.
A list of proof key challenge methods the client isn’t allowed to use. Useful for when one of the methods provided by the server is deemed insecure for the intended client.
The intended audiences for the token. The first element is the default. If none are stipulated, the ID of the client will be used as the audience
leafref ../../../../scopes/scope/id
../../../../scopes/scope/id
A subset of the scopes defined in the profile that this client is allowed to request or all if a subset are not defined here
client-store/config-backed/client{id}/user-authentication
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/user-authentication
Information that will be displayed to the user when authenticating the client
Optional default setting whether user authentication is forced at all times.
Optional maximum age in seconds after which re-authentication must take place.
Optional override for default locale.
Optional uri of the client that is called upon user logout when attempting front channel logout. Requires OpenId Connect to be enabled.
Optional uri of the client that is called upon user logout when attempting back channel logout. Requires OpenId Connect to be enabled.
The HTTP client that will be used when delivering the logout token to the backchannel logout uri
leafref /base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
The list of allowed authenticators for this client
leafref /base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
/base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
The list of authenticator-filters for this client
A list of named claims that must be required by the authenticator when authenticating the user.
The optional list of URIs that is allowed for the client to use as post logout redirect uri. Requires OpenId Connect to be enabled.
The optional list of URIs or URI-patterns that is allowed to embed the rendered pages inside an iframe, be a trusted source or be used for CORS.
client-store/config-backed/client{id}/capabilities
OAuth capabilities that this client is allowed to perform
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/capabilities
Allows code flow
Allows implicit flow
Allows for the Client Credentials Grant
Allows the client to use token introspection
The assisted-token capability allows the client to use a helper endpoint to use simplified OAuth flows.
Allows the client to use exchange tokens for other tokens
Allows the client to use the device flow
Allows the client to use the hypermedia authentication API
client-store/config-backed/client{id}/capabilities/resource-owner-password-credentials
Allows ROPC grant-type
The optional credential manager to use when authenticating the user using Resource Owner Password Credentials
client-store/config-backed/client{id}/capabilities/assertion
Allows the client to use JWT assertions as grant
client-store/config-backed/client{id}/capabilities/assertion/jwt
Configure the assertion grant for JWT assertions.
Allow a client to reuse the same JWT assertion to make multiple token requests.
client-store/config-backed/client{id}/capabilities/assertion/jwt/trust
When set, a JWT that is used as assertion must have an issuer claim that matches the configured value.
param asymmetric-signing-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional) A public key that corresponds to the private key that the issuer of the assertion used to sign the JWT param symmetric-signing-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional)
A public key that corresponds to the private key that the issuer of the assertion used to sign the JWT
client-store/config-backed/client{id}/dynamic-client-registration-template
Enable client as template for Dynamic Client Registration
How the dynamically registered client based on this template can authenticate. Default is secret
param secret:empty (optional) param credential-manager: leafref /base:processing/base:credential-managers/base:credential-manager/base:id (optional) The credential manager that should be used to verify and manage templatized dynamic clients’ secrets
The credential manager that should be used to verify and manage templatized dynamic clients’ secrets
param authenticate-user-by: leafref ../../../client/id (multi-value) (optional) Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register based on this client as a template. param authenticate-client-by: leafref ../../../client/id (multi-value) (optional) Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register based on this client as a template
leafref ../../../client/id
../../../client/id
Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register based on this client as a template.
Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register based on this client as a template
client-store/config-backed/client{id}/use-pairwise-subject-identifiers
Enable this when the client must always be issuing pairwise pseudonym subject identifiers instead of public identifiers.
The sector identifier that is used to derive the pairwise pseudonym from, i.e. the pairwise pseudonym is defined for the pair of sector identifier and subject
client-store/config-backed/client{id}/signed-userinfo
Enable support for returning userinfo as signed JWT
leafref /base:profiles/base:profile[base:id=current()/../../../../../../../base:id][base:type=current()/../../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
/base:profiles/base:profile[base:id=current()/../../../../../../../base:id][base:type=current()/../../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
A token issuer with a purpose of userinfo
client-store/config-backed/client{id}/attestation
If set to true, allow the client to use HAAPI, but disable the validation of the attestation data. This is unsafe and must not be used in production.
client-store/config-backed/client{id}/attestation/web
leafref /base:facilities/base:client-attestation/cat:web-policy/cat:id
/base:facilities/base:client-attestation/cat:web-policy/cat:id
Link to the Web policy to use for this client. If not set, a default policy is used.
client-store/config-backed/client{id}/attestation/android
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/attestation/android
leafref /base:facilities/base:client-attestation/cat:android-policy/cat:id
/base:facilities/base:client-attestation/cat:android-policy/cat:id
Link to the Android policy to use for this client. If not set, a default policy is used.
Android package name this client can be used from
SHA-256 digest of the certificate used to sign approved Android packages, encoded in base64
client-store/config-backed/client{id}/attestation/ios
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/attestation/ios
The iOS App ID is the concatenation of the 10-digit team identifier, a period, and the app’s bundle identifier; e.g. ABCDE12345.com.example.app
leafref /base:facilities/base:client-attestation/cat:ios-policy/cat:id
/base:facilities/base:client-attestation/cat:ios-policy/cat:id
Link to the iOS policy to use for this client. If not set, a default policy is used.
client-store/config-backed/client{id}/properties
List of properties that can be configured on a client. These properties can be used from procedures to retrieve properties of the configured client.
client-store/config-backed/client{id}/properties/property{key} (keys ['key'])
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/properties/property{key}
dynamic-client-registration
Reference to a datasource that stores clients; this datasource is also used to store clients that are registered through Dynamic Client Registration
dynamic-client-registration/templatized
Newly registered clients must use an existing one as a sort of template to determine which capabilities, authentication methods, etc. are allowed
dynamic-client-registration/non-templatized
Allow new clients to be registered which are not based on any existing client configuration
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized
The default Time To Live (in seconds) for the Refresh Token. This value can be overridden by the client in the registration request. Setting this value to 0 means that it no refreshtoken will be issued by default.
The credential manager that should be used to verify and manage non-templatized dynamic clients’ secrets(notice that this setting is obsolete)
dynamic-client-registration/non-templatized/capabilities
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/capabilities
Enables the new client to be registered with the code flow capability
Enables the new client to be registered with the implicit flow capability
Enables the new client to be registered with the password (ROPC) flow capability
Enables the new client to be registered with the assisted token flow capability. Note that a new client must be registered with at least one framable origin for this capability to be usable.
Enabled the new client to be registered with the device flow capability
Enabled the new client to be registered with the client credentials capability
dynamic-client-registration/non-templatized/scopes
The scopes that new clients may register with
param all:empty (optional)
param scope:leafref ../../../../scopes/scope/id (multi-value) (optional)
dynamic-client-registration/non-templatized/authenticators
The authenticators that new clients may authenticate with
param authenticator: leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id (multi-value) (optional) An authenticator that new clients may use to authenticate with
leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
An authenticator that new clients may use to authenticate with
param all:empty (optional) param authenticator-filters: leafref /base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id (multi-value) (optional) A subset of the authenticator-filters that new clients may use to filter out certain authenticators during login
leafref /base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
/base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
A subset of the authenticator-filters that new clients may use to filter out certain authenticators during login
dynamic-client-registration/non-templatized/client-authentication-method
Configures how a client authenticates to token, introspect, etc. endpoints.
dynamic-client-registration/non-templatized/client-authentication-method/secret
When this is set, dynamically registered clients can be authenticated with a secret.
The credential manager that should be used to verify and manage non-templatized dynamic clients’ secrets
dynamic-client-registration/non-templatized/client-authentication-method/mutual-tls
When this is set, dynamically registered client can be authenticated with a client certificate. Depending on the profile settings, this is received through either mutual-tls or mutual-tls-by-proxy
dynamic-client-registration/non-templatized/client-authentication-method/mutual-tls/trusted-cas
param trusted-ca: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (multi-value) (optional) The CA’s that can be the issuer of the client certificate that can be accepted to authenticate this client.
The CA’s that can be the issuer of the client certificate that can be accepted to authenticate this client.
dynamic-client-registration/non-templatized/client-authentication-method/asymmetrically-signed-jwt
When this is set, dynamically registered clients can be authenticated with an asymmetrically signed JWT.
dynamic-client-registration/non-templatized/client-authentication-method/asymmetrically-signed-jwt/signature-algorithms
The allowed signature algorithms used for JWT based authentication
param signature-algorithm: enumeration (multi-value) (optional) The signature algorithms to allow
Configure the authentication method that is needed to make the call to register a new client param no-authentication: empty (optional) When set, no initial token is required for a new client to register
Configure the authentication method that is needed to make the call to register a new client
When set, no initial token is required for a new client to register
dynamic-client-registration/non-templatized/mutual-tls
When set, mutual TLS is required for registration
A list of client certificate issuers to trust with client registration.An empty list will mean all configured ssl client truststores.
dynamic-client-registration/non-templatized/mutual-tls-by-proxy
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/mutual-tls-by-proxy
leafref ../../../client-store/config-backed/client/id
../../../client-store/config-backed/client/id
Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register
Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register
dynamic-client-registration/non-templatized/sector-identifier-http-clients
A list of sectors and their associated HTTP client that will be used to validate a request for a dynamic client to be in a certain sector. When a non-templatized request is made for some sector that is not configured, the default SSL context, name verifier, trust anchors, etc. will be used.
dynamic-client-registration/non-templatized/sector-identifier-http-clients/sector-identifier-http-client{sector-identifier} (keys ['sector-identifier'])
An mapping of a sector identifier to the HTTP client that will be used to validate requests from a non-templatized dynamic client wishing to join that sector
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/sector-identifier-http-clients/sector-identifier-http-client{sector-identifier}
The sector identifier for which the HTTP client should be used
The HTTP client that will be used to resolve the JSON necessary to validate a non-templatized client’s request to be in the associated sector.
dynamic-client-registration/non-templatized/http-client-mappings
The list of HTTP client mappings. Each mapping associates an URL and an usage set to the HTTP client ID that should be used in that context
dynamic-client-registration/non-templatized/http-client-mappings/http-client-mapping{url} (keys ['url'])
The list of HTTP clients mappings. When looking up the HTTP client ID to use, this list is processed in sequence
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/http-client-mappings/http-client-mapping{url}
The allowed URL for the mapping’s HTTP client ID. Can have an wildcard at the end of the path.
The HTTP client ID to use if the mapping URL and usage match the requirements
The allowed usages for the associated HTTP client ID
dynamic-client-registration/non-templatized/user-consent
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/user-consent
dynamic-client-registration/non-templatized/user-consent/consentors
The default consentors for a dynamic registered client. If empty, then all the profile’s consentors will be used
leafref ../../../../../consentors/consentor/id
../../../../../consentors/consentor/id
A consentor that new clients may use.
dynamic-client-registration/non-templatized/signed-userinfo-token-issuers
param token-issuer: leafref /base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id (multi-value) (optional) A token issuer that can be selected to issue userinfo as signed JWT
A token issuer that can be selected to issue userinfo as signed JWT
dynamic-client-registration/non-templatized/signed-id-token-issuers
Configure how a signed id-token can be returned for dynamically registered clients. If this container is not present, the profile’s token issuer settings will be applicable.
param profile:empty (optional) Use the default JWT token issuer settings of the profile to issue id tokens
Use the default JWT token issuer settings of the profile to issue id tokens
dynamic-client-registration/non-templatized/signed-id-token-issuers/all
All token issuers with purpose ‘id_token’ can be used by dynamically registered clients
The default id-token-issuer to use when nothing is specified explicitly during client registration
dynamic-client-registration/non-templatized/signed-id-token-issuers/selected
Selection of token issuers with purpose ‘id_token’ can be used by dynamically registered clients
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/signed-id-token-issuers/selected
leafref ../token-issuer
../token-issuer
The default id-token-issuer to use when nothing is specified explicitly
A token issuer that can be selected to issue a signed id token
dynamic-client-registration/client-management
Enable, to allow dynamically registered clients to update their configuration and delete themselves.
dynamic-client-registration/client-management/registration-token
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/client-management/registration-token
(default: 365)
The TTL (in days) of the Registration Token.
(default: 28)
The period of time (in days) a Registration Token can be used for updating and reading the configuration of dynamically registered clients. After this expiration, a Registration Token can only be used for deleting a client.
When set to true, any Mutual-TLS certificate binding present on the Registration Token will be confirmed. If present, Mutual-TLS bindings on Management Tokens issued to Management Clients will always be confirmed regardless of this setting.
dynamic-client-registration/client-management/management-clients
The OAuth clients allowed to manage ALL dynamically registered clients.
leafref ../../../../client-store/config-backed/client/id
../../../../client-store/config-backed/client/id
An OAuth client allowed to manage ALL dynamically registered clients.
endpoints
Endpoints describe an instance of an endpoint kindIt ties together the endpoint-kind with a profile and a URIThe endpoint is then deployed on a service
endpoints/endpoint{id} (keys ['id'])
/profiles/profile{id, type}/endpoints/endpoint{id}
The URI endpoint that will respond to requests for this endpoint
(default: disallow)
Specify whether mutual TLS is required, allowed, or not allowed when accessing this endpoint
endpoint-types
The definition needed for this endpoint
endpoints/endpoint{id}/authorize-endpoint-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/authorize-endpoint-procedures{flow}
identityref
leafref /processing/procedures/token-procedure[flow=current()/../flow]/id
/processing/procedures/token-procedure[flow=current()/../flow]/id
endpoints/endpoint{id}/token-endpoint-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/token-endpoint-procedures{flow}
endpoints/endpoint{id}/introspect-endpoint-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/introspect-endpoint-procedures{flow}
endpoints/endpoint{id}/assisted-token-endpoint-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/assisted-token-endpoint-procedures{flow}
endpoints/endpoint{id}/userinfo-endpoint-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/userinfo-endpoint-procedures{flow}
endpoints/endpoint{id}/device-authorization-procedures{flow} (keys ['flow'])
/profiles/profile{id, type}/endpoints/endpoint{id}/device-authorization-procedures{flow}
token-issuers
Issuers of tokens for this profile
token-issuers/custom-token-issuer{id, issuer-type, purpose-type} (keys ['id', 'issuer-type', 'purpose-type'])
All custom token issuers
/profiles/profile{id, type}/token-issuers/custom-token-issuer{id, issuer-type, purpose-type}
The unique identifier of the issuer (per profile)
token-issuer-type
This indicates the type of issuer this is, it affects the settings (jwt, ref, etc)
token-purpose-type
The usage is the purpose of the token produced by this issuer
token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/data-sources
leafref /facilities/data-sources/data-source/id
/facilities/data-sources/data-source/id
The token-store itself can be different from the delegation store, if not set the DataSource defaultsto the same data-source as the delegation-data-source
token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/jwt
/profiles/profile{id, type}/token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/jwt
Indicate whether to include the ‘kid’-claim in the JWT header
jwt-algorithm
(default: RS256)
The signing algorithm to use
A reference to a signing key entry in crypto facility. Also used for signature verification if no Verification KeyStore is selected
A reference to the key used to verify a signature issued by this tokenissuer. Must be the same type as the selected Signing Keystore
token-issuers/default-token-issuer
These settings are used to define the default Token issuers. They are needed, if no custom issuer is mapped. The default Token Procedures assume that these are available
/profiles/profile{id, type}/token-issuers/default-token-issuer
Indicates whether to issue the Access Token as JWT
The default data-source used for token persistence
token-issuers/default-token-issuer/jwt-issuer-settings
/profiles/profile{id, type}/token-issuers/default-token-issuer/jwt-issuer-settings
facilities
This is a collection of helper functions available in the system
http/cache{id} (keys ['id'])
HTTP client cache
http/cache{id}/in-memory-cache
/facilities/http/cache{id}/in-memory-cache
(default: 1024)
Maximum number of cache entries
Maximum size for each cache entry, in KiB
client (keys: ['id'])
This section defines an Http client. These clients are used by subsystems when accessing web resources, such as Scim server or other services. The important settings are authentication and TLS settings, such as which trust stores to use.
/facilities/http/client{id}
leafref ../../cache/id
../../cache/id
The HTTP client cache to use for this client
uint8
Http client connect timeout. Determines the timeout in seconds until a connection is established. A timeout value of zero indicates an infinite timeout. The defualt is 60. The timeout is applicable per connection, i.e. if the client has both IPv4 and IPv6 protocols available, the client will try to start a new connection using IPv6 if the intitiated connection using IPv4 timed out and vice-versa, each of which will use the configured connect-timeout.
Http client socket timeout. Determines the timeout in seconds for the maximum period of inactivity while waiting for data or between two consecutive data packets. A timeout value of zero indicates an infinite timeout. The default is 60.
Relay information about the upstream client (e.g., IP address, HTTP protocol, etc.)
connection-pool
/facilities/http/client{id}/connection-pool
(default: 100)
Maximum total number of connections
Maximum connections per HTTP route
conf-timeout
(default: 5)
Maximum time to keep idle connections alive, in seconds
The authentication method to use
http-basic-authn
/facilities/http/client{id}/http-basic-authn
when set, uses this as username for http basic authentication to the webservice
when set, uses this as password for http basic authentication to the webservice
oauth-credentials
This enables the HTTP client to use OAuth 2.0 client credentials flow to obtain an access token for endpoint access
/facilities/http/client{id}/oauth-credentials
The client id to use when obtaining an OAuth 2.0 access token
The client secret to use when obtaining an OAuth 2.0 access token
Passes the OAuth credentials in the Authorization header instead of POST body
The complete url to the token endpoint of the OAuth server used to retrieve the access token
Scopes to request when requesting a new access token from the OAuth 2.0 client
oauth-credentials/token-endpoint-tls
/facilities/http/client{id}/oauth-credentials/token-endpoint-tls
When set, hostname verification is disabled for TLS connections
When set, uses the crypto server truststore, otherwise uses system default trust (cacerts)
tls
/facilities/http/client{id}/tls
leafref /facilities/crypto/ssl/client-keystores/client-keystore/id
/facilities/crypto/ssl/client-keystores/client-keystore/id
This keystore is used to manage the cryptographic material that can be used for client authentication using certificates. AKA client certificate
proxy
Settings for the proxy the client should forward its requests through.
/facilities/http/client{id}/proxy
The scheme that should be used when connecting to the proxy.
The hostname of the proxy.
The port of the proxy. If not set, the port will default to a value corresponding to the selected scheme; 443 for ‘https’, 80 for ‘http’
The username to use when authenticating to the proxy.
The password to use when authenticating to the proxy.
client-alarms
Toggle what alarms this HTTP client can trigger
/facilities/http/client{id}/client-alarms
Raise failed-authentication alarm when receiving a 401 status code from the remote HTTP server
Raise failed-communication alarm when receiving a 500-599 status code from the remote HTTP server
Additionally raise failed-communication alarm when receiving 400,402-499 status codes from the remote HTTP server.
data-source (keys: ['id'])
Data sources is a heterogeneous list of data sources. Each DS is defined by which choice is made in the select
/facilities/data-sources/data-source{id}
leafref /environments/environment/services/zones/zone/id
/environments/environment/services/zones/zone/id
which zones will this data-source be available in
data-source-alarms
Toggle what alarms this data source client can trigger
Raise slow-connection alarm when requests take too much time before completing
data-source-alarms/slow-connection-alarm
slow-connection alarm configuration specific to this data source
data-source-alarms/slow-connection-alarm/thresholds
Thresholds for raising slow-connection alarms
/facilities/data-sources/data-source{id}/data-source-alarms/slow-connection-alarm/thresholds
(default: 2)
Threshold for raising slow-connection alarms of warning severity, in seconds
Threshold for raising slow-connection alarms of minor severity, in seconds
Threshold for raising slow-connection alarms of major severity, in seconds
(default: 31)
Threshold for raising slow-connection alarms of critical severity, in seconds
scim2
/facilities/data-sources/data-source{id}/scim2
A flag to indicate whether or not the server supports the HTTP PATCH method. If set to false,the client will use GET to get the full object, and then do a full update with PUT. If not set, the client will query the ServiceProviderConfig endpoint of the SCIM 2.0 server. If set to true, no query will be made to the SCIM server and PATCH will be assumed to be supported.
scim2/account
Enable configuration of SCIM 2.0 Account- and Credential Data Access Provider
/facilities/data-sources/data-source{id}/scim2/account
(default: userName eq “:username” and password eq “:password” and active eq true)
The filter string to use to verify the username and password against the SCIM 2.0 server. Use “:username” and “:password” to substitute username and password
(default: emails.value eq “:email” and emails.primary eq true)
The filter string used to find a user based on the email address. Use “:email” to substitute the email
(default: phone.value eq “:phone” and phone.primary eq true)
The filter string used to find a user based on the phone number. Use “:phone” to substitute the phone number
scim2/attributes
Enable configuration for SCIM 2.0 Attribute Data Access Provider
/facilities/data-sources/data-source{id}/scim2/attributes
(default: userName eq “:username”)
The filter to use when searching attributes for a subject. The placeholder is being replaced with the authenticated subject. i.e. userName eq “:username”
A multi-valued list of strings indicating the names of resource attributes to return in the response, overriding the set of attributes that would be returned by default.
A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return. This parameter SHALL have no effect on attributes whose schema “returned” setting is “always”.
ldap
/facilities/data-sources/data-source{id}/ldap
Idle timeout in seconds for connections in the connection pool (zero value indicates infinite timeout)
Validate connections before fetching them from the connection pool
(default: -1)
How often idle connections are checked for in seconds. If set to -1, eviction will not occur. This is preferred as it will increase throughput by avoiding contention with object usage and idleness checking.
Sets the hostname or IP-address of the LDAP Directory Server
The port of the LDAP Directory Server. Defaults to 389, or when ldaps is enabled, it defaults to 636.
Indicates whether the server communicates with LDAPS
The client id used to bind to the LDAP Directory Server. When not set, an anonymous bind is performed.
The client secret used to authenticate the client id.
The default search root DN where searches are based off of, i.e. ou=People,dc=example,dc=com
(default: sub)
The search scope, relative to the default root. Default is to search the sub-tree.
Initial number of connections to hold in the connection pool
Maximum number of connections to hold in the connection pool
ldap/account
/facilities/data-sources/data-source{id}/ldap/account
The attribute that the LDAP Directory Server returns, and is to be considered the account Id for the user entry. If nothing is set, ‘uid’ will be used for directory type ‘generic’, and sAMAccountName for ‘active-directory’
The attribute that the LDAP Directory Server returns, and is to be considered the username for the user entry. If nothing is set, ‘uid’ will be used for directory type ‘generic’, and sAMAccountName for ‘active-directory’
The filter to use when searching for a user in the LDAP Directory Server by its account Id, i.e. ‘uid={}’, or for active-directory it’s usually ‘sAMAccountName={}’. If not set, will default to (<account-id-attribute>={})
The filter to use when searching for a user in the LDAP Directory Server by its username, i.e. ‘uid={}’, or for active-directory it’s usually ‘sAMAccountName={}’. If not set, will default to (<username-attribute>={})
(default: (mail={}))
The filter to use when searching for a user by its email address. The default is ‘(mail={})’
(default: (telephoneNumber={}))
The filter to use when searching for a user by its phone number. The default is ‘(telephoneNumber={})’
(default: carLicense)
The attribute to use to store the active state of the account. When Active Directory the active state attribute will always be ‘userAccountControl’ and this setting is ignored.
(default: telephoneNumber)
The attribute where the mobile phone number is set. This is only required if the number used for authentication is stored in a different attribute than ‘telephoneNumber’
(default: mail)
The attribute where the email-address is set. This is only required if the email address used for authentication is stored in a different attribute than ‘mail’.
List of user-attributes that are requested as part of user authentication.
ldap/attributes
/facilities/data-sources/data-source{id}/ldap/attributes
The filter to use when searching attributes for a subject. The placeholder is being replaced with the authenticated subject. i.e. ‘uid={}’
List of attributes that are requested when the LDAP data-source acts as an Attribute Provider.
ldap/credentials
ldap/credentials/use-attribute-replacement
Use attribute replacement strategy instead of the default modify-password extended operation for password updates
/facilities/data-sources/data-source{id}/ldap/credentials/use-attribute-replacement
(default: userPassword)
The attribute the password is stored in.
(default: crypt)
Select the transformation to use for encoding the password value of the ‘userPassword’ attribute.
ldap/tls
Configure TLS settings when the server uses a SSL/TLS encrypted connection
/facilities/data-sources/data-source{id}/ldap/tls
leafref /base:facilities/base:crypto/base:ssl/base:client-keystores/base:client-keystore/base:id
/base:facilities/base:crypto/base:ssl/base:client-keystores/base:client-keystore/base:id
scim
/facilities/data-sources/data-source{id}/scim
This enables the username password validation to use the Search for from 2.0 instead of 1.1
jdbc
/facilities/data-sources/data-source{id}/jdbc
(default: SELECT linked_accounts. FROM linked_accounts JOIN accounts ON accounts.account_id = linked_accounts.account_id WHERE accounts.username = :subject)*
A custom search query for attribute searches. It should contain a statement that marks the subject as :subject to be the replaced variable. Example: SELECT * FROM user_attributes WHERE subject = :subject. :subject will be mapped against the value given when the query is called.
The JDBC connection string.
int64
(default: 30000)
The time in milliseconds that a client waits for a connection from the pool before giving up.
(default: SELECT account_id AS accountId, username AS userName, password FROM accounts WHERE username = :subjectId AND active = 1)
Query to execute to verify or retrieve the password and account claims to verify
Whether the custom credential query verifies the password or not
The JDBC driver to use. Must be present in the $IDSVR_HOME/lib/plugins/data.accesss.jdbc directory when the plugin is loaded. The ones listed are those shipped with the server.
(default: 600000)
The maximum amount of time in milliseconds that a connection is allowed to sit idle in the pool. A value of 0 means that idle connections are never removed from the pool.
(default: 1800000)
The maximum lifetime in milliseconds of a connection in the pool. When a connection reaches this timeout it will be retired from the pool, subject to a maximum variation of +30 seconds. We strongly recommend setting this value, and it should be at least 30 seconds less than any database-level connection timeout.
(default: 20)
Maximum number of connections to keep in the connection pool, counting both idle and active.
Minimum number of connections to keep in the connection pool.
Password to use when connecting to this data source.
When this is set to true, this JDBC data source will be used by log4j2 to store audit messages
Username to use when connecting to this data source.
json
json/web-service-client
/facilities/data-sources/data-source{id}/json/web-service-client
json/attributes
json/attributes/parameter-mappings
json/attributes/parameter-mappings/parameter-mapping{parameter-name} (keys ['parameter-name'])
Specifies a parameter name and how to get the value for it.
The name of the parameter. The value of the authentication attribute with the same name will be mapped.
param static-value: string (optional) A static string to use as the value.
A static string to use as the value.
param use-value-of-attribute: string (optional) The name of the attribute to get the value from. Will be fetched from the attributes available from the authentication.
The name of the attribute to get the value from. Will be fetched from the attributes available from the authentication.
json/attributes/parameter
/facilities/data-sources/data-source{id}/json/attributes/parameter
(default: header-parameter)
(default: /users)
The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. Defaults to ‘/users’.
Name of the parameter that will be used to provide the username to the remote service at the configured url-path.
param url-path:string (default: /users/:subject) The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. The path may contain the :subject placeholder, where the username is substituted. If it doesn’t contain that placeholder, use the username-parameter parameter to configure how the username is sent over. Defaults to ‘/users/:subject’.
(default: /users/:subject)
The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. The path may contain the :subject placeholder, where the username is substituted. If it doesn’t contain that placeholder, use the username-parameter parameter to configure how the username is sent over. Defaults to ‘/users/:subject’.
json/credential-access
/facilities/data-sources/data-source{id}/json/credential-access
If set to true, the backend will verify the password. It is required the server responds with HTTP Success to indicate a successful password verification.If set to false the password will not be sent to the server and the response should contain both the username, password and the status of the account.
(default: password)
Name of the parameter that will contain the password in a query.
(default: post-as-json)
The path relative to the webservice context to make the request to. The path may contain the :subject and :password placeholders, which are substituted with username and password, respectively.
Name of the parameter that will contain the username in a query.
email-provider (keys: ['id'])
The configuration of a service that can send emails
smtp
/facilities/email-providers/email-provider{id}/smtp
The SMTP host
(default: 587)
Sending port
Should this email-subsystem use TLS
An RFC822 email address that will be used as the from name when sending emails
Optional username for smtp connection
Optional password for smtp connection
smtp/dkim
DKIM configuraiton settings
The selector to use when signing the message
smtp/dkim/signing-key
A reference to a signing key
A reference to a Signing Keystore with an asymmetric key
smtp/tls
TLS configuration settings
Secure connection mode (STARTTLS or direct TLS)
param direct-tls: empty (optional) Connection to SMTP server will be immediately established using TLS
Connection to SMTP server will be immediately established using TLS
param start-tls: empty (optional) Connection to SMTP server will be initially insecure and then transition to secure via STARTTLS (RFC 3207)
Connection to SMTP server will be initially insecure and then transition to secure via STARTTLS (RFC 3207)
smtp/tls/trusted-ca
Enable to choose a custom server trust certificate. If disable, the default server trust will be used
leafref /base:facilities/base:crypto/base:ssl/base:server-truststore/base:server-certificate/base:id
/base:facilities/base:crypto/base:ssl/base:server-truststore/base:server-certificate/base:id
A reference to a Server Truststore
sms-provider (keys: ['id'])
A message service that can send sms messages
twilio
/facilities/sms-providers/sms-provider{id}/twilio
The number that appears as sender of the SMS
The account SID to use with Twilio
The token to be used when communicating with the Twilio API
rest
rest/web-service-client
/facilities/sms-providers/sms-provider{id}/rest/web-service-client
crypto
All crypto services are described below this sectionthis is a restricted section, all nodes will not see all things here
hardware-security-module
The Hardware Security Module (HSM) that may be used in the system
/facilities/crypto/hardware-security-module
The timeout for loading HSM
The path (as applicable on a run-time node) to the shared library that implements PKCS#11
Whether or not certain attributes should be exchanged with the PKCS#11 provider to ensure that maximum compatibility is possible
The interface or port used to connect the HSM to the host computer param slot-id:int8 (default: 0) The slot ID (e.g., 1 or 0) where the HSM is connected param slot-list-index: int8 (default: 0) The index into the list of all slots exposed by the PKCS#11 provider
The interface or port used to connect the HSM to the host computer
int8
The slot ID (e.g., 1 or 0) where the HSM is connected
The index into the list of all slots exposed by the PKCS#11 provider
A list of PKCS#11 mechanisms param enabled-pkcs11-mechanisms: string (multi-value) (optional) Enable only certain PKCS#11 mechanisms despite what may be supported by the HSM param disabled-pkcs11-mechanisms: string (multi-value) (optional) Disable certain PKCS#11 mechanisms that are supported by the HSM
A list of PKCS#11 mechanisms
Enable only certain PKCS#11 mechanisms despite what may be supported by the HSM
Disable certain PKCS#11 mechanisms that are supported by the HSM
ssl
A list of available server keys to be used by ‘services’, it’s only use TLS
ssl/server-keystore{id} (keys ['id'])
A base64 encoded PKCS12 file containing the server keys
/facilities/crypto/ssl/server-keystore{id}
Only show when certs are stored in config
(default: rsa)
The type of key
Whether or not the key is stored in the HSM
param size:uint16 (default: 2048) The key size (in bits) param curve-name: non-empty-string (optional) The name of the elliptic curve
(default: 2048)
The key size (in bits)
The name of the elliptic curve
ssl/server-truststore
The server certificates that we trust
ssl/server-truststore/server-certificate{id} (keys ['id'])
/facilities/crypto/ssl/server-truststore/server-certificate{id}
The keystore containing the keys
ssl/client-truststore
The client certificates that we trust, as they are provided when setting up mutual TLS to Curity
ssl/client-truststore/client-certificate{id} (keys ['id'])
/facilities/crypto/ssl/client-truststore/client-certificate{id}
ssl/client-keystores
This keystore is used to manage the cryptographic material that can be used for client authentication using certificates.
ssl/client-keystores/client-keystore{id} (keys ['id'])
/facilities/crypto/ssl/client-keystores/client-keystore{id}
signing-keys
Keys used for signing tokens issued by this system
signing-keys/signing-key{id} (keys ['id'])
/facilities/crypto/signing-keys/signing-key{id}
signature-verification-keys
Keys used for verifying tokens issued by other systems
signature-verification-keys/signature-verification-key{id} (keys ['id'])
/facilities/crypto/signature-verification-keys/signature-verification-key{id}
signer-truststores
Trust roots used for signature verification for a specific purpose (e.g. verify signature of SAML token by an upstream authentication provider.
signer-truststores/issuer-certificate{id} (keys ['id'])
/facilities/crypto/signer-truststores/issuer-certificate{id}
encryption-keys
Keys used for encryption
encryption-keys/encryption-key{id} (keys ['id'])
/facilities/crypto/encryption-keys/encryption-key{id}
decryption-keys
Keys used for decryption
decryption-keys/decryption-key{id} (keys ['id'])
/facilities/crypto/decryption-keys/decryption-key{id}
credentials
A list of available credentials to be used by ‘services’
credentials/credential{id} (keys ['id'])
/facilities/crypto/credentials/credential{id}
The ID of this credential
The ID (i.e., username, user ID, key ID, etc.) of the key
The key value (i.e., password, secret, API key, etc.)
caching-services
int16
(default: 1800)
The period of time that a user’s authentication transaction session will roll for
caching-services/default-caching-service
client-attestation
client-attestation/android-policy{id} (keys ['id'])
Client Attestation Policy for Android Clients
/facilities/client-attestation/android-policy{id}
Verify Android device boot state. This setting should only be used for automated testing purposes. This setting should not be set to ‘false’ in production environments.
(default: trusted-env)
The minimum security level allowed for an Android application to authenticate an user
client-attestation/android-policy{id}/override-certificate-chain-validation
param do-not-validate-certificate-chain: empty (optional) Do not perform Android certificate chain validation. This is unsafe and should not be used in production environments.
Do not perform Android certificate chain validation. This is unsafe and should not be used in production environments.
client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors
client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id} (keys ['id'])
The Android trust-store certificates
/facilities/client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id}
client-attestation/web-policy{id} (keys ['id'])
Client Attestation Policy for Web Browser Clients
/facilities/client-attestation/web-policy{id}
Allow a browser client to obtain attestation from any origin. This setting should not be set to ‘true’ in production environments.
Allow a browser client that has access to WebDriver to obtain attestation. This setting should only be used for automated testing purposes. This setting should not be set to ‘true’ in production environments.
Allow a browser client that has access to IOS interop to obtain attestation. This setting should not be set to ‘true’ in production environments.
Allow a browser client that has access to Android interop to obtain attestation. This setting should not be set to ‘true’ in production environments.
Allow a browser client that has access to Java interop to obtain attestation. This setting should not be set to ‘true’ in production environments.
client-attestation/ios-policy{id} (keys ['id'])
Client Attestation Policy for iOS Clients
/facilities/client-attestation/ios-policy{id}
Whether the iOS app is built for production or development
client-attestation/ios-policy{id}/override-certificate-chain-validation
param do-not-validate-certificate-chain: empty (optional) Do not perform iOS certificate chain validation. This is unsafe and should not be used in production environments.
Do not perform iOS certificate chain validation. This is unsafe and should not be used in production environments.
client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors
client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id} (keys ['id'])
The iOS trust-store certificates
/facilities/client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id}
processing
Processing functions that provide extension points for issuance and validation
The license key
procedures/token-procedure{id, flow} (keys ['id', 'flow'])
Token procedures that issue tokens
/processing/procedures/token-procedure{id, flow}
A JavaScript procedure that can be used to issue tokens. It should be base-64 encoded to avoid encoding issues
procedures/global-script{id} (keys ['id'])
Scripts that provide functions that will be available in all procedures
/processing/procedures/global-script{id}
JavaScript code containing global functions. It should be base-64 encoded to avoid encoding issues
procedures/validation-procedure{id} (keys ['id'])
Procedures used to validate input data
/processing/procedures/validation-procedure{id}
A JavaScript procedure that can be used to validate data. It should be base-64 encoded to avoid encoding issues
(default: request)
procedures/transformation-procedure{id} (keys ['id'])
Procedures used to transform a map of data into another map of data.A specialized version if this is name transformation, where the input data contains a subjectand the output contains a transformed version of that subject.
/processing/procedures/transformation-procedure{id}
A JavaScript procedure that can be used to transform attributes. It should be base-64 encoded to avoid encoding issues
procedures/filter-procedure{id} (keys ['id'])
Procedures used for filtering. The procedure’s result function should return a boolean where true means keep. A common use of filter procedures is to filter authenticators for OAuth clients or Service Providers.
/processing/procedures/filter-procedure{id}
A JavaScript procedure that can be used to filter items. It should be base-64 encoded to avoid encoding issues
(default: authenticator)
The type of the items filtered by this filter.
procedures/event-listener-procedure{id} (keys ['id'])
The Event procedures are used with event listeners to execute code on certain events such as authentication complete or system started
/processing/procedures/event-listener-procedure{id}
A JavaScript procedure that can handle events. It should be base-64 encoded to avoid encoding issues
procedures/claims-provider-procedure{id} (keys ['id'])
Procedure used to provide values for claims
/processing/procedures/claims-provider-procedure{id}
A javascript procedure that can be used to set values for claims
authorization-manager (keys: ['id'])
Authorization managers can be used to make enquiries about access control decisions.
This is the unique id of the authorization manager
axiomatics
The license key for the Axiomatics embedded PDP as a base64-encoded string
axiomatics/main-policy
The main policy for the PDP
/processing/authorization-managers/authorization-manager{id}/axiomatics/main-policy
A helpful description that states what the policy does
The authorization policy as a base64-encoded string
The key used to verify a signature of a policy
axiomatics/referencable-policies{id} (keys ['id'])
Policies that are used by the main policy but are not explicitly declared in it
/processing/authorization-managers/authorization-manager{id}/axiomatics/referencable-policies{id}
A unique identifier for the referencable policy instance
scopes/policies
scopes/policies/policy{action} (keys ['action'])
The ordered list of applicable rules of the policy; processing will stop once the list is completely traversed or an allow decision is reached
/processing/authorization-managers/authorization-manager{id}/scopes/policies/policy{action}
The action that is being performed which requires authorization
(default: overriding-with-deny)
How rules should be combined when multiple ones are defined and evaluated
scopes/policies/policy{action}/rules{id} (keys ['id'])
A condition that stipulates whether all scopes or any must be provided in order to arrive at an authorization decision
/processing/authorization-managers/authorization-manager{id}/scopes/policies/policy{action}/rules{id}
(default: not-applicable)
The resulting authorization decision to use when any of the scopes in this condition are included in the authorization request
(default: any-of)
Whether the rule should apply when all or any scopes match the ones for this rule
The set of scopes that are considered for this rule
event-listener (keys: ['id'])
An event listener is a component that will handle certain kinds of events that occur in the system. These can include login, account creation, activation, and more.
audit-to-data-source
Stores each auditable event in the designated data source
The data source to store the audit event in
script-event-listener
Executes the procedure when the events are triggered
leafref /base:processing/base:procedures/base:event-listener-procedure/base:id
/base:processing/base:procedures/base:event-listener-procedure/base:id
The procedure to run on events
script-event-listener/webservice
Enable and configure this if the procedure needs access to a web service in it’s context.
/processing/event-listeners/event-listener{id}/script-event-listener/webservice
script-event-listener/sms-sender
Enable and configure this if the procedure needs access to an sms-sender in it’s context
A reference to the SMS-Provider
script-event-listener/email-sender
Enable and configure this if the procedure needs access to an email-sender in it’s context
script-event-listener/account-manager
Enable and configure this if the procedure needs access to an account-manager in it’s context
script-event-listener/bucket
Enable and configure this to let the procedure use buckets for storing and reading arbitrary data
account-managers/account-manager{id} (keys ['id'])
Account managers manage all communication with the Data layers on behalf of the account. Creating and updating the account.
/processing/account-managers/account-manager{id}
The given ID of an account manager instance
When this is set to true, the username attribute of the account will be considered the primary email. This will make the search based on email use the same method as search by username.Cannot be used with the account source being Active Directory, since that requires a username that is not an email.
A data source for the account-manager, used to provide account info to authentication methods,i.e. a phone number or email. If this is not configured, only the credential is possible.
The ID of the devices data-source. If not set and a account data source has been configured, then that data source will be used to fetch devices.
account-managers/account-manager{id}/enable-registration
/processing/account-managers/account-manager{id}/enable-registration
If the account should be verified, this is the verification method to be used
(default: 1140)
The maximum period of time that an activation will be valid for. Defaults to 19 minutes, which is inspired by regarding the activation code as a nonce, which lifetime should not be longer than necessary.
When this is set to true, the user will not be able to set the password during registration but instead it will be requested to set the password after clicking the activation page. When set to true the variable $_showPasswordFields will be set to false in the registration templates. The same variable will also be available in the activation templates but with the opposite value.
Optional email-provider to use when using email as part of the registration procedure. This overrides the default email provider that is configured for the zone.
credential-manager (keys: ['id'])
Credential managers communicate with backend systems to validate and manage credentials
/processing/credential-managers/credential-manager{id}
This is the unique id of the credential manager
The number of milliseconds that a failed attempt to verify a credential is guaranteed to take. This provides an option to prevent brute force credential guessing attempts, or it could provide a way to hide how long it really took to verify a credential, mitigating side channel timing leaks.
Choose one and only one of the algorithms to use with the credential-manager
plaintext
BCrypt
Specifies the key expansion iteration count as a power of two. For example, cost 10, indicates 2^10 key expansion rounds. Keep in mind that increasing the cost will greatly increase the complexity and the processing time when creating or validating passwords.
phpass
MD5-based salted and variable iteration count password hashes
Specifies the number of iterations the PHPass algorithm does for password hashing. Keep in mind that increasing the cost will greatly increase the complexity and the processing time when creating or validating passwords.
Sha2WithSha256
/processing/credential-managers/credential-manager{id}/Sha2WithSha256
(default: 20000)
The number of times the Sha256 encryption will be applied
A predefined salt. If left empty the salt will be generated for each password (recommended)
Sha2WithSha512
/processing/credential-managers/credential-manager{id}/Sha2WithSha512
The number of times the Sha512 encryption will be applied
data-source-backed
The data source used to store the credential that the manager will verify and update.
config-backed
Users are created here by the admin, this primarily for debug/test purpose
config-backed/users{username} (keys ['username'])
/processing/credential-managers/credential-manager{id}/config-backed/users{username}
alarms
The top container for this module.
alarms/control
Configuration to control the alarm behavior.
/alarms/control
(default: 32)
The ‘status-change’ entries are kept in a circular list per alarm. When this number is exceeded, the oldest status change entry is automatically removed. If the value is ‘infinite’, the status-change entries are accumulated infinitely.
(default: all-state-changes)
This leaf controls the notifications sent for alarm status updates. There are three options: 1. Notifications are sent for all updates, severity-level changes, and alarm-text changes. 2. Notifications are only sent for alarm raise and clear. 3. Notifications are sent for status changes equal to or above the specified severity level. Clear notifications shall always be sent. Notifications shall also be sent for state changes that make an alarm less severe than the specified level. For example, in option 3, assume that the severity level is set to major and that the alarm has the following state changes: [(Time, severity, clear)]: [(T1, major, -), (T2, minor, -), (T3, warning, -), (T4, minor, -), (T5, major, -), (T6, critical, -), (T7, major. -), (T8, major, clear)] In that case, notifications will be sent at times T1, T2, T5, T6, T7, and T8.
severity
Only send notifications for alarm-state changes crossing the specified level. Always send clear notifications.
alarms/control/alarm-shelving
The ‘alarm-shelving/shelf’ list is used to shelve (block/filter) alarms. The conditions in the shelf criteria are logically ANDed. The first matching shelf is used, and an alarm is shelved only for this first match. Matching alarms MUST appear in the /alarms/shelved-alarms/shelved-alarm list, and non-matching /alarms MUST appear in the /alarms/alarm-list/alarm list. The server does not send any notifications for shelved alarms. The server MUST maintain states (e.g., severity changes) for the shelved alarms. Alarms that match the criteria shall have an operator state ‘shelved’. When the shelf configuration removes an alarm from the shelf, the server shall add the operator state ‘un-shelved’.
alarms/control/alarm-shelving/shelf{name} (keys ['name'])
Each entry defines the criteria for shelving alarms. Criteria are ANDed. If no criteria are specified, all alarms will be shelved.
/alarms/control/alarm-shelving/shelf{name}
An arbitrary name for the alarm shelf.
An optional textual description of the shelf. This description should include the reason for shelving these alarms.
resource-match
Shelve alarms for matching resources.
alarms/control/alarm-shelving/shelf{name}/alarm-type{alarm-type-id, alarm-type-qualifier-match} (keys ['alarm-type-id', 'alarm-type-qualifier-match'])
Any alarm matching the combined criteria of ‘alarm-type-id’ and ‘alarm-type-qualifier-match’ MUST be matched.
/alarms/control/alarm-shelving/shelf{name}/alarm-type{alarm-type-id, alarm-type-qualifier-match}
alarm-type-id
Shelve all alarms that have an ‘alarm-type-id’ that is equal to or derived from the given ‘alarm-type-id’.
An XML Schema regular expression that is used to match an alarm type qualifier. Shelve all alarms that match this regular expression for the alarm type qualifier.
alarms/alarm-inventory
The ‘alarm-inventory/alarm-type’ list contains all possible alarm types for the system. If the system knows for which resources a specific alarm type can appear, it is also identified in the inventory. The list also tells if each alarm type has a corresponding clear state. The inventory shall only contain concrete alarm types. The alarm inventory MUST be updated by the system when new alarms can appear. This can be the case when installing new software modules or inserting new card types. A notification ‘alarm-inventory-changed’ is sent when the inventory is changed.
alarms/alarm-inventory/alarm-type{alarm-type-id, alarm-type-qualifier} (keys ['alarm-type-id', 'alarm-type-qualifier'])
An entry in this list defines a possible alarm.
/alarms/alarm-inventory/alarm-type{alarm-type-id, alarm-type-qualifier}
The statically defined alarm type identifier for this possible alarm.
alarm-type-qualifier
The optionally dynamically defined alarm type identifier for this possible alarm.
This leaf tells the operator if the alarm will be cleared when the correct corrective action has been taken. Implementations SHOULD strive for detecting the cleared state for all alarm types. If this leaf is ‘true’, the operator can monitor the alarm until it becomes cleared after the corrective action has been taken. If this leaf is ‘false’, the operator needs to validate that the alarm is no longer active using other mechanisms. Alarms can lack a corresponding clear due to missing instrumentation or no logical corresponding clear state.
A description of the possible alarm. It SHOULD include information on possible underlying root causes and corrective actions.
Optionally, specifies for which resources the alarm type is valid.
This leaf-list indicates the possible severity levels of this alarm type. Note well that ‘clear’ is not part of the severity type. In general, the severity level should be defined by the instrumentation based on the dynamic state, rather than being defined statically by the alarm type, in order to provide a relevant severity level based on dynamic state and context. However, most alarm types have a defined set of possible severity levels, and this should be provided here.
alarms/summary
This container gives a summary of the number of alarms.
This is a hint to the operator that there are active alarm shelves. This leaf MUST exist if the /alarms/shelved-alarms/number-of-shelved-alarms is > 0.
alarms/summary/alarm-summary{severity} (keys ['severity'])
A global summary of all alarms in the system. The summary does not include shelved alarms.
/alarms/summary/alarm-summary{severity}
Alarm summary for this severity level.
gauge32
Total number of alarms of this severity level.
Total number of alarms of this severity level that are not cleared.
For this severity level, the number of alarms that are cleared.
For this severity level, the number of alarms that are cleared but not closed.
For this severity level, the number of alarms that are cleared and closed.
For this severity level, the number of alarms that are not cleared but closed.
For this severity level, the number of alarms that are not cleared and not closed.
alarms/alarm-list
The alarms in the system.
/alarms/alarm-list
This object shows the total number of alarms in the system, i.e., the total number of entries in the alarm list.
A timestamp when the alarm list was last changed. The value can be used by a manager to initiate an alarm resynchronization procedure.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier} (keys ['resource', 'alarm-type-id', 'alarm-type-qualifier'])
The list of alarms. Each entry in the list holds one alarm for a given alarm type and resource. An alarm can be updated from the underlying resource or by the user. The following leafs are maintained by the resource: ‘is-cleared’, ‘last-change’, ‘perceived-severity’, and ‘alarm-text’. An operator can change ‘operator-state’ and ‘operator-text’. Entries appear in the alarm list the first time an alarm becomes active for a given alarm type and resource. Entries do not get deleted when the alarm is cleared. Clear status is represented as a boolean flag. Alarm entries are removed, i.e., purged, from the list by an explicit purge action. For example, purge all alarms that are cleared and in closed operator state that are older than 24 hours. Purged alarms are removed from the alarm list. If the alarm resource state changes after a purge, the alarm will reappear in the alarm list. Systems may also remove alarms based on locally configured policies; this is out of scope for this module.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}
The timestamp when this alarm entry was created. This represents the first time the alarm appeared; it can also represent that the alarm reappeared after a purge. Further state changes of the same alarm do not change this leaf; these changes will update the ‘last-changed’ leaf.
True if this alarm was triggered by a self test operation. Self test alarms do not indicate any issues in the system.
resource
The alarming resource. See also ‘alt-resource’. This could be, for example, a reference to the alarming interface
This leaf and the leaf ‘alarm-type-qualifier’ together provide a unique identification of the alarm type.
This leaf is used when the ‘alarm-type-id’ leaf cannot uniquely identify the alarm type. Normally, this is not the case, and this leaf is the empty string.
Indicates the current clearance state of the alarm. An alarm might toggle from active alarm to cleared alarm and back to active again.
An alarm may change severity level and toggle between active and cleared during its lifetime. This leaf indicates the last time it was raised (‘is-cleared’ = ‘false’).
A timestamp when the ‘status-change’ or ‘operator-state-change’ list was last changed.
The last severity of the alarm. If an alarm was raised with severity ‘warning’ but later changed to ‘major’, this leaf will show ‘major’.
alarm-text
The last reported alarm text. This text should contain information for an operator to be able to understand the problem and how to resolve it.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time} (keys ['time'])
This list is used by operators to indicate the state of human intervention on an alarm. For example, if an operator has seen an alarm, the operator can add a new item to this list indicating that the alarm is acknowledged.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time}
Timestamp for operator action on the alarm.
The name of the operator that has acted on this alarm.
operator-state
The operator’s view of the alarm state.
Additional optional textual information provided by the operator.
Used if the alarming resource is available over other interfaces. This field can contain SNMP OIDs, CIM paths, or 3GPP distinguished names, for example.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier} (keys ['resource alarm-type-id alarm-type-qualifier'])
References to related alarms. Note that the related alarm might have been purged from the alarm list.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier}
leafref /alarms/alarm-list/alarm/resource
/alarms/alarm-list/alarm/resource
The alarming resource for the related alarm.
leafref /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
/alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
The alarm type identifier for the related alarm.
leafref /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
/alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
The alarm qualifier for the related alarm.
Resources that might be affected by this alarm. If the system creates an alarm on a resource and also has a mapping to other resources that might be impacted, these resources can be listed in this leaf-list. In this way, the system can create one alarm instead of several. For example, if an interface has an alarm, the ‘impacted-resource’ can reference the aggregated port channels.
Resources that are candidates for causing the alarm. If the system has a mechanism to understand the candidate root causes of an alarm, this leaf-list can be used to list the root-cause candidate resources. In this way, the system can create one alarm instead of several. An example might be a logging system (alarm resource) that fails; the alarm can reference the file system in the ‘root-cause-resource’ leaf-list. Note that the intended use is not to also send an alarm with the ‘root-cause-resource’ as an alarming resource. The ‘root-cause-resource’ leaf-list is a hint and should not also generate an alarm for the same problem.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time} (keys ['time'])
A list of status-change events for this alarm. The entry with latest timestamp in this list MUST correspond to the leafs ‘is-cleared’, ‘perceived-severity’, and ‘alarm-text’ for the alarm. This list is ordered according to the timestamps of alarm state changes. The first item corresponds to the latest state change. The following state changes create an entry in this list: - changed severity (warning, minor, major, critical) - clearance status; this also updates the ‘is-cleared’ leaf - alarm-text update
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time}
The time the status of the alarm changed. The value represents the time the real alarm-state change appeared in the resource and not when it was added to the alarm list. The /alarm-list/alarm/last-changed MUST be set to the same value.
severity-with-clear
The severity of the alarm as defined by X.733. Note that this may not be the original severity since the alarm may have changed severity.
A user-friendly text describing the alarm-state change.
alarms/shelved-alarms
The shelved alarms. Alarms appear here if they match the criteria in /alarms/control/alarm-shelving. This list does not generate any notifications. The list represents alarms that are considered not relevant by the operator. Alarms in this list have an ‘operator-state’ of ‘shelved’. This cannot be changed.
/alarms/shelved-alarms
This object shows the total number of current alarms, i.e., the total number of entries in the alarm list.
A timestamp when the shelved-alarm list was last changed. The value can be used by a manager to initiate an alarm resynchronization procedure.
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier} (keys ['resource', 'alarm-type-id', 'alarm-type-qualifier'])
The list of shelved alarms. Shelved alarms can only be updated from the underlying resource; no operator actions are supported.
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}
leafref /alarms/control/alarm-shelving/shelf/name
/alarms/control/alarm-shelving/shelf/name
The name of the shelf.
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time} (keys ['time'])
This list is used by operators to indicate the state of human intervention on an alarm. For shelved alarms, the system has set the list item in the list to ‘shelved’.
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time}
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier} (keys ['resource alarm-type-id alarm-type-qualifier'])
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier}
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time} (keys ['time'])
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time}
alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource} (keys ['alarm-type-id', 'alarm-type-qualifier-match', 'resource'])
This list is used to assign further information or configuration for each alarm type. This module supports a mechanism where the client can override the system-default alarm severity levels. The ‘alarm-profile’ is also a useful augmentation point for specific additions to alarm types.
/alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource}
The alarm type identifier to match.
An XML Schema regular expression that is used to match the alarm type qualifier.
Specifies which resources to match.
A description of the alarm profile.
alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource}/alarm-severity-assignment-profile
The client can override the system-default severity level.
Specifies the configured severity level(s) for the matching alarm. If the alarm has several severity levels, the leaf-list shall be given in rising severity order. The original M3100/M3160 ASAP function only allows for a one-to-one mapping between alarm type and severity, but since YANG module supports stateful alarms, the mapping must allow for several severity levels. Assume a high-utilization alarm type with two thresholds with the system-default severity levels of threshold1 = warning and threshold2 = minor. Setting this leaf-list to (minor, major) will assign the severity levels as threshold1 = minor and threshold2 = major