Skip to content

AAA

AAA (Authentication, Authorization, and Accounting) on NX-OS encompasses TACACS+ server integration for centralized device management access and local user account management with role-based access control. TACACS+ configuration includes shared secret keys with encryption, timeout/retry/deadtime settings, source interface binding, individual server definitions with per-server authentication protocols (PAP, CHAP, MSCHAP, MSCHAPv2, ASCII), idle-time testing, and server groups with VRF-aware source interfaces. User management provides password strength policies, secure mode, passphrase length/lifetime/gracetime/warntime constraints, maximum concurrent login sessions, and individual user accounts with role assignments, password encryption types (clear, encrypt, pbkdf2, scrypt), account expiration, and shell type selection.

Diagram
NameTypeConstraintMandatoryDefault Value
aaaClass[aaa]No

NameTypeConstraintMandatoryDefault Value
tacacsClass[tacacs]No
usersClass[users]No

NameTypeConstraintMandatoryDefault Value
deadtimeIntegermin: 0, max: 1440No
descriptionStringNo
keyStringNo
key_encryptionChoice0, 6, 7No
retriesIntegermin: 0, max: 5No
source_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
source_interface_idStringNo
timeoutIntegermin: 1, max: 60No
serversList[servers]No
server_groupsList[server_groups]No

NameTypeConstraintMandatoryDefault Value
password_strength_checkBooleantrue, falseNo
password_secure_modeBooleantrue, falseNo
service_password_recoveryBooleantrue, falseNo
max_loginsIntegermin: 0, max: 7No
descriptionStringNo
userpassphraseClass[userpassphrase]No
accountsList[accounts]No

servers (nxos.devices.configuration.aaa.tacacs)

Section titled “servers (nxos.devices.configuration.aaa.tacacs)”
NameTypeConstraintMandatoryDefault Value
hostStringYes
descriptionStringNo
authentication_protocolChoicepap, chap, mschap, mschapv2, asciiNo
keyStringNo
key_encryptionChoice0, 6, 7No
test_idle_timeIntegermin: 0, max: 1440No
test_passwordStringNo
test_password_typeChoice0, 7No
test_usernameStringNo
portIntegermin: 1, max: 65535No
retriesIntegermin: 0, max: 5No
single_connectionBooleantrue, falseNo
timeoutIntegermin: 0, max: 60No

server_groups (nxos.devices.configuration.aaa.tacacs)

Section titled “server_groups (nxos.devices.configuration.aaa.tacacs)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
descriptionStringNo
deadtimeIntegermin: 0, max: 1440No
source_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
source_interface_idStringNo
vrfStringNo

userpassphrase (nxos.devices.configuration.aaa.users)

Section titled “userpassphrase (nxos.devices.configuration.aaa.users)”
NameTypeConstraintMandatoryDefault Value
min_lengthIntegermin: 0, max: 65535No
max_lengthIntegermin: 0, max: 65535No
default_lifetimeIntegermin: 0, max: 99999No
default_gracetimeIntegermin: 0, max: 99999No
default_warntimeIntegermin: 0, max: 99999No
sequence_alphabet_lengthIntegermin: 0, max: 10No
sequence_keyboard_lengthIntegermin: 0, max: 10No
min_uniqueIntegermin: 0, max: 10No

accounts (nxos.devices.configuration.aaa.users)

Section titled “accounts (nxos.devices.configuration.aaa.users)”
NameTypeConstraintMandatoryDefault Value
usernameStringYes
descriptionStringNo
account_statusBooleantrue, falseNo
allow_expiredBooleantrue, falseNo
clear_password_historyBooleantrue, falseNo
emailStringNo
expirationStringNo
expiresBooleantrue, falseNo
first_nameStringNo
forceBooleantrue, falseNo
last_nameStringNo
passwordStringNo
password_encryption_typeChoiceclear, encrypt, pbkdf2, scrypt, unspecifiedNo
password_hashChoiceunspecified, pbkdf2, scryptNo
phoneStringNo
shell_typeChoicevsh, bashNo
unix_user_idIntegermin: 99, max: 15999No
rolesList[roles]No

