Access Simplified Workflow

Overview

The Access Simplified Workflow API can create and run objects, policies and virtual servers for a Access Simplified Workflow use-case with SAML SP as the type. Use the Access Simplified Workflow Container API to retrieve details for all the workflow containers and lists of objects associated with workflows..

REST Endpoint: /mgmt/cm/access/workflow/access-workflow

Requests

POST /mgmt/cm/access/workflow/access-workflow

You can send a POST request to the workflow/access-workflow endpoint to create and run an access simplified workflow with SAML SP as type.

Request Parameters

Name Type Required Description
samlSPRequest object True Request object for Access Simplified Workflow with SAML SP as Type
     name string True Name of workflow. For example: “test_samlsp_1”
     type string True Type of workflow. For example: “samlSP”
     accessDeviceGroup string True Access Device Group Name. For example: “default-access-group”
     samlSPService object True The samlSPService object is described in the Schemas section.
     accessProfile object False The accessProfile object is described in the Schemas section.
     virtualServers array False An array of virtual servers and properties
          items object False The virtualServer object is described in the Schemas section.
     singleSignOn object False The single signSignOn object is described in the Schemas section.
     endpointCheck object False The endpointCheck object is described in the Schemas section.

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
samlSPResponse object Response object for Access Simplified Workflow with SAML SP as Type
     name string Name of workflow. For example: “test_samlsp_1”
     type string Type of workflow. For example: “samlSP”
     accessDeviceGroup string Access Device Group Name. For example: “default-access-group”
     samlSPService object The samlSPService object is described in the Schemas section.
     accessProfile object The accessProfileSettings object is described in the Schemas section.
     virtualServers array An array of virtual servers and properties
          items object The virtualServer object is described in the Schemas section.
     singleSignOn object The singleSignOn object is described in the Schemas section.

Permissions

Role Allow
Admin Yes

Examples

POST to create and run an Access Simplified Workflow

The following example sends a POST request to create and run an access simplified workflow.

POST https://<BIG-IQ>/mgmt/cm/access/workflow/access-workflow

The JSON in the body of the POST can look similar to the following example.

