Authentication Rules
Overview
Authentication rules determine which authentication protocol (EAP-TLS, PEAP, MAB, etc.) to use based on request attributes.
Base URL |
|
Methods |
GET, POST, PUT, DELETE |
Key Fields |
name, condition, identitySourceName, rank |
Setup
dsource d000 dev/network
ISE_HOST="${ISE_PAN_IP}"
ISE_AUTH="${ISE_API_USER}:${ISE_API_PASS}"
POLICY_ID="your-policy-set-id"
List Auth Rules
# List all authentication rules in a policy set
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication" \
-H "Accept: application/json" | jq '.response[] | {name, rank, identitySourceName}'
Get Auth Rule
RULE_ID="rule-uuid"
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication/${RULE_ID}" \
-H "Accept: application/json"
Create Auth Rule
EAP-TLS Rule
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication" \
-H "Content-Type: application/json" \
-X POST -d '{
"rule": {
"name": "EAP-TLS Authentication",
"rank": 1,
"state": "enabled",
"condition": {
"conditionType": "ConditionAttributes",
"attributeName": "EapAuthentication",
"operator": "equals",
"attributeValue": "EAP-TLS"
}
},
"identitySourceName": "Internal Endpoints",
"ifAuthFail": "REJECT",
"ifProcessFail": "DROP",
"ifUserNotFound": "REJECT"
}'
MAB Rule
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication" \
-H "Content-Type: application/json" \
-X POST -d '{
"rule": {
"name": "MAB Authentication",
"rank": 2,
"state": "enabled",
"condition": {
"conditionType": "ConditionAttributes",
"attributeName": "Radius:Service-Type",
"operator": "equals",
"attributeValue": "Call-Check"
}
},
"identitySourceName": "Internal Endpoints",
"ifAuthFail": "CONTINUE",
"ifProcessFail": "DROP",
"ifUserNotFound": "CONTINUE"
}'
Update Auth Rule
RULE_ID="rule-uuid"
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication/${RULE_ID}" \
-H "Content-Type: application/json" \
-X PUT -d '{
"rule": {
"id": "'${RULE_ID}'",
"name": "EAP-TLS Authentication (Updated)",
"rank": 1,
"state": "enabled"
},
"identitySourceName": "Internal Endpoints"
}'
Delete Auth Rule
RULE_ID="rule-uuid"
curl -sk -u "${ISE_AUTH}" \
"https://${ISE_HOST}/api/v1/policy/network-access/policy-set/${POLICY_ID}/authentication/${RULE_ID}" \
-X DELETE
Identity Sources
Common identity sources for authentication rules:
| Source | Use Case |
|---|---|
Internal Endpoints |
MAB lookup against endpoint database |
Internal Users |
Local user authentication |
All_AD_Join_Points |
Active Directory authentication |
Certificate Authentication Profile |
EAP-TLS certificate validation |
Failure Actions
| Action | Description |
|---|---|
REJECT |
Reject authentication, send Access-Reject |
DROP |
Silently drop, no response |
CONTINUE |
Try next rule in sequence |