roles (nxos.devices.configuration.aaa.users.accounts)

Section titled “roles (nxos.devices.configuration.aaa.users.accounts)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
descriptionStringNo
privilege_typeChoiceno-data-priv, read-priv, write-privNo

Example 1: TACACS+ with single server and basic user account

nxos:
devices:
- name: LEAF1
configuration:
aaa:
tacacs:
timeout: 5
deadtime: 10
source_interface_type: mgmt
source_interface_id: "0"
servers:
- host: 10.50.100.10
description: Primary TACACS Server
key: "T@c@csK3y!"
key_encryption: "7"
users:
password_strength_check: true
accounts:
- username: admin
description: Network Admin
password: "N3tw0rkAdm!n"
password_encryption_type: scrypt
roles:
- name: network-admin

Example 2: Redundant TACACS+ with server group and multiple user accounts with RBAC

nxos:
devices:
- name: SPINE1
configuration:
aaa:
tacacs:
timeout: 5
deadtime: 15
source_interface_type: mgmt
source_interface_id: "0"
key: "Gl0b@lT@c@cs"
key_encryption: "7"
servers:
- host: 10.50.100.10
description: Primary TACACS Server
timeout: 3
- host: 10.50.100.11
description: Secondary TACACS Server
timeout: 3
server_groups:
- name: TACACS_SERVERS
description: Production TACACS+ Server Group
vrf: management
source_interface_type: mgmt
source_interface_id: "0"
users:
password_strength_check: true
password_secure_mode: true
max_logins: 4
accounts:
- username: admin
description: Primary Admin
password: "S3cur3P@ss!"
password_encryption_type: scrypt
roles:
- name: network-admin
- username: noc-operator
description: NOC Read-Only Operator
password: "N0cR3@d0nly!"
password_encryption_type: scrypt
roles:
- name: network-operator
privilege_type: read-priv
- username: backup-svc
description: Backup Service Account
password: "B@ckupSvc2025!"
password_encryption_type: scrypt
shell_type: bash
roles:
- name: network-operator

Example 3: Full AAA with authentication protocols, idle testing, passphrase policy, and account expiration

nxos:
devices:
- name: BORDER-LEAF1
configuration:
aaa:
tacacs:
timeout: 5
deadtime: 20
retries: 2
source_interface_type: mgmt
source_interface_id: "0"
key: "F@br!cT@c@cs"
key_encryption: "7"
servers:
- host: 10.50.100.10
description: DC1 Primary TACACS Server
authentication_protocol: chap
single_connection: true
test_idle_time: 5
test_username: test
test_password: "t3stP@ss"
test_password_type: "7"
- host: 10.50.100.11
description: DC1 Secondary TACACS Server
authentication_protocol: chap
single_connection: true
test_idle_time: 5
test_username: test
test_password: "t3stP@ss"
test_password_type: "7"
server_groups:
- name: TACACS_PRIMARY
description: Primary TACACS+ Server Group
vrf: management
source_interface_type: mgmt
source_interface_id: "0"
deadtime: 10
- name: TACACS_FALLBACK
description: Fallback TACACS+ Server Group
vrf: management
source_interface_type: mgmt
source_interface_id: "0"
users:
password_strength_check: true
password_secure_mode: true
userpassphrase:
min_length: 12
max_length: 127
default_lifetime: 180
default_gracetime: 7
default_warntime: 14
sequence_alphabet_length: 3
sequence_keyboard_length: 3
max_logins: 3
accounts:
- username: admin
description: Primary Admin
password: "Adm!nP@ss2025"
password_encryption_type: scrypt
roles:
- name: network-admin
- username: auditor
description: Security Auditor
password: "Aud!t0rAcc3ss"
password_encryption_type: scrypt
expires: true
expiration: "2026-12-31"
roles:
- name: network-operator
privilege_type: read-priv