F Cisco ISE — Configuring TACACS+ Authentication for Device Administration - The Network DNA: Networking, Cloud, and Security Technology Blog

Cisco ISE — Configuring TACACS+ Authentication for Device Administration

Cisco ISE › Device Administration › TACACS+ Configuration

Cisco ISE — Configuring TACACS+ Authentication for Device Administration

 April 8, 2023  |  ✍ www.thenetworkdna.com — WIRES AND WI.FI  |  ⏱ 12 min read  |   ISE 3.1 • IOS-XE 17.6.4 • Device Admin License

TACACS+ has been the go-to protocol for network device access control in large networks for a long time — and for good reason. The ability to define exactly which commands a person can run, right down to specific arguments, is something RADIUS simply doesn’t offer. This guide walks through a complete Cisco ISE TACACS+ setup: from enabling the Device Admin service to verifying command authorization in live logs.

In This Guide

1.  Introduction & Lab Environment
2.  Enable Device Admin Service on PSN Nodes
3.  Configure General TACACS+ Settings
4.  Add a Network Device for TACACS+
5.  Configure a TACACS Profile
6.  Configure TACACS Command Sets
7.  Configure the Device Admin Policy Set
8.  Switch / Router AAA Configuration
9.  Verification
10. FAQ

1. Introduction & Lab Environment

Centralizing control over network device access using TACACS+ has been standard practice in large enterprise networks for years. The protocol lets you define granular, command-level permissions — something RADIUS doesn’t do natively. You can build simple policies for a handful of admins, or complex rule sets that specify exactly what a junior helpdesk employee can type into a CLI session.

This guide sets up two distinct access levels:

User Type Access Level
Administrator (Employee group) Full access — any command permitted
Helpdesk (Helpdesk group) Limited access — show, ping, traceroute, logout, exit only

Lab environment used:

•  Cisco ISE version 3.1, Patch 5 — Device Administration license active
•  Cisco Catalyst C9200L-48P-4X running IOS-XE 17.6.4

⚠  Using RADIUS instead?

If your use case doesn’t require command-level authorization, RADIUS is simpler to configure. See: Cisco ISE — Configuring RADIUS Authentication for Device Administration.

2. Enable Device Admin Service on PSN Nodes

The Device Admin service isn’t enabled by default. Before anything else, it needs to be turned on at the Policy Service Node (PSN) level. You’ll do this once per PSN.

Navigation Path

Work Centers > Administration > System > Deployment > [Select PSN Node]

Select the PSN node, scroll down to Policy Service, check the box for “Enable Device Admin Service”, and click Save. Repeat this on every PSN that will serve as a TACACS+ server.

Cisco ISE - Enable Device Admin Service on PSN Node

Figure 1 — Enabling the Device Admin Service on the ISE PSN node

3. Configure General TACACS+ Settings

Navigation Path

Work Centers > Device Administration > Settings > Connection Settings

The Connection Settings page lets you configure session timeouts and — more usefully — custom Username and Password prompts. These prompts appear when an admin logs into a TACACS+-enabled device. Setting them to something recognizable (like “TAC-User” and “TAC-Pass”) makes it immediately obvious which login prompt is TACACS+.

TACACS+ custom prompt visible during Telnet login

Figure 2 — Custom TACACS+ prompt visible during a Telnet session

  Heads-up on Custom Prompts

The custom Username prompt only works over Telnet. SSH handles the username field differently and won’t display it. The custom Password prompt works for both Telnet and SSH.

Cisco ISE TACACS+ Connection Settings - custom username and password prompts

Figure 3 — Configuring custom Username and Password prompts in ISE Connection Settings

Under the Password Change Control tab, you can choose to enable or disable Telnet Password Change. Despite the name, this works for SSH sessions too.

ISE TACACS+ Enable or Disable Telnet Password Change setting

Figure 4 — Password Change Control tab in ISE TACACS+ settings

When password change is enabled, trigger it by connecting to a TACACS+-enabled device and entering a blank password. ISE will prompt for a password change from there.

TACACS+ password change prompt triggered by blank password login

Figure 5 — Password change prompt triggered by blank password entry

Active Directory note: If ISE is joined to an AD, you may need to configure additional AD settings to let the new password sync back to Active Directory. Depending on your organization’s password sync setup, you might want to leave this feature disabled entirely.

4. Add a Network Device for TACACS+

Navigation Path

Administration > Network Resources > Network Devices > Network Devices

Add or edit a network device. Give it a hostname and IP address, then check the box for TACACS Authentication Settings. Set a Shared Secret here — write it down, you’ll enter the same value into the switch later.

ISE Network Device configuration with TACACS+ Authentication Settings and Shared Secret

