Hello Abderrahmane
Based on your descriptions, I can make some assumptions concerning the issue you are facing, and hopefully, my thoughts will help you in your troubleshooting process. At this point, I don’t believe the problem is related to the shell:priv-lvl=15 attribute.
The lesson is demonstrating two separate authentication processes:
- The user authenticates to gain access to the CLI.
- The user types
enable and authenticates separately to gain access to privileged EXEC mode.
When Cisco IOS performs RADIUS authentication for the enable command, it does not normally send the username of the user who initially logged in. Instead, it sends a special username based on the requested privilege level: $enab15$
Therefore, ISE must be able to authenticate a request using the username $enab15$ and the password that you want users to enter after typing enable. The relevant IOS configuration should look similar to this:
aaa authentication enable default group radius enable
Here, the device first tries the RADIUS server. The final enable keyword means that the locally configured enable secret is used only as a fallback if the RADIUS server is unavailable.
This explains why your local enable password works when ISE is down. However, while ISE is reachable, the switch sends the enable authentication request to ISE using $enab15$. If ISE does not recognize or permit that username, it will return an Access-Reject, and IOS will not try the local enable secret.
The attribute: cisco-AVPair = shell:priv-lvl=15 is used for a different approach. It can place a user directly into privilege level 15 after the initial login, provided that EXEC authorization is configured. It is not required for the separate enable authentication method demonstrated in this lesson.
I suggest checking the ISE Live Logs while entering the enable command. You should see an authentication request with a username similar to: $enab15$. Check whether ISE is rejecting that username and which policy set and authentication rule are being matched.
You can also use the following debugging commands on the switch:
debug aaa authentication
debug radius authentication
Let us know how you get along and if you’ve resolved your issue!
I hope this has been helpful!
Laz