Configure the RADIUS servers used for authentication
Up to three RADIUS servers can be configured, each with a unique priority from 1 to 3. On login the servers are contacted in priority order. The role of an authenticated user is derived from the attributes returned by the server through the priv_lvl_ref_table rules; if no rule matches, fallback_role is used, and with fallback_role set to none the login is refused. Whether RADIUS is used at all, and when, is set on the AAA Configuration page.
Data (RADIUS_SERVER object):
{
"id": 3,
"secret": "testing123",
"priority": 2,
"hostname": "172.17.0.2",
"port": 1812,
"timeout": 3,
"fallback_role": "user",
"priv_lvl_ref_table": [
{
"attribute_name": "Callback-Number",
"attribute_data_type": "int",
"comparison_value": "56",
"comparison_operator": "<=",
"role": "admin"
},
{
"attribute_name": "Callback-Number",
"attribute_data_type": "str",
"comparison_value": "^qwerty56$",
"comparison_operator": "=~",
"role": "viewer"
}
]
}id - unsigned integer assigned by the device (read-only)secret - shared secret, 1 to 65 alphanumeric and special characterspriority - 1 to 3, unique among the configured servershostname - hostname, IPv4 or IPv6 addressport - 1 to 65535timeout - seconds to wait for the server, 1 to 5fallback_role - role used when no rule matches: none, viewer, user (equal to operator) or admin; defaults to nonepriv_lvl_ref_table - list of rules mapping RADIUS attributes to roles; may be empty
attribute_name - name of the RADIUS attribute to inspectattribute_data_type - str or intcomparison_value - value to compare with, always a stringcomparison_operator:
<, <=, >, >= - integers only=~ - regular expression match, strings only==, != - any typerole - viewer, user (equal to operator) or adminA field that violates its constraint is rejected with 422 (see Responses). An operator that does not fit the attribute type is reported as comparison_operator is not valid for an attribute of an integer type.
/api/aaa/radiusGETadminRADIUS_SERVER objects in data/api/aaa/radius/{id}GETadminRADIUS_SERVER object in dataid/api/aaa/radiusPOSTadminRADIUS_SERVER object without id; secret, priority, hostname, port and timeout are mandatory, fallback_role and priv_lvl_ref_table may be omittedSuccessfully added the radius_server., the created object in dataCould not add RADIUS server: priority <n> already exists, 422 on a constraint violation/api/aaa/radius/{id}PUTadminRADIUS_SERVER object; fields that are omitted keep their current valueSuccessfully updated the radius_server., the updated object in datapriority is already used by another server, 422 on a constraint violation/api/aaa/radiusPUTadminRADIUS_SERVER objects with id set. The array must contain every configured server exactly once; servers cannot be added or removed with this call.dataError, not all the entries are present in the request. or Error, not all the entries have unique priorities.; 422 on a constraint violation/api/aaa/radius/{id}DELETEadminSuccessfully deleted the radius_server., the deleted object in dataid/api/aaa/radiusDELETEadminSuccessfully removed all RADIUS servers; succeeds also when the list is already empty