Figure 6 — Network Device configuration with TACACS+ Authentication Settings enabled

Click Save when done. Any device you want to authenticate against ISE via TACACS+ needs this same treatment.

5. Configure a TACACS Profile

Navigation Path

Work Centers > Device Administration > Policy Elements > Results > TACACS Profiles

Click Add and name the profile something clear — “TAC_PROFILE_PRIV15” works well. Set both Default Privilege and Maximum Privilege to 15.

You might wonder why Helpdesk users get privilege 15 if they’re supposed to have limited access. The reason: some common “show” commands — like show running-config — actually require privilege 15 to execute. Privilege level alone isn’t granular enough. The real control comes from Command Sets in the next section.

For timeouts, 60 minutes for the session timeout and 15 minutes for idle timeout is a reasonable starting point. If your NMS or monitoring system keeps persistent sessions, you may want to leave the timeout field blank.

ISE TACACS Profile TAC_PROFILE_PRIV15 with Default and Maximum Privilege set to 15

Figure 7 — TACACS Profile “TAC_PROFILE_PRIV15” with privilege level 15 and session timeouts configured

6. Configure TACACS Command Sets

Navigation Path

Work Centers > Device Administration > Policy Elements > Results > TACACS Command Sets

Two Command Sets are needed: one for Administrators and one for Helpdesk. This is where the real access control lives.

6a. PermitAllCommands — For Administrators

Click Add and name this Command Set “PermitAllCommands”. The only setting needed here is to check the box for “Permit any command that is not listed below”. That’s it — Administrators can run anything.

ISE TACACS Command Set - PermitAllCommands with Permit any command checkbox checked

Figure 8 — PermitAllCommands TACACS Command Set for Administrator accounts

6b. PermitBasicCommands — For Helpdesk

Go back to TACACS Command Sets and click Add again. Name this one “PermitBasicCommands”. This time, don’t check the permit-any box. Instead, use the Add button to add permitted commands one by one.

The configuration below permits all show commands (with any arguments), along with ping, traceroute, logout, and exit. Leaving the Arguments field blank for a command means all arguments for that command are permitted.

ISE TACACS Command Set - PermitBasicCommands with show, ping, traceroute, exit, logout permitted

Figure 9 — PermitBasicCommands TACACS Command Set for Helpdesk accounts

After creating both Command Sets, your list should look like this:

ISE TACACS Command Sets overview listing PermitAllCommands and PermitBasicCommands

Figure 10 — TACACS Command Sets overview with both entries listed

7. Configure the Device Admin Policy Set

Navigation Path

Work Centers > Device Administration > Device Admin Policy Sets

This is where everything comes together. Enter the Default Policy Set (or create a dedicated one for your device types if needed).

For Authentication Policy, use “All_UserID_Stores” to support both local ISE accounts and Active Directory accounts. This is worth thinking about: if your AD goes down and all your admins authenticate only through AD, you can end up locked out of every device. Having at least one local ISE account as a fallback is a good practice.

For Authorization Policy, create rules that match the Employee group and Helpdesk group, granting each the TAC_PROFILE_PRIV15 profile along with their respective Command Sets:

Group / Condition TACACS Profile Command Set
ISE Employee group TAC_PROFILE_PRIV15 PermitAllCommands
ISE Helpdesk group TAC_PROFILE_PRIV15 PermitBasicCommands
AD group: LAN-ACCESS-ADM TAC_PROFILE_PRIV15 PermitAllCommands
ISE Device Admin Policy Set with Authentication and Authorization rules for Employee and Helpdesk groups

Figure 11 — Device Admin Policy Set showing Authentication and Authorization policies for all user groups

8. Switch / Router AAA Configuration

With ISE configured, the network device needs to be told to use TACACS+ for authentication and authorization. Below is a minimal working configuration for Cisco IOS and IOS-XE devices:

! Define the TACACS+ server tacacs server ISE-SERVER address ipv4 <ISE-IP-ADDRESS> key <SHARED-SECRET> ! Create a server group aaa group server tacacs+ ISE-GROUP server name ISE-SERVER ! Enable AAA aaa new-model ! Authentication aaa authentication login default group ISE-GROUP local aaa authentication enable default group ISE-GROUP enable ! Authorization aaa authorization exec default group ISE-GROUP local aaa authorization commands 15 default group ISE-GROUP local ! Accounting aaa accounting exec default start-stop group ISE-GROUP aaa accounting commands 15 default start-stop group ISE-GROUP ! VTY lines line vty 0 15 login authentication default authorization exec default transport input ssh ! Console line (local fallback) line con 0 login authentication default

