External Authentication¶
Data Structures¶
Attribute |
Type |
Required |
Description |
|---|---|---|---|
|
string |
yes |
Read-only object identifier |
|
string |
yes |
Unique; case insensitive |
|
string {cerb, radius, ldap, ad, tacacs} |
yes |
Immutable |
|
string |
If |
Authentication server address. Required for selected types if port is set. |
|
number |
If |
Server port. Must be used with address. Value format: port. |
|
string |
Bind address. Include labels like ‘fudo:label:test’ or ip address |
|
|
string |
If |
Login for AD authentication. Must be used with secret. |
|
ExternalAuthentication-CerbModel |
If |
Cerb object definiton |
|
ExternalAuthentication-RadiusModel |
If |
Radius object definiton |
|
ExternalAuthentication-LdapModel |
If |
LDAP object definiton |
|
ExternalAuthentication-AdModel |
If |
Active Directory object definiton |
|
ExternalAuthentication-TacacsModel |
If |
TACACS+ object definition |
|
boolean |
If |
Enable TLS protocol. Can also be set for |
|
string |
If |
Client TLS certificate. Format: X.509. |
|
string |
If |
CA certificate for TLS validation. Format: X.509. |
|
string {duo, oath, sms} |
||
|
datetime |
Read-only |
|
|
datetime |
Read-only |
|
|
boolean |
Read-only |
Attribute |
Type |
Description |
|---|---|---|
|
string |
Password to cerb provider; required; write-only |
|
string |
Correct value of NAS id of Cerb provider; required |
Attribute |
Type |
Description |
|---|---|---|
|
string |
Password to radius provider; required; write-only |
|
string |
Correct value of NAS id of Radius provider; required |
|
string {chap, mschap, pap} |
Authentication method for RADIUS. Values: chap (CHAP), mschap (MS-CHAPv2), pap (PAP). Default: mschap |
|
boolean |
Use Message-Authenticator to mitigate BlastRADIUS vulnerability. Default: |
|
boolean |
Append the user’s AD domain to the username sent to the RADIUS server, in the |
Attribute |
Type |
Description |
|---|---|---|
|
string |
Bind domain to LDAP provider; required |
Attribute |
Type |
Description |
|---|---|---|
|
string |
Login for AD authentication. Used with secret. |
|
string |
Password to AD provider; write-only. Used with login. |
|
string |
Bind domain to AD provider; required |
Attribute |
Type |
Description |
|---|---|---|
|
string |
Shared key of the TACACS+ server; write-only. Required when |
|
string {ascii, chap, pap} |
Authentication method for TACACS+. Values: ascii (ASCII), chap (CHAP), pap (PAP). Default: ascii |
|
boolean |
Append the user’s AD domain to the username sent to the TACACS+ server, in the |
|
string |
Certificate that Fudo Enterprise presents to the TACACS+ server (mutual TLS). Format: X.509. Requires |
|
string |
Private key of the client certificate; protected, write-only. Must be used with |
|
string |
Passphrase to decrypt |
Retrieve Available Attributes of the ExternalAuthentication- Model¶
Request
Method |
|
Path |
|
To check allowed methods, available URL parameters and possible responses please refer to the API Overview section.
Refer to the Batch operations topic to create nested requests for operating on the External Authentication objects.
Get External Authentication Methods List¶
Request
Method |
|
Path |
|
Example Request
GET /api/v2/external_authentication
Response
{
"result": "success",
"external_authentication": [
{
"id": "1234538875067072557",
"type": "ad",
"port": 636,
"ad_domain": "jdoe.local",
"created_at": "2021-08-09 19:40:05.171853+02",
"modified_at": "2021-08-09 19:40:05.171853+02",
"address": "10.0.139.100",
"tls_enabled": true,
"tls_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIFrTCCBJWgAwIBAg...ic=\r\n-----END CERTIFICATE-----\r\n"
},
{
"id": "12345138875067072517",
"type": "ldap",
"port": 389,
"ldap_binddn": "dc=qa-ldap,dc=null",
"created_at": "2021-03-03 14:11:52.245683+01",
"modified_at": "2021-03-03 14:14:46.052855+01",
"address": "10.0.235.1",
"tls_enabled": false,
"tls_certificate": ""
},
{
"id": "12345067072573",
"type": "cerb",
"port": 1812,
"created_at": "2022-10-19 10:23:11.29545+02",
"modified_at": "2022-10-19 10:58:12.325396+02",
"address": "10.0.234.21",
"radius_nasid": "",
"tls_enabled": false,
"tls_certificate": ""
},
{
"id": "3234566775067072572",
"type": "radius",
"port": 1812,
"created_at": "2022-10-19 10:08:23.160433+02",
"modified_at": "2022-10-19 10:19:50.525671+02",
"second_factor_type": "oath",
"address": "10.0.0.1",
"radius_nasid": "abcdeg",
"tls_enabled": true,
"tls_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIG5jC...2MOXV1x+eQAm0Vy\r\n-----END CERTIFICATE-----\r\n"
}
]
}
Get External Authentication Method by ID¶
Request
Method |
|
Path |
|
Example Request
GET /api/v2/external_authentication/<id>
Response
{
"result": "success",
"external_authentication": [
{
"id": "1234538875067072557",
"type": "ad",
"port": 636,
"ad_domain": "jdoe.local",
"created_at": "2021-08-09 19:40:05.171853+02",
"modified_at": "2021-08-09 19:40:05.171853+02",
"address": "10.0.139.100",
"tls_enabled": true,
"tls_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIFrTCCBJWgAwIBAg...ic=\r\n-----END CERTIFICATE-----\r\n"
}
]
}
Modify External Authentication Method¶
Request
Method |
|
Path |
|
Headers |
|
Body |
|
Example Request: Adding SMS Authentication for Second Factor to AD Authentication
PATCH /api/v2/external_authentication/<id>
{
"second_factor_type": "sms"
}
Response
{
"result": "success"
}
Create an External Authentication Method¶
Request
Method |
|
Path |
|
Headers |
|
Body |
|
Example Request: Creating Cerb Definition With Second Factor OATH Authentication
POST /api/v2/external_authentication
{
"type": "cerb",
"port": 1812,
"address": "10.0.234.21",
"radius_nasid": "abcds",
"secret": "my-password",
"tls_enabled": false,
"second_factor_type": "oath"
}
Response
{
"result": "success",
"external_authentication": {
"id": "123456819172646913"
}
}
Example Request: Creating TACACS+ Definition
curl -s -k -X POST \
-H 'Authorization: <token>' \
-H 'Content-Type: application/json' \
'https://10.33.4.37/api/v2/external_authentication' \
-d '{
"name": "TACACS+ primary",
"type": "tacacs",
"address": "10.0.234.30",
"port": 49,
"secret": "my-tacacs-key",
"tacacs_method": "pap",
"tacacs_append_domain": false,
"tls_enabled": false
}'
Response
{
"result": "success",
"external_authentication": {
"id": "5512405943901487109"
}
}
Delete an External Authentication Method¶
Request
Method |
|
Path |
|