{
    "name": "test_samlsp_1",
    "type": "samlSP",
    "accessDeviceGroup": "default-access-group",
    "samlSPService": {
            "entityId": "https://www.f5.com",
            "spScheme": "https",
            "spHost": "www.google.com",
            "relayState": "/test/test1",
            "assertionConsumerBinding": "http-post",
            "isAuthnRequestSigned": "false",
            "spSignkey": "/Common/default.key",
            "spCertificate": "/Common/default.crt",
            "wantAssertionSigned": "true",
            "wantAssertionEncrypted": "false",
            "spDecryptionKey": "/Common/default.key",
            "spDecryptionCert": "/Common/default.crt",
            "authContextComparisonMethod": "exact",
            "authContextClassList": {
                    "classes": [{
                            "value": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport",
                            "name": "authClass1",
                            "link": "https://localhost/mgmt/cm/access/working-config/apm/saml/auth-context-class-list/9376bd72-069f-35c3-b3e9-47cc9e16f8f4"
                    }],
                    "name": "authContextClass1",
                    "description": "External IdP Connector 1"
            },
            "authContextMethods": [
                    "urn:oasis:names:tc:SAML:2.0:ac:classe:PasswordProtectedTransport"
            ],
            "attributeConsumingServices": [{
                    "service": {
                            "serviceName": "attrConsService1",
                            "serviceDescription": "Attribute consuming service 1",
                            "attributesReference": [{
                                    "attributeName": "attrConsServiceAttr1",
                                    "friendlyName": "Attribute consuming service 1",
                                    "isRequired": false,
                                    "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified",
                                    "name": "attrConsServiceAttr1"
                            }],
                            "isDefault": true,
                            "name": "attrConsService1",
                            "link": "https://localhost/mgmt/cm/access/working-config/apm/saml/attribute-consuming-service/d2c2dfb4-b19b-3d6f-b9bf-bff752d60fb2"
                    }
            }],
            "forceAuthn": "false",
            "nameIdPolicyAllowCreate": "true",
            "nameIdPolicyFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:federated",
            "nameIdPolicySpNameQualifier": "SAMLService1",
            "providerName": "SAML Service 1",
            "idpConnectors": [{
                    "idpMatchingSource": "%{session.logon.last.domain}",
                    "idpMatchingValue": "test_saml_idp_1",
                    "connector": {
                            "entityId": "https://www.f5.com",
                            "nameQualifier": "https://www.f5.com",
                            "ssoBinding": "http-post",
                            "ssoUri": "https://www.f5.com/saml/idp/profile/redirectpost/sso",
                            "artifactResolutionServiceUrl": "https://www.f5.com",
                            "artifactResolutionServiceAddr": "10.1.2.3",
                            "artifactResolutionServicePort": "80",
                            "signArtifactResolutionRq": "false",
                            "serversslProfileName": "/Common/serverssl",
                            "basicAuthUsername": "testUser",
                            "basicAuthPassword": "testPassword",
                            "identityLocation": "subject",
                            "identityLocationAttribute": "name",
                            "wantAuthnRequestSigned": "false",
                            "signatureType": "rsa-sha1",
                            "idpCertificate": "/Common/default.crt",
                            "wantDetachedSignature": "false",
                            "singleLogoutUri": "https://www.f5.com/saml/idp/profile/logout/sso",
                            "singleLogoutResponseUri": "https://www.f5.com/saml/idp/login",
                            "singleLogoutBinding": "http-post",
                            "locationSpecific": "false",
                            "name": "idpConnector1",
                            "description": "External IdP Connector 1",
                            "link": "https://localhost/mgmt/cm/access/working-config/apm/aaa/saml-idp-connector/a68175ee-0b5f-3fea-9902-372b638e5781"
                    }
            }],
            "locationSpecific": "false",
            "name": "samlService1",
            "description": "Local SP service 1"
    },
    "accessProfile": {
            "accessPolicyTimeout": 300,
            "inactivityTimeout": 900,
            "maxSessionTimeout": 604800,
            "minFailureDelay": 2,
            "maxFailureDelay": 5,
            "maxConcurrentSessions": 0,
            "maxConcurrentUsers": 0,
            "maxInprogressSessions": 128,
            "restrictToSingleClientIp": "false",
            "useHttp_503OnError": "false",
            "acceptLanguages": [
                    "en"
            ],
            "defaultLanguage": "en"
    },
    "virtualServers": [{
            "targetDevice": "bigip-1.lab.fp.f5net.com",
            "destinationIpAddress": "1.1.1.1",
            "port": 443,
            "mask": "255.255.255.255",
            "clientsideSsl": "/Common/clientssl",
            "serversideSsl": "/Common/serverssl",
            "poolServer": {
                    "loadBalancingMode": "round-robin",
                    "members": [{
                            "port": 443,
                            "priorityGroup": 0,
                            "ipAddress": "1.1.1.1"
                    }],
                    "monitors": {
                            "diameter": [
                                    "/Common/diameter"
                            ],
                            "dns": [
                                    "/Common/dns"
                            ],
                            "external": [
                                    "/Common/external"
                            ],
                            "firepass": [
                                    "/Common/firepass"
                            ],
                            "ftp": [
                                    "/Common/ftp"
                            ],
                            "gatewayIcmp": [
                                    "/Common/gateway_icmp"
                            ],
                            "http": [
                                    "/Common/http"
                            ],
                            "https": [
                                    "/Common/https"
                            ],
                            "icmp": [
                                    "/Common/icmp"
                            ],
                            "moduleScore": [
                                    "/Common/module_scope"
                            ],
                            "mqtt": [
                                    "/Common/mqtt"
                            ],
                            "mssql": [
                                    "/Common/msssql"
                            ],
                            "mysql": [
                                    "/Common/mysql"
                            ],
                            "nntp": [
                                    "/Common/nntp"
                            ],
                            "none": [
                                    "/Common/test"
                            ],
                            "oracle": [
                                    "/Common/oracle"
                            ],
                            "pop3": [
                                    "/Common/pop3"
                            ],
                            "postgresql": [
                                    "/Common/postgresql"
                            ],
                            "radius": [
                                    "/Common/radius"
                            ],
                            "radiusAccount": [
                                    "/Common/radius_accounting"
                            ],
                            "realServer": [
                                    "/Common/real_server"
                            ],
                            "sasp": [
                                    "/Common/sasp"
                            ],
                            "scripted": [
                                    "/Common/scripted"
                            ],
                            "sip": [
                                    "/Common/sip"
                            ],
                            "smb": [
                                    "/Common/smb"
                            ],
                            "snmpDca": [
                                    "/Common/snmp_dca"
                            ],
                            "snmpDcaBase": [
                                    "/Common/snmp_dca_base"
                            ],
                            "soap": [
                                    "/Common/soap"
                            ],
                            "tcp": [
                                    "/Common/tcp"
                            ],
                            "tcpEcho": [
                                    "/Common/tcp_echo"
                            ],
                            "tcpHalfOpen": [
                                    "/Common/tcp_half_open"
                            ],
                            "udp": [
                                    "/Common/udp"
                            ],
                            "virtualLocation": [
                                    "/Common/virtual_location"
                            ],
                            "wap": [
                                    "/Common/wap"
                            ],
                            "wmi": [
                                    "/Common/wmi"
                            ]
                    }
            }
    }],
    "singleSignOn": {
            "enabled": "false",
            "type": "httpHeaders",
            "kerberos": {
                    "accountName": "kerberos1",
                    "accountPassword": "password1",
                    "headers": [{
                            "hname": "header1",
                            "hvalue": "value1",
                            "name": "header1"
                    }],
                    "kdc": "10.1.2.3",
                    "realm": "kerberos.example.com",
                    "sendAuthorization": "always",
                    "spnPattern": "",
                    "ticketLifetime": 600,
                    "upnSupport": "false",
                    "usernameSource": "session.sso.token.last.username",
                    "userRealmSource": "session.logon.last.domain",
                    "name": "kerberos1",
                    "description": "Kerberos SSO 1",
                    "link": "https://10.192.229.84/mgmt/cm/access/working-config/apm/sso/kerberos/f004791e-8945-3151-b9e5-fc2b5ff8e7cd"
            },
            "httpHeaders": [{
                    "headerOperation": "header-replace",
                    "headerName": "Authorization",
                    "headerValue": "%{session.saml.last.identity}",
                    "name": "header1"
            }]
    },
    "endpointCheck": {
            "clientOS": {
                    "windows": {
                            "windows7": "false",
                            "windows10": "false",
                            "windows8_1": "false",
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "windowsRT": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "linux": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "macOS": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "iOS": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "android": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "windowsPhone": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    },
                    "chromeOS": {
                            "antivirus": {
                                    "dbAge": 0,
                                    "lastScan": 0,
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "firewall": {
                                    "productId": 0,
                                    "vendorId": 0
                            },
                            "machineCertAuth": {
                                    "storeName": "MY",
                                    "caProfileName": "/Common/certificateauthority",
                                    "storeLocation": "machine",
                                    "saveCert": "false",
                                    "subjectMatchFqdn": "false",
                                    "allowElevation": "true",
                                    "subjectAltName": "www.example.com",
                                    "issuer": "DN=Example",
                                    "serialNumber": "00C6C0348A16F8ABA90000000050F67B66"
                            }
                    }
            }
    }
}

Response

HTTP/1.1 200 OK

The JSON in the body of the response to the POST can look similar to the body of the request.

Schemas

The JSON schemas for configuration objects used by this API follow. The configuration settings can be included in the properties field of these objects.

samlSPService

Configuration of the local SP service

Name Type Required Description
entityId string True FQDN of the SP virtual server. For example: ‘https://www.f5.com
spScheme string False SP host scheme. The default value is “http”. Possible values: “http”, “https” and “any”.
spHost string False Host
relayState object False Relay State. The path to the resource behind BIG-IQ. Once the IdP finishes authenticating, it sends the Relay State to the SP, which then redirects the user to the source path. For example: “/test/test1”.
assertionConsumerBinding object False Assertion Consumer Service Binding description. Select POST to configure the SAML SP assertion to send messages using POST binding. Select Artifact to configure the SAML SP assertion to send messages using artifact binding. The default value is “http-post”. Possible enum values: “http-post”, “http-redirect”, “http-artifact”, “soap”, “paos” and “unknown”.
isAuthnRequestSigned string False Sign Authentication Request. Should the SAML service provider sign authentication requests. The default value is “false”. Possible values: “true” or “false”.
spSignkey string False Message Signing Private Key. SAML SP message signing private key. For example: “/Common/default.key”. x-crossObjectValidator: sys/file/ssl-key x-requiredValidator: isAuthnRequestSigned
spCertificate string False Message Signing Certificate. SAML SP message signing certificate. For example: “/Common/default.crt”. x-crossObjectValidator: sys/file/ssl-cert x-requiredValidator: isAuthnRequestSigned
wantAssertionSigned string False Want Signed Assertion. Should the SAML service provider require signed assertions from the IdP. The default value is “true”. Possible enum values: “true” or “false”.
wantAssertionEncrypted string False Want Encrypted Assertion. Should the SAML service provider require encrypted assertions fromthe IdP. The default value is “false”. Possible enum values: “true” or “false”.
spDecryptionKey string False Assertion Decryption Private Key. Specifies the private key that the SAML SP uses to decrypt encrypted assertions from the IdP. For example: “/Common/default.key”. x-crossObjectValidator: sys/file/ssl-key x-requiredValidator: wantAssertionEncrypted
authContextComparisonMethod string False Authentication Context Comparison Method. Compares the authentication context to the authentication class of the user session. Possible enum values: “exact”, “minimum”, “better” or “maximum”.
authContextClassList object False The authContextClassList object is described in the Schemas section.
authContextMethods array False Requested Authentication Context. Specifies the authentication methods in SAML authentication requests.
     items string False For example: ‘urn:oasis:names:tc:SAML:2.0:ac:classe:PasswordProtectedTransport
attributeConsumingServices array False Attribute Consuming Services. Specifies the list of attribute consuming services the SP service provider.
     items string False The attributeConsumingServices object is described in the Schemas section.
forceAuthn string False Force Authentication. Forces users to authenticate again even when they have an SSO session at the identity provider. The default value is “true”. Possible enum values: “true” or “false”.
nameIdPolicyAllowCreate string False Allow Name-Identifier Creation. Allows the external IdP, when processing requests from this BIG-IP system as SP, to create a new identifier to represent the principal. The default value is “true”. Possible enum values: “true” or “false”.
nameIdPolicyFormat string False Name-Identifier Policy Format. Specifies the type of identifier information to use by selecting a URI reference from the Name-Identifier Policy Format list. For example: ‘urn:oasis:names:tc:SAML:2.0:nameid-format:federated’.
nameIdPolicySpNameQualifier string False SP Name-Identifier Qualifier. Specifies the assertion subject’s identifier be returned in the namespace of an SP other than the requester, or in the namespace of a SAML affiliation group of SPs. For example: “SAMLService1”.
providerName string False Provider Name. Specifies the name of the SP service provider. For example: “SAML Service 1”.
idpConnectors array False IdP Connectors. Specifies the list of IdP connectors the SP service provider.
     items string False The idpConnectors object is described in the Schemas section.
locationSpecific string False Location Specific. The default value is “false”. Possible enum values: “true” or “false”.
name string False Name. Optional name of the SAML SP Service. Name is auto-generated from name of workflow if not provided. For example: “samlService1”.
description string False Description of the SAML SP Service. For example: “Local SP service 1”.

accessProfile

Access profile settings

Name Type Required Description
accessPolicyTimeout number False Access Policy Timeout. Specifies the timeout in seconds that a user, who has executed a per-session policy, must complete the policy before the timeout expires. The default value is 300.
inactivityTimeout number False Inactivity Timeout. Specifies the inactivity timeout for the connection, in seconds. The default value is 900.
maxSessionTimeout number False Maximum Session Timeout. Specifies the maximum lifetime of one session, in seconds. The default value is 604800.
minFailureDelay number False Minimum Authentication Failure Delay. Specifies the minimum number of seconds to delay before displaying an error after authentication failure. The default value is 2.
maxFailureDelay number False Maximum Authentication Failure Delay. Specifies the maximum number of seconds of delay before displaying an error after authentication failure. The default value is 5.
maxConcurrentSessions number False Max Sessions Per User. Specifies the number of sessions that a user can have active. 0 means no limit to the number of sessions that a user can have active. 1-1000 means the limit is enforced. Any number above 1000 will fail the configuration. The default value is 0.
maxConcurrentUsers number False Max Concurrent Users. Specifies the number of sessions per access profile. The default value is 0 which represents unlimited sessions. The default value is 0.
maxInprogressSessions number False Max In Progress Sessions Per Client IP. Specifies the maximum number of sessions that can be in progress for a client IP address. The default value is 128.
restrictToSingleClientIp string False Restrict to Single Client IP. Specifies whether to limit a session to a single IP address. The default value is “false”. Possible values: “true” or “false”.
useHttp_503OnError string False Use HTTP Status 503 for Error Pages. Specifies whether to have APM send HTTP response code 503 for error pages to clients. The default value is “false”. Possible values: “true” or “false”.
acceptLanguages array False Languages. List of accepted languages. The default value is “en”.
     items string False List of accepted languages. The default value is “en”.
defaultLanguage string False Default Language. The default value is “en”.

virtualServer

Configuration of a virtual server

Name Type Required Description
targetDevice string True Target Device Name. For example: ‘bigip-1.lab.fp.f5net.com’
destinationIpAddress string True Destination Address. For example: “1.1.1.1”.
port string True Destination Port. For example: “443”.
mask string False Destination Mask. The default value is “255.255.255.255”.
clientsideSsl string False Client SSL Profile. For example: “/Common/clientssl”.
serversideSsl string False Server SSL Profile. For example: “/Common/serverssl”.
poolServer string False The poolServer object is described in the Schemas section.

singleSignOn

Single sign-on settings

Name Type Required Description
enabled string False Single Sign-On Settings. The default value is “false”. Possible values: “true” or “false”.
type string False Possible enum values: “httpHeaders” or “kerberos”.
kerberos string False The kerberos objects is described in the Schemas section.
httpHeaders array False An array of httpHeaders objects
     items string False The httpHeaders object is described in the Schemas section.

endpointCheck

Configuration of endpoint checks

Name Type Required Description
clientOS object False The clientOS object is described in the Schemas section.

attributeConsumingService

Configuration of the attribute consuming service

Name Type Required Description
serviceName string True Service Name. Specifies the name of the attribute consuming service. For example: “attrConsService1”.
serviceDescription string False Service Description. Specifies the descriptive text for the attribute consuming service. For example: “Attribute consuming service 1”.
attributesReference array False SAML Attributes. Specifies the list of SAML attributes for the attribute consuming service.
     items string False The attributeConsumingServiceAttribute object is described in the Schemas section.
isDefault boolean False Default Attribute Consuming Service. Whether the attribute consuming service is default for SP service. The default value is true. Possible values are true or false.
name string False Optional name of the attribute consuming service. Name is auto-generated from name of workflow if not provided. For example: attrConsService1
link string False Link. URL of the existing attribute consuming service. For example: “https://localhost/mgmt/cm/access/working-config/apm/saml/attribute-consuming-service/d2c2dfb4-b19b-3d6f-b9bf-bff752d60fb2

authContextClassList

A configuration of an authentication context classes

Name Type Required Description
classes array False Ordered List of Authentication Classes. Specifies the ordered list of authentication classes.
     items string False The authContextClassListClass object is described in the Schemas section.
name string False Name. Optional name of the authentication context class list. Name is auto-generated from name of workflow if not provided. For example: “authContextClass1”. x-uniqueValidator: apm/saml/auth-context-class-list.name
description string False Description. Description of the authentication context class. For example: “External IdP Connector 1”.

attributeConsumingServices

Configuration of the local SP Service to the attribute consuming service

Name Type Required Description
service object False The attributeConsumingService object is described in the Schemas section.

idpConnectors

Configuration of the local SP service to the external IdP connector

Name Type Required Description
idpMatchingSource object False IdP matching source entity ID. For example: ‘%{session.logon.last.domain}’
idpMatchingValue object False Matching Value. IdP matching value for the entity ID.
connector object False The idpConnector object is described in the Schemas section.

poolServer

Pool properties

Name Type Required Description
loadBalancingMode object False Load Balancing Method
     enum string False Possible values: “dynamic-ratio-member”, “least-connections-member”, “observed-node”, “ratio-least-connections-node”, “round-robin”, “dynamic-ratio-node”, “least-connections-node”, “predictive-member”, “ratio-member”, “weighted-least-connections-member”, “fastest-app-response”, “least-sessions”, “predictive-node”, “ratio-node”, “weighted-least-connections-node”, “fastest-node”, “observed-member”, “ratio-least-connections-member”, or “ratio-session”. The default value is “round-robin”.
members array False Pool members.
     items string False The poolMember object is described in the Schemas section.
monitors object False Monitors. The monitor object is described in the Schemas section.

kerberos

Configuration of kerberos single sign-on settings

Name Type Required Description
accountName string False Account Name. The name of the Active Directory account configured for delegation. This account must be configured in the server’s Kerberos realm (AD Domain). For example: “kerberos1”.
accountPassword string False Account Password. The password for the delegation account specified in the previous field. For example: “password1”.
headers array False An array of the single sign-on headers and properties.
     items object False An array of the single sign-on headers and properties.
          properties object False An array of the single sign-on headers and properties.
               hname string False Header Name. For example: “header1”
               hvalue string False Header Value. For example: “value1”
               name string False Name of header. For example: “header1”
kdc string False KDC. IP Address or host name of the Kerberos Key Distribution Center (KDC) for the server’s realm. This is normally an Active Directory domain controller. If you leave this empty, the KDC must be discoverable through DNS. For example: ‘10.1.2.3’.
realm string False Kerberos Realm. The realm of application servers. For example: “kerberos.example.com”.
sendAuthorization string False Send Authorization. To specify when to submit a Kerberos ticket to the application server. Always- The Authorization header with a Kerberos ticket is inserted into every HTTP request whether it requires authentication or not. On 401 Status Code- The system first forwards the user’s HTTP request to the web server without inserting a new Authorization header (but any browser’s Authorization header will be deleted). Possible enum values: “always”, “401”, or “cache”. The default value is “always”.
spnPattern string False SPN Pattern. Optional field to modify how the Service Principal Name (SPN) for the servers is constructed. Leave this field empty unless you need a non-standard SPN format. To make modifications, you can create entries from the following choices. HTTP/%h@REALM with REALM replaced by the actual realm name as specified in the Kerberos Realm field. The %h option takes the hostname from the HTTP request Host header. HTTP/%s@REALM with REALM replaced by the actual realm name as specified in the Kerberos Realm field. The %s option takes the hostname discovered through reverse DNS lookup using the server IP address. The default value is ‘’.
ticketLifetime number False Ticket Lifetime. The lifetime of Kerberos tickets obtained for the user in minutes. The value represents the maximum ticket lifetime, and the actual lifetime may be less by up to 1 hour. The default value is 600.
upnSupport string False UPN Support. Whether the UPN suffix support for Kerberos SSO when integrating into Microsoft Active Directory infrastructure is enabled or not. Possible values: “true” and “false”. The default value is “false”.
usernameSource string False Username Source. User name to cache for single sign-on. The default value is “session.sso.token.last.username”.
userRealmSource string False User Realm Source. Session variable that contains the user’s realm. The default value is “session.logon.last.domain”.
name string False Name. Name of the Kerberos SSO. For example: “kerberos1”.
description string False Description. Description of the Kerberos SSO. For example: “Kerberos SSO 1”.
link string False Link. URL of the existing Kerberos SSO. For example: “https://10.192.229.84/mgmt/cm/access/working-config/apm/sso/kerberos/f004791e-8945-3151-b9e5-fc2b5ff8e7cd”.

httpHeaders

HTTP headers single sign-on settings

Name Type Required Description
headerOperation string False Header Operation. Possible enum values: “header-insert”, “header-append”, “header-replace”, and “header-remove”. The default value is “header-replace”.
headerName string False Header Name. The default value is “Authorization”.
headerValue string False Header Value. The default value is ‘%{session.saml.last.identity}’.
name string False Name. For example: “header1”.

clientOS

Configuration of client OS properties

Name Type Required Description
windows object False The windows object is described in the Schemas section.
windowsRT object False The windowsRT object is described in the Schemas section.
linux object False The linux object is described in the Schemas section.
macOS object False The macOS object is described in the Schemas section.
iOS object False The iOS object is described in the Schemas section.
android object False The android object is described in the Schemas section.
windowsPhone object False The windowsPhone object is described in the Schemas section.
chromeOS object False The chromeOS object is described in the Schemas section.

windows

Windows client OS properties

Name Type Required Description
windows7 string False Client OS is Windows 7. Possible values: “true” or “false”. The default value is “false”.
windows10 string False Client OS is Windows 10. Possible values: “true” or “false”. The default value is “false”.
windows8_1 string False Client OS is Windows 8.1. Possible values: “true” or “false”. The default value is “false”.
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

windowsRT

Windows RT client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

linux

Linux client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

macOS

MacOS client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

iOS

iOS client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

android

Android client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

windowsPhone

Windows Phone client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

chromeOS

ChromeOS client OS properties

Name Type Required Description
antivirus object False The antivirus object is described in the Schemas section.
firewall object False The firewall object is described in the Schemas section.
machineCertAuth object False The machineCertAuth object is described in the Schemas section.

antivirus

Configuration of antivirus software present on the client OS

Name Type Required Description
dbAge number False Database Age of Antivirus in days. If the database is older than this number of days, it is not accepted and the endpoint does not pass this check. The default value is 0.
lastScan number False Last Scanned Age in days. If the last scan was more than this number of days, it is not accepted and the endpoint does not pass this check. The default value is 0.
productId number False Product ID of Antivirus. The default value is 0.
vendorId number False Vendor ID of Antivirus. The default value is 0.

firewall

Configuration of firewall software present on the client OS

Name Type Required Description
productId number False Product ID of Firewall. The default value is 0.
vendorId number False Vendor ID of Firewall. The default value is 0.

machineCertAuth

Configuration of machine certificate authentication of the client OS

Name Type Required Description
storeName string False The Machine Certificate Authentication property to determine Certificate Store Name. The certificate store name on the client device that the access policy will use to locate the certificate. The default is MY and is the default windows store where certificates are imported on client devices. You can change this field to inspect certificates located in custom stores. The default value is “MY”.
caProfileName string False Certificate Authority Profile Name. The Machine Certificate Authentication property to determine the Certificate Authority (CA) profile to use. The default value is ‘/Common/certificateauthority’.
storeLocation string False Store Location. The Machine Certificate Authentication property to determine the Certificate Store Location to look in for certificates. Options include LocalMachine or CurrentUser. The possible enum values: “machine” or “user”. The default value is “machine”.
saveCert string False Enable Saving Certificate. The Machine Certificate Authentication property to enable saving certificate in session variable. The possible enum values: “true” or “false”. The default value is “false”.
subjectMatchFqdn string False Enable Saving Matching FQDN. The Machine Certificate Authentication property to enable matching of Subject SN with FQDN. The possible enum values: “true” or “false”. The default value is “false”.
allowElevation string False Enable User Account Control Right Elevation Prompts. The Machine Certificate Authentication property to enable User Account Control right elevation prompts. The possible enum values: “true” or “false”. The default value is “true”.
subjectAltName string False Subject Alternative Name Attribute. The Machine Certificate Authentication property to specify the content extracted from the Subject Alternative Name attribute, using a specified regular expression, must match the computer’s FQDN. For example: “www.example.com”.
issuer string False Issuer. The Machine Certificate Authentication property to specify the content from the Issuer field matches the pattern specified by the regular expression. A regular expression is used to match the issuer’s content against a specified pattern. For example: “DN=Example”.
serialNumber string False Serial Number. The Machine Certificate Authentication property to specify the Access device that specifies a serial number that must be an exact match for the certificate serial. The hex string must be specified in the same order as it is displayed by OpenSSL and Windows certificate tools. For example: “00C6C0348A16F8ABA90000000050F67B66”.

poolMember

Configuration of a pool member

Name Type Required Description
port number False Port. The default value is 443.
priorityGroup number False Priority Group. The default value is 0.
ipAddress string False IP Address. For example: “1.1.1.1”.

monitor

Configuration of a monitor

Name Type Required Description
diameter array False Diameter Monitor
     items string False For example: “/Common/diameter”.
dns array False DNS Monitor
     items string False For example: “/Common/dns”.
external array False External Monitor
     items string False For example: “/Common/external”.
firepass array False Firepass Monitor
     items string False For example: “/Common/firepass”.
ftp array False FTP Monitor
     items string False For example: “/Common/ftp”.
gatewayIcmp array False Gateway Icmp Monitor
     items string False For example: “/Common/gatewayIcmp”.
http object False HTTP Monitor
     items array False For example: “/Common/http”.
https array False HTTPS Monitor
     items string False For example: “/Common/https”.
icmp array False ICMP Monitor
     items string False For example: “/Common/icmp”.
moduleScore array False Module Score Monitor
     items string False For example: “/Common/module_score”.
mqtt array False MQTT Monitor
     items string False For example: “/Common/mqtt”.
mssql array False MSSQL Monitor
     items string False For example: “/Common/mssql”.
mysql array False MySQL Monitor
     items string False For example: “/Common/mysql”.
nntp array False NNTP Monitor
     items string False For example: “/Common/nntp”.
none array False No Monitor Specified
     items string False For example: “/Common/none”.
oracle array False Oracle Monitor
     items string False For example: “/Common/oracle”.
pop3 array False POP3 Monitor
     items string False For example: “/Common/pop3”.
postgresql array False PostGRESQL Monitor
     items string False For example: “/Common/postgresql”.
radius array False RADIUS Monitor
     items string False For example: “/Common/radius”.
radiusAccount object array RADIUS Accounting Monitor
     items string False For example: “/Common/radius_accounting”.
realServer array False Real Server Monitor
     items string False For example: “/Common/real_server”.
sasp array False SASP Monitor
     items string False For example: “/Common/sasp”.
scripted array False Scripted Monitor
     items string False For example: “/Common/scripted”.
sip array False SIP Monitor
     items string False For example: “/Common/sip”.
smb array False SMB Monitor
     items string False For example: “/Common/smb”.
snmpDca array False SNMP DCA Monitor
     items string False For example: “/Common/snmp_dca”.
snmpDcaBase array False snmpDcaBase Monitor
     items string False For example: “/Common/snmp_dca_base”.
soap array False SOAP Monitor
     items string False For example: “/Common/soap”.
tcp array False TCP Monitor
     items string False For example: “/Common/tcp”.
tcpEcho array False TCP Echo Monitor
     items string False For example: “/Common/tcp_echo”.
tcpHalfOpen array False TCP Half Open Monitor
     items string False For example: “/Common/tcp_half_open”.
udp array False UDP Monitor
     items string False For example: “/Common/udp”.
virtualLocation array False Virtual Location Monitor
     items string False For example: “/Common/virtual_location”.
wap array False WAP Monitor
     items string False For example: “/Common/wap”.
wmi array False WMI Monitor
     items string False For example: “/Common/wmi”.

idpConnector

Configuration of an external IdP Connector

Name Type Required Description
entityId string True IdP Entity ID. A unique identifier for this SAML Identity Provider. Usually, this is a unique URI, representing the IdP. For example: “https://www.f5.com
nameQualifier string False Name Qualifier. The security or administrative domain of the Identity Provider. This value usually matches IdP Entity ID. For example: “https://www.f5.com
ssoBinding string False Single Sign On Service Binding. Specifies how Access Policy Manager is to send an authentication request to the SAML Identity Provider. For example: “http-post”
ssoUri string True Single Sign On Service URL. Specifies the URL where BIG-IQ redirects the user for authentication when the user initiates connection through the service provider. If the identity provider (IdP) is also a BIG-IP system (in a federation of BIG-IP systems), you can use this URL, https://IP-Address/saml/idp/profile/redirectpost/sso and substitute the IP address or FQDN of the BIG-IP as IdP virtual server for IP-Address. The expression pattern: ^(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?$ For example: “https://www.f5.com/saml/idp/profile/redirectpost/sso
artifactResolutionServiceUrl string False Location URL. Specifies the URL of the artifact resolution service. The expression pattern: “^(http|https)://[a-zA-Z0-9]+(?:[a-zA-Z0-9._~!%+,;=:/@-]*)$” For example: “https://www.f5.com”.
artifactResolutionServiceAddr string False IP Address. Specifies the IP address of the artifact resolution service. The expression pattern: “^((25[0-5]|2[0-4]d|[01]?dd?).(25[0-5]|2[0-4]d|[01]?dd?).(25[0-5]|2[0-4]d|[01]?dd?).(25[0-5]|2[0-4]d|[01]?dd?)/([1-9]|1[0-9]|2[0-9]|3[0-2])|((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b).){3}(b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b))|(([0-9A-Fa-f]{1,4}:){0,5}:((b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b).){3}(b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b))|(::([0-9A-Fa-f]{1,4}:){0,5}((b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b).){3}(b((25[0-5])|(1d{2})|(2[0-4]d)|(d{1,2}))b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))/([1-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))$” For example: “10.1.2.3”.
artifactResolutionServicePort string False Port. Specifies the port number of the artifact resolution service. The expression pattern: “^-?([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$”. For example: “80”.
signArtifactResolutionRq string False Sign Artifact Resolution Request. Specifies if artifact resolution messages from an SP are signed. Possible enum values: “false” and “true”. The default value is “false”.
serversslProfileName string False Server SSL Profile. Specifies the name of the Server SSL profile. For example: “/Common/serverssl”. The default value is “”. x-crossObjectValidator: ltm/profile/server-ssl
basicAuthUsername string False Username. Specifies the username for the artifact resolution service request. For example: “testUser”.
basicAuthPassword string False Password. Specifies the password for the artifact resolution service request. For example: “testPassword”.
identityLocation string False Identity Location. Specifies where to find the user ID or name: in the Subject element of the assertion or in one of the Attributes in the attribute statement. Possible enum values: “subject” and “attribute”. The default value is “subject”.
identityLocationAttribute string False Sign Artifact Resolution Request. Specifies the name of the attribute where the user ID or name can be found. For example: “name”.
wantAuthnRequestSigned string False Authentication Request sent by this device to IdP. Specifies whether the IdP expects signed authentication requests. Possible enum values: “rsa-sha1”, “rsa-sha256”, “rsa-sha384”, and “rsa-sha512”. The default value is “rsa-sha1”.
idpCertificate string False IdP’s Assertion Verification Certificate. Specifies the IdP certificate that, with public key, a service provider uses to validate a signed assertion. For example: “/Common/default.crt”.
wantDetachedSignature string False Detach signature when using redirect binding. Specifies whether to detach signature when using redirect binding. Possible enum values: “false” and “true”. The default value is “false”.
singleLogoutUri string False Single Logout Request URL. Specifies the URL at the SAML Identity Provider (IdP) where BIG-IQ can send the logout request when a service provider initiates a logout. The expression pattern: “^(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?$” For example: “https://www.f5.com/saml/idp/profile/logout/sso”.
singleLogoutResponseUri string False Single Logout Response URL. Specifies the URL at the SAML Identity Provider (IdP) where BIG-IQ can send the logout response when the IdP initiates the logout request. The expression pattern: “^(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?$” For example: “https://www.f5.com/saml/idp/login”.
singleLogoutBinding string False Single Logout Binding. Specifies the method that Access Policy Manager uses to send logout requests and responses to the SAML Identity Provider. Possible enum values: “http-post” and “http-redirect”. The default value is “http-post”.
locationSpecific string False Location Specific. Possible enum values: “false” and “true”. The default value is “false”.
name string False Optional name of the IdP connector. Name is auto-generated from name of workflow if not provided. For example: “idpConnector1”.
description string False Description of the IdP connector. For example: “External IdP Connector”.
link string False URL of the existing IdP connector. For example: “https://localhost/mgmt/cm/access/working-config/apm/aaa/saml-idp-connector/a68175ee-0b5f-3fea-9902-372b638e5781