Tip: For a more detailed breakdown of the console and VTY line configuration — including best practices around local fallback accounts and timeout settings — the article “Solid Config: Cisco AAA TACACS and Password Best Practices” on WIRES AND WI.FI covers it thoroughly. The commands above work on both IOS and IOS-XE.

9. Verification

Step 1 — Check TACACS Server Reachability on the Switch

Run this command on the switch to confirm ISE is reachable and active:

show tacacs | i Server

You should see the ISE server listed with the status “Alive”.

show tacacs command output showing ISE server as Alive

Figure 12 — Output of “show tacacs | i Server” confirming ISE server is Alive

Step 2 — Test Command Authorization

Log into the device as both an Administrator and a Helpdesk user. Try commands that should be blocked for Helpdesk. When ISE denies a command, the CLI returns:

Command authorization failed.

Terminal showing allowed show commands and denied commands for Helpdesk user

Figure 13 — Helpdesk user session showing allowed commands and denied command authorization

Step 3 — Review ISE TACACS Live Logs

Navigate to Operations > TACACS > Live Logs to see all authentication and authorization events processed by ISE. This is a separate log from the RADIUS Live Logs — make sure you’re in the right place.

✅  Successful command authorization (Administrator account)

ISE TACACS Live Log showing successful command authorization for Administrator user

Figure 14 — TACACS Live Log entry showing successful command authorization for Administrator

❌  Failed command authorization (Helpdesk account attempting unauthorized command)

ISE TACACS Live Log showing failed command authorization for Helpdesk user

Figure 15 — TACACS Live Log entry showing failed command authorization for Helpdesk user

Configuration Checklist

Step Where in ISE
☑  Enable Device Admin Service on PSN Admin > System > Deployment
☑  Configure TACACS+ Connection Settings Work Centers > Device Admin > Settings
☑  Add Network Device with Shared Secret Admin > Network Resources > Network Devices
☑  Create TACACS Profile (Priv 15) Work Centers > Device Admin > Policy Elements > TACACS Profiles
☑  Create PermitAllCommands Command Set Work Centers > Device Admin > Policy Elements > TACACS Command Sets
☑  Create PermitBasicCommands Command Set Work Centers > Device Admin > Policy Elements > TACACS Command Sets
☑  Configure Device Admin Policy Set Work Centers > Device Admin > Device Admin Policy Sets
☑  Configure AAA on Switch / Router Device CLI (IOS / IOS-XE)

10. Frequently Asked Questions

Why use TACACS+ instead of RADIUS for device administration?

TACACS+ separates authentication, authorization, and accounting into distinct processes. More importantly, it supports command-level authorization. RADIUS doesn’t do that natively. If you want to control exactly which CLI commands a user can run, TACACS+ is the right protocol.

What license does ISE need for TACACS+ device administration?

A Device Administration license is required, separate from the standard ISE Base or Mobility license. The Device Admin service won’t enable without it. Check your license status in ISE before starting the configuration.

Why set Helpdesk users to privilege 15 if they have limited access?

Some “show” commands require privilege level 15 to run — show running-config is one example. Setting the privilege to 15 for everyone and using Command Sets for the actual restriction is cleaner than trying to manage privilege levels per command. The Command Set is what does the real work.

Can TACACS+ and RADIUS be used at the same time on a Cisco device?

Yes. A common pattern is TACACS+ for device administration logins and RADIUS for 802.1X endpoint authentication. The AAA configuration on the switch specifies which protocol handles which type of authentication, so both can run side by side without conflict.

What happens if ISE goes down — do all device logins fail?

Only if you haven’t configured a local fallback. The AAA commands above include local as a fallback method, which means if ISE is unreachable, the switch will fall back to its local user database. Always keep at least one local account on the device with a strong password specifically for this scenario.

Where can I see which commands were denied in ISE?

Go to Operations > TACACS > Live Logs. Every authentication and command authorization attempt appears here, with the status (passed or failed), matched policy, and the specific command that was attempted. It’s separate from the RADIUS Live Logs.

Summary

TACACS+ in Cisco ISE gives you control that RADIUS doesn’t: you can decide exactly which commands an administrator is allowed to run, and ISE logs every attempt. The setup isn’t complicated once you understand the moving parts — Device Admin service, TACACS Profile, Command Sets, and Policy Set.

The most important operational detail is the fallback: always keep a local account on your devices and in ISE that bypasses the external identity store. External dependencies fail. When they do, you want a way back in.

  Reference

Cisco Identity Services Engine Administrator Guide, Release 3.1 — Device Administration section.
Original article: wiresandwi.fi — Cisco ISE Configuring TACACS+ Authentication for Device Administration

Tags: Cisco ISE TACACS+ Device Administration AAA Network Security Cisco IOS-XE Command Authorization