Dell Networking SONiC 用户基于角色的访问控制

摘要: 本文介绍了 Dell Networking SONiC 中基于角色的访问控制。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

什么是基于角色的访问控制?

基于角色的访问控制 (RBAC) 为访问和授权提供控制。根据定义的角色授予用户权限。管理员可以根据工作职能创建用户角色,以允许用户进行适当的系统访问。

RBAC 对每个角色的权限施加限制,以允许您对任务进行分区。
用户角色在登录时对用户进行身份验证和授权,并将用户置于 EXEC 模式。
每个用户角色分配的权限确定用户可以输入的命令以及用户可以执行的作。RBAC 提供了一种管理用户权限的高效方法。



Dell Networking SONiC 中可用的用户角色

角色 权限
Admin 管理员用户对系统具有完全读/写访问权限。这意味着它拥有对所有 show 命令、Linux shell 和配置的完全访问权限。 
运算符 操作员对系统只有有限的读取访问权限。这意味着它有权访问某些 show 命令,但无法在交换机中执行任何配置。
 
提醒:在 Dell SONiC 4.1 中,引入了两个新的用户角色,并且同一用户可以具有多个角色。
 
角色 权限
Secadmin secadmin 用户可以访问系统中的所有安全相关命令。
Netadmin netadmin 用户可以访问用于管理流经交换机的流量的配置功能。



配置语法:

配置 说明
admin@DELLSONiC:~$ sonic-cli 戴尔 SONiC CLI
DELLSONiC# configure terminal 输入配置模式。
DELLSONiC(config)# username <username> password <password> role <admin/operator/secadmin/netadmin> 配置用户名、密码和角色。 


要验证已配置用户的角色,请使用命令 show users configured。此命令显示已登录到交换机的本地配置用户和远程用户。交换机不会存储远程用户密码。
 
输出示例
DELLSONiC # show users configured
----------------------------------------------------------------------
User                              Role(s)
----------------------------------------------------------------------
admin1                            admin
oper                              operator

在 Dell SONiC 4.1 中,我们可以为单个用户配置多个角色。下面是如何为单个用户配置多个角色的示例:
DELLSONiC (config)# username testuser password testuser role operator,netadmin,secadmin
DELLSONiC(config)# exit

DELLSONiC # show users configured
----------------------------------------------------------------------
User                              Role(s)
----------------------------------------------------------------------
testuser                          netadmin,operator,secadmin


 

示例

为了说明用户角色,我们将创建两个具有不同角色的用户:

  • 为用户分配了操作员角色
  • admin1 用户分配了 admin 角色

示例配置
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# username oper password oper role operator
DELLSONiC(config)# username admin1 password admin1 role admin
 


使用 oper(即 Operator 角色)登录。

提醒:以 operator、secadmin 或 netadmin 用户身份登录时,我们被置于 Dell Management Framework CLI 中。

我们以具有操作员角色的用户 oper身份登录交换机。我们可以使用“ ?“以查看特定模式下用户角色支持的命令。

输出示例
sonic login: oper
Password:
Linux sonic 5.10.0-8-2-amd64 #1 SMP Debian 5.10.46-5 (2021-09-23) x86_64
You are on
  ____   ___  _   _ _  ____
/ ___| / _ \| \ | (_)/ ___|
\___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
|____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    http://azure.github.io/SONiC/

sonic# ?
  copy         Perform file operations
  delete       Delete the file from local filesystem
  dir          Show folder contents
  exit         Exit from the CLI
  ls           Show folder contents
  ping         Send ICMP ECHO_REQUEST to network hosts
  ping6        Send ICMPv6 ECHO_REQUEST to network hosts
  show         Display running system information
  terminal     Set terminal settings
  traceroute   Print the route packets take to the host
  traceroute6  Print the route packets take to the IPv6 host
User oper 具有操作员角色。操作员仅具有对系统的读取访问权限;因此,用户 作者 无法执行任何配置。此外,操作员不能像管理员用户一样运行所有 show 命令。

 
提醒:在 Dell Networking SONiC 4.0.5 及更早版本上,具有操作员角色的用户可以进入配置模式。但是,在配置模式下执行的任何命令都将被拒绝。

输出

示例下面的输出示例显示,在 4.0.5 中,具有操作员角色的用户可访问配置模式。但是,用户无法进行任何配置更改
DELLSONiC# show version | grep Soft
Software Version  : 4.0.5-Enterprise_Base

