Authorization

This scenario shows how to set up per-command authorization.

Tacacs Method Privileged User

Description

A TACACS+ server configured to deny the show date command and allow everything else is added to a TACACS+ group, which is added to an AAA list. This list is assigned to CLI’s command authorization. Whenever a user attempts to run a command, this is sent to the server and is only executed when authorized to do so.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.215.168.64/24
set system aaa group tacacs tacgroup1 server serv1
set system aaa list list1 method 1 group tacacs tacgroup1
set system aaa server tacacs serv1 address 10.215.168.1
set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1/duXQWrZp+0d9GM7JQIRANbSl2yWaV4SM=
set system cli aaa authorization list1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set system login user testadmin authentication encrypted-password '$6$9I45xt9FrnLbA6Su$II4xOeFTYcDtJhgfc6csci0.BLIT0Tt27PDKbzUqFVHw0GtXTNCZ0lYgouFSUYfeovAA3G5G5rlgWEK.QmF9//'
set system login user testadmin role admin

Step 2: Ping IP address 10.215.168.1 from DUT0:

admin@DUT0$ ping 10.215.168.1 count 1 size 56 timeout 1
Show output
PING 10.215.168.1 (10.215.168.1) 56(84) bytes of data.
64 bytes from 10.215.168.1: icmp_seq=1 ttl=64 time=1.93 ms

--- 10.215.168.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.931/1.931/1.931/0.000 ms

Step 3: Run command show version at DUT0 and expect this output:

Show output
OS vendor:                 Teldat
OS name:                   OSDx
OS version:                202503211214.a3e79e6-master-snapshot
OS Linux kernel:           6.1.128
OS built by:               jenkins@daphne
OS build date:             Fri Mar 21 12:03:06 UTC 2025
OS installation:           physical
OS boot mode:              user
License:                   VM_BASE Firewall eth-Rate-Permit-Full

Hardware vendor:           QEMU
Hardware model:            VM
Hardware OEM model:        Standard PC (i440FX + PIIX, 1996)
Hardware version:          pc-i440fx-5.2
Hardware UUID:             f7686e6c-6b42-5e91-a0f3-4fb1819a4502
Hardware architecture:     amd64
Hardware fwid:             iso
Hardware base MAC:         de:ad:be:ef:6c:00
Hardware cpu:              4 x QEMU Virtual CPU version 2.5+ (4 cores)

Last reboot reason:        Panic

Date:                      Fri 21 Mar 2025 21:57:53 +00:00
Uptime:                    1:27:18
CPU load (1m, 5m, 15m):    0.41 0.32 0.29
CPU usage % (1m):          22.25
Storage usage (kB):        370464/8144384
Memory usage (kB):         380544/1570512
Users logged in:           1
Mode (current/next boot):  user/user

Hostname:                  osdx

Step 4: Run command show date at DUT0 and expect this output:

Show output
CLI Error: Unauthorized

Note

Commands are expanded before being sent to the authorization server

Step 5: Run command sh da at DUT0 and expect this output:

Show output
CLI Error: Unauthorized

Step 6: Run command show running at DUT0 and expect this output:

Show output
# Teldat OSDx VM version 202503211214.a3e79e6-master-snapshot
# Fri 21 Mar 2025 21:57:54 +00:00
# Warning: Configuration has not been saved
set interfaces ethernet eth0 address 10.215.168.64/24
set system aaa group tacacs tacgroup1 server serv1
set system aaa list list1 method 1 group tacacs tacgroup1
set system aaa server tacacs serv1 address 10.215.168.1
set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1/duXQWrZp+0d9GM7JQIRANbSl2yWaV4SM=
set system cli aaa authorization list1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set system login user testadmin authentication encrypted-password '$6$9I45xt9FrnLbA6Su$II4xOeFTYcDtJhgfc6csci0.BLIT0Tt27PDKbzUqFVHw0GtXTNCZ0lYgouFSUYfeovAA3G5G5rlgWEK.QmF9//'
set system login user testadmin role admin

Tacacs Method Non-Privileged User

Description

In this case, the same scenario is tested but with a non-privileged user called testmonitor.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.215.168.64/24
set system aaa group tacacs tacgroup1 server serv1
set system aaa list list1 method 1 group tacacs tacgroup1
set system aaa server tacacs serv1 address 10.215.168.1
set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1+7G5wUy6LvcS3Bz+0DSwrYtM2/j/950mk=
set system cli aaa authorization list1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set system login user testmonitor authentication encrypted-password '$6$9xdLLIgFV31fKQPV$ydYXakqABI156oMqv9KCtqJKApRG3l1s8EIjQq7So0a/caBsAI1azv3WUIGHyFCr0g7/OPfaz.EZ5chCvVAwk.'
set system login user testmonitor role monitor

Step 2: Ping IP address 10.215.168.1 from DUT0:

admin@DUT0$ ping 10.215.168.1 count 1 size 56 timeout 1
Show output
PING 10.215.168.1 (10.215.168.1) 56(84) bytes of data.
64 bytes from 10.215.168.1: icmp_seq=1 ttl=64 time=2.28 ms

--- 10.215.168.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.279/2.279/2.279/0.000 ms

Step 3: Run command show version at DUT0 and expect this output:

Show output
OS vendor:                 Teldat
OS name:                   OSDx
OS version:                202503211214.a3e79e6-master-snapshot
OS Linux kernel:           6.1.128
OS built by:               jenkins@daphne
OS build date:             Fri Mar 21 12:03:06 UTC 2025
OS installation:           physical
OS boot mode:              user
License:                   VM_BASE Firewall eth-Rate-Permit-Full

Hardware vendor:           QEMU
Hardware model:            VM
Hardware OEM model:        Standard PC (i440FX + PIIX, 1996)
Hardware version:          pc-i440fx-5.2
Hardware UUID:             f7686e6c-6b42-5e91-a0f3-4fb1819a4502
Hardware architecture:     amd64
Hardware fwid:             iso
Hardware base MAC:         de:ad:be:ef:6c:00
Hardware cpu:              4 x QEMU Virtual CPU version 2.5+ (4 cores)

Last reboot reason:        Panic

Date:                      Fri 21 Mar 2025 21:58:21 +00:00
Uptime:                    1:27:45
CPU load (1m, 5m, 15m):    0.32 0.30 0.28
CPU usage % (1m):          19.67
Storage usage (kB):        370468/8144384
Memory usage (kB):         398012/1570512
Users logged in:           1
Mode (current/next boot):  user/user

Hostname:                  osdx

Step 4: Run command show date at DUT0 and expect this output:

Show output
CLI Error: Unauthorized

Step 5: Run command show running at DUT0 and expect this output:

Show output
CLI Error: Insufficient privileges