你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Method D v2.0 进行破窗访问是管理员授予对关键网络结构设备的紧急安全访问的一种简化方法。 本指南逐步讲解如何设置和使用破窗访问,包括生成 SSH 密钥、授予权限和访问网络结构设备。
方法 D v2.0 还支持将角色分配给 Entra 组,通过利用基于组的角色分配简化紧急访问的管理。
使用 Nexusidentity Azure CLI 生成 SSH 密钥
若要从破窗标识和访问管理 (IAM) 配置开始,需要使用 Nexusidentity 扩展设置 SSH 密钥。 确保已安装和更新下述先决条件。
先决条件
- 按照文章所述设置 Method D v2.0。
- 具有 PowerShell 的 Windows 计算机或具有 bash 终端的 Linux 计算机。
- OpenSSH:版本 9.4 或更高版本。
- Python:版本 3.11 或更高版本(64 位)。
- Azure CLI:版本 2.61 或更高版本(64 位)。
- Managednetworkfabric 扩展:7.0.0
- Nexusidentity 扩展:1.0.0b4 或更高版本。
- YubiKey 固件版本:必须为 5.2.3 或更高版本。
- 启用长路径:- 必须启用 Windows 长路径支持 。请参阅。
- Microsoft身份验证库 (MSAL) 版本:1.31.2b1
- azure-mgmt-resource:23.1.1
基于组的角色分配的先决条件和设置
创建安全组:定义包括需要 BreakGlass 访问权限的用户的 Entra 安全组。 将角色分配给组:将 BreakGlass 角色分配给安全组而不是单个用户。
安装 Nexusidentity 扩展和生成 SSH 密钥的步骤
- 启用长路径 (仅限 Windows OS)
以管理员身份运行以下 PowerShell。
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
关闭 PowerShell 终端。
- 打开 PowerShell:(仅限 Windows OS)
注意
对此过程使用非管理模式。
更新 Azure CLI:
运行以下命令,将 Azure CLI 更新到最新版本:
az upgrade
安装 Nexusidentity 扩展:
添加 Nexusidentity 扩展
az extension add --name nexusidentity
使用 Nexusidentity 扩展生成 SSH 密钥:
a。 下载 Yubico 密钥管理器,重置 YubiKey 进行初始设置。
b. 将 YubiKey 附加到计算机。
选项c. 登录到 Azure:
az login
d。 运行以下命令以生成 SSH 密钥:
az nexusidentity gen-keys
注意
Method Dv2.0 通行密钥需要 YubiKey 硬件令牌,且固件版本为 5.2.3 或更高版本。
e。 在此过程中:
如果系统提示覆盖令牌中的密钥,请按 Enter。
在弹出窗口中选择“安全密钥”,然后按照提示操作。
输入你的 YubiKey PIN,并在出现提示时触摸设备。
如果系统提示覆盖密钥,请按 Enter
如果系统提示输入通行密钥,请按 Enter。
f。 成功生成密钥后,应会看到:
Successfully uploaded public key to Microsoft Entra Id account {user.mail}
向网络结构上的 Entra 用户授予破窗权限
若要启用破窗访问,管理员可将以下角色分配给网络结构设备上的 Entra 用户。
Nexus 网络结构服务读取者:
允许用户在结构设备上执行 show 命令。
不允许访问配置模式。
Nexus 网络结构服务写入者:
- 允许 show 命令和用于修改正在运行的配置的命令。
分配这些角色后,将在指定结构实例内的所有设备上自动预配相应的用户名和 SSH 公钥。
注意
如果订阅所有者分配一个用户,即订阅范围内的网络结构服务读取者或写入者角色,则所有网络结构实例都将继承此角色分配。 因此,将为该用户授予与所有网络结构实例中的内置角色关联的特权。
注意
每 4 小时对帐一次破窗用户帐户。 若要立即对帐,请与网络结构支持团队开具支持工单。
基于组的角色分配的范围
可以在订阅或结构范围内分配角色。 但是,这些角色分配已在构造级别进行验证。 每个用户必须具备对特定模块实例的权限,这些权限可能继承自更高级别的授权(例如,订阅级别的分配)。
对于给定的结构实例,可以为多个组分配相同的 NNF 内置角色(例如,关系网络结构服务读者或写入者)。
用户限制
最多可以向 200 个用户帐户(跨所有组和个人分配)授予 BreakGlass 访问权限。 未来的版本中可能会评审此限制。 可以为构造实例分配多个组相同的角色,但 200 用户限制仍适用。
注意
不支持嵌套组。 仅考虑直接组成员身份。
对网络结构设备的破窗访问
授予权限后,用户可以使用其 FIDO-2 硬件令牌(例如 YubiKey)访问网络结构设备。 请按照以下步骤使用破窗访问。
为访问做好准备:
- 确保 FIDO-2 硬件令牌插入到计算机中。
将 SSH 与
-J
选项一起使用:- 使用
-J
选项,你可以通过跳转服务器登录并直接访问结构设备。 此过程涉及使用 SSH 密钥先后向跳转服务器和结构设备进行身份验证。
使用以下命令格式访问结构设备:
ssh -J JumpBoxUsername@JumpBoxIp EntraUsername@FabricDeviceIP
- 使用
注意
此命令使用跳转服务器作为身份验证的中介建立安全连接。
基于组的角色分配同步
将 Entra 组分配到 BreakGlass 角色后,该组中的所有用户都将在下一个同步周期中预配适当的设备访问权限。
调节流程
BreakGlass 帐户对帐每四小时进行一次,并确保 Entra 角色分配和设备访问之间的一致性:
从组中删除的用户:将撤销设备访问权限。
添加到组的用户:将预配适当的设备访问权限。
组角色分配已删除:组中的所有用户都将撤消其访问权限。
无法解决组成员身份:如果无法验证组成员身份(例如,由于 Entra API 失败或连接问题),则不会对现有设备帐户进行更改。