DELLSONiC# configure
DELLSONiC(config)# interface-naming standard 
% Error: Client is not authorized to perform this operation
DELLSONiC(config)# hostname test
% Error: Client is not authorized to perform this operation
DELLSONiC(config)# exit
DELLSONiC# clear logging 
DELLSONiC# show logging count

DELLSONiC# show users
oper     ttyS0        2023-08-02 21:03

 

此行为在 4.1 中已修改,其中拒绝操作员角色用户进入配置模式。

DELLSONiC# show version | grep Soft
Software Version  : 4.1.0-Enterprise_Base

DELLSONiC# configure
         ^
% Error: Invalid input detected at "^" marker.

DELLSONiC# show users 
oper ttyS0 2023-08-02 22:10



使用 admin1(即管理员角色)登录。

提醒:以管理员用户身份登录时,我们位于 Linux shell 中。提示符为 admin@sonic:~$。我们必须使用命令 sonic-cli 访问 Dell Management Framework CLI。

输出示例
Debian GNU/Linux 10 DELLSONiC ttyS0

DELLSONiC login: admin1
Password: 
admin1@DELLSONiC:~$ sonic-cli
DELLSONiC# show version | grep Soft
Software Version  : 4.0.5-Enterprise_Base

DELLSONiC# show audit-log
Aug 02 21:06:01.052692+00:00 2023 DELLSONiC INFO mgmt-framework#clish[146]: User "admin1" command "startup" status - success
Aug 02 21:05:53.366544+00:00 2023 DELLSONiC INFO login[27960]: pam_unix(login:session): session opened for user admin1 by LOGIN(uid=0)
Aug 02 21:05:46.787657+00:00 2023 DELLSONiC INFO systemd[1]: Stopped Serial Getty on ttyS0.
Aug 02 21:05:46.203662+00:00 2023 DELLSONiC INFO login[4203]: pam_unix(login:session): session closed for user oper
Aug 02 21:05:45.855977+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "exit" status - success
Aug 02 21:05:09.966551+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "show users" status - success
Aug 02 21:04:52.730615+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "show audit-log" status - failure
Aug 02 21:04:46.843617+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "show logging count" status - success
Aug 02 21:04:43.031486+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "clear logging" status - success
Aug 02 21:04:39.074016+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "exit" status - success
Aug 02 21:04:26.504755+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "hostname DeLLSoNiC" status - failure
Aug 02 21:04:11.674915+00:00 2023 DELLSONiC INFO mgmt-framework#clish[134]: User "oper" command "interface-naming standard" status - failure



使用错误的凭据登录:

现在,让我们使用具有管理员角色的 admin1 用户的错误凭据登录。

输出示例
DELLSONiC login: admin1
Password:                            ==========>Wrong password is given

Login incorrect
DELLSONiC login: admin1
Password: 
Last login: Wed Aug  2 21:05:53 UTC 2023 on ttyS0
Linux DELLSONiC 4.19.0-9-2-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64
You are on
  ____   ___  _   _ _  ____
/ ___| / _ \| \ | (_)/ ___|
\___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
|____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    http://azure.github.io/SONiC/
**Note the login failure for admin1
admin1@DELLSONiC:~$ sonic-cli

DELLSONiC# show audit-log
Aug 02 21:07:28.896480+00:00 2023 DELLSONiC INFO mgmt-framework#clish[155]: User "admin1" command "startup" status - success
Aug 02 21:07:20.219496+00:00 2023 DELLSONiC INFO login[7169]: pam_unix(login:session): session opened for user admin1 by LOGIN(uid=0)
Aug 02 21:07:12.635575+00:00 2023 DELLSONiC NOTICE login[7169]: FAILED LOGIN (1) on '/dev/ttyS0' FOR 'admin1', Authentication failure
Aug 02 21:07:08.763918+00:00 2023 DELLSONiC NOTICE login[7169]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/ttyS0 ruser= rhost=  user=admin1

其他信息

请参阅此视频:

SONiC 基于角色的访问控制 (RBAC)

持续时间:00:03:27 (hh:mm:ss)
如果可用,可以使用此视频播放器上的 CC 图标选择隐藏式字幕(字幕)语言设置。

您也可以在 YouTube 上观看此视频。

 

受影响的产品

Enterprise SONiC Distribution, PowerSwitch E3200-ON Series, Dell EMC Networking N3200-ON, PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9100-ON, PowerSwitch Z9264F-ON , PowerSwitch Z9332F-ON, PowerSwitch Z9432F-ON ...
文章属性
文章编号: 000216535
文章类型: How To
上次修改时间: 05 1月 2026
版本:  9
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。