什么是适用于 Linux 的微软单点登录?

适用于 Linux 的 Microsoft 单一登录(SSO)由 Microsoft Identity Broker 提供支持,它是将 Linux 设备与 Microsoft Entra ID 集成的软件组件。 此解决方案使用户能够使用其Microsoft Entra ID凭据进行身份验证一次,并且无需重复身份验证提示即可访问多个应用程序和资源。 此功能简化了用户的登录过程,并减少了管理员的密码管理开销。

特点

此功能使 Linux 桌面客户端上的用户能够在访问公司资源时向 Microsoft Entra ID 注册其设备、注册 Intune 管理并满足基于设备的条件访问策略。

  • 提供 Microsoft Entra ID 的 Linux 桌面注册和入门注册
  • 为本机和 Web 应用程序(例如,Azure CLI、Microsoft Edge、Teams PWA)提供 SSO 功能,以访问Microsoft 365和Azure受保护的资源
  • 为使用 MSAL 的 .NET 或 Python 应用程序中支持 Microsoft Entra 帐户提供单一登录(SSO),使客户能够使用 Microsoft 身份验证库(MSAL)将 SSO 集成到自定义应用程序中。
  • 启用通过Microsoft Edge保护 Web 应用程序的条件访问策略
  • 启用标准 Intune 合规性策略
  • 启用对自定义符合性策略的 Bash 脚本的支持

适用于 Linux 的 Teams 网络应用程序和渐进式 Web 应用程序 (PWA) 使用通过 Microsoft Intune 应用的条件访问配置,使 Linux 用户可以使用 Microsoft Edge 访问 Teams。

先决条件

受支持的操作系统

以下操作系统(具有 x86/64 CPU 的物理计算机或 Hyper-V 虚拟机)支持 Microsoft 单一登录 for Linux:

  • Ubuntu Desktop 24.04 LTS (长期支持)
  • Ubuntu Desktop 22.04 LTS (长期支持)
  • Red Hat Enterprise Linux 8 (长期支持)
  • Red Hat Enterprise Linux 9 (长期支持)

系统要求

  • 用于包安装和 Microsoft Entra ID 通信的 Internet 连接
  • 安装的管理权限
  • 桌面环境(GNOMEKDE 或类似)

Microsoft Entra ID要求

  • Microsoft Entra ID 租户
  • 在Microsoft Entra ID中同步或创建的用户帐户
  • 条件访问策略的适当许可(如果适用)

SSO 体验

以下动画显示了 Linux 上中转流的登录体验。

Linux 登录体验演示

注释

microsoft-identity-broker 版本 2.0.1 和早期版本目前不支持 FIPS 符合性

安装

在命令行中运行以下命令,手动在设备上安装Microsoft单一登录(microsoft-identity-broker)及其依赖项。

  1. 安装 Curl。

    sudo apt install curl gpg
    
  2. 安装Microsoft包签名密钥。

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo install -o root -g root -m 644 microsoft.gpg /usr/share/keyrings
    rm microsoft.gpg
    
  3. Microsoft Linux 存储库添加并更新到系统存储库列表。

    sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/$(lsb_release -rs)/prod $(lsb_release -cs) main" >> /etc/apt/sources.list.d/microsoft-ubuntu-$(lsb_release -cs)-prod.list'
    sudo apt update
    
  4. 安装Microsoft单一登录(microsoft-identity-broker)应用。

    sudo apt install microsoft-identity-broker
    
  5. 重新启动设备。

更新 Microsoft 标识代理

运行以下命令以手动更新 Microsoft Identity Broker。

  1. 更新包存储库和元数据。

    sudo apt update
    
  2. 升级 Microsoft Identity Broker 包。

    sudo apt upgrade microsoft-identity-broker
    

卸载Microsoft标识代理

运行以下命令以卸载 Microsoft Identity Broker 并删除本地注册数据。

  1. 从系统中删除 Microsoft Identity Broker。

    sudo apt remove microsoft-identity-broker
    
  2. 删除本地注册数据。 此命令将删除包含设备注册的本地配置数据。

    sudo apt purge intune-portal
    sudo apt purge microsoft-identity-broker
    

在 Linux 设备上启用 Phish-Resistant MFA (PRMFA)(预览版)

从 microsoft-identity-broker 版本 2.0.2 开始,Linux 设备上支持 Phish-Resistant MFA (PRMFA), 使用:

  • 智能卡
  • 基于证书的身份验证 (CBA)
  • 包含 PIV/智能卡小程序的 USB 令牌

此功能为预览版,需要额外的配置步骤才能在 Linux 设备上启用对 SmartCard/CBA 的支持。

注释

预览体验成员快速通道仅适用于 microsoft-identity-broker 及更高版本的 2.0.2

要安装 Microsoft 身份验证代理的快速预览通道:

# Enable the insiders-fast repo
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/$(lsb_release -rs)/prod insiders-fast main" >> /etc/apt/sources.list.d/microsoft-ubuntu-$(lsb_release -cs)-insiders-fast.list'

sudo apt update

# Install or upgrade microsoft-identity-broker from the enabled repo
sudo apt install microsoft-identity-broker

智能卡身份验证

智能卡身份验证通过引入存储用户证书的物理令牌来扩展基于证书的方法。 将卡片插入读取器后,系统将检索证书并执行验证。

配置智能卡支持涉及设置必要的库和模块,以使用物理令牌启用基于证书的身份验证。 可以使用各种智能卡解决方案,例如 YubiKey,它可以与各种 Linux 分发版集成。 有关两个受支持平台的说明,请参阅分发文档:

智能卡配置示例

以下步骤用于配置一个使用 YubiKey/Edge 桥接集成的参考示例,其他智能卡提供商也可以采用类似的方法进行配置。

  1. 安装智能卡驱动程序和 YubiKey 支持:

    sudo apt install pcscd yubikey-manager
    
  2. 安装 YubiKey/Edge Bridge 组件:

    sudo apt install opensc libnss3-tools openssl
    
  3. 为当前用户配置网络安全服务 (NSS) 数据库:

    mkdir -p $HOME/.pki/nssdb
    chmod 700 $HOME/.pki
    chmod 700 $HOME/.pki/nssdb
    modutil -force -create -dbdir sql:$HOME/.pki/nssdb
    modutil -force -dbdir sql:$HOME/.pki/nssdb -add 'SC Module' -libfile /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so
    

基于证书的身份验证

基于证书的客户端身份验证是通过安全套接字层 (TLS/SSL) 协议实现的。 在此过程中,客户端使用其私钥对随机生成的数据块进行签名,然后将证书和签名的数据传输到服务器。 服务器在授予访问权限之前检查签名并验证证书。

配置 Certificate-Based 身份验证(CBA)的最简单方法是使用向 Linux 设备颁发用户证书的私钥基础结构(PKI)解决方案。 然后,这些证书可用于针对Microsoft Entra ID进行身份验证。 若要将 Linux 配置为接受这些证书进行身份验证,通常需要设置相应的证书存储,并确保系统身份验证机制配置为使用这些证书。


有关详细信息,请参阅以下 Intune 文档: