使用 Microsoft Entra ID 为 Smallstep SSH 配置自动用户预配

本文介绍在 Smallstep SSH 和 Microsoft Entra ID 中配置自动用户预配所需的步骤。 配置后,Microsoft Entra ID 会使用 Microsoft Entra 预配服务自动将用户和组预配到 Smallstep SSH 以及取消预配。 有关此服务的具体作用、工作原理以及常见问题的详细信息,请参阅 使用 Microsoft Entra ID 自动为 SaaS 应用程序进行用户预配和取消预配

支持的功能

  • 在 Smallstep SSH 中创建用户
  • 当用户不再需要访问权限时,请删除 Smallstep SSH 中的用户
  • 使用户属性在 Microsoft Entra ID 和 Smallstep SSH 之间保持同步
  • 在 Smallstep SSH 中预配组和组成员身份
  • 单一登录到 Smallstep SSH(推荐)

先决条件

本文中概述的方案假定你已具备以下先决条件:

步骤 1:规划预配部署

  1. 了解 预配服务的工作原理
  2. 确定哪些对象在预配范围内。
  3. 确定在 Microsoft Entra ID 与 Smallstep SSH 之间映射的数据。

步骤 2:配置 Smallstep SSH 以支持使用 Microsoft Entra ID 进行预配

  1. 登录到 Smallstep SSH 帐户。

  2. 导航到“用户”选项卡并选择“Microsoft Entra ID”作为标识提供者。

  3. 在下一页上,提供“Microsoft Entra 租户 ID”和允许列表以配置 OIDC。

  4. 在“SCIM 详细信息”下,复制并保存 SCIM“租户 URL”和“机密令牌” 。 这些值在 Smallstep SSH 应用程序的“预配”选项卡中的 “租户 URL ”和“ 机密令牌 ”字段中输入。

注意! 需要通过 Active Directory 组授予对 Smallstep 托管主机的访问权限。 例如,你可能有一个 ssh 用户组和一个 sudo 用户组。 若要详细了解访问控制,请参阅 Microsoft Entra 快速入门主机快速入门指南

从 Microsoft Entra 应用程序库添加 Smallstep SSH,开始管理 Smallstep SSH 的预配。 如果以前为 SSO 设置过 Smallstep SSH,则可以使用同一应用程序。 但是,我们建议在最初测试集成时创建单独的应用。 在此处 了解有关如何从图库添加应用程序的详细信息。

步骤 4:定义谁在预配范围内

通过Microsoft Entra 预配服务,你可以根据应用程序分配或用户或组的属性来限定预配的人员的范围。 如果您选择根据分配范围决定将哪些人员预配到您的应用程序,您可以使用 步骤将用户和组分配到应用程序中。 如果选择仅根据用户或组的属性来限定预配的人员,则可以 使用范围筛选器

  • 从小开始。 在向所有人推出之前,先使用一小部分用户和组进行测试。 将预配范围设置为已分配的用户和组时,可以通过向应用分配一两个用户或组来控制此设置。 将范围设置为所有用户和组时,可以指定 基于属性的范围筛选器

  • 如果需要额外的角色,可以 更新应用程序清单 以添加新角色。

步骤 5:配置 Smallstep SSH 的自动用户预配

本部分逐步介绍了如何配置 Microsoft Entra 预配服务,以根据 Microsoft Entra ID 中的用户和/或组分配在 Smallstep SSH 中创建、更新和禁用用户和/或组。

若要在 Microsoft Entra ID 中为 Smallstep SSH 配置自动用户预配,请执行以下操作:

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 转到 Entra ID>企业应用

    企业应用程序界面

  3. 在应用程序列表中,选择“Smallstep SSH”。

    应用程序列表中的 Smallstep SSH 链接

  4. 选择“预配”选项卡。

    “预配”选项卡

  5. 将“预配模式”设置为“自动”。

    “预配”选项卡自动化

  6. 在“管理员凭据”部分,输入 Smallstep SSH 租户 URL 和机密令牌。 选择 “测试连接 ”以确保Microsoft Entra ID 可以连接到 Smallstep SSH。 如果连接失败,请确保 Smallstep SSH 帐户具有管理员权限,然后重试。

    令牌

  7. “通知电子邮件 ”字段中,输入应接收预配错误通知的人员或组的电子邮件地址,并在 发生故障时选中“发送电子邮件通知 ”复选框。

    通知电子邮件

  8. 选择“保存”

  9. 在“映射”部分下,选择“将 Microsoft Entra 用户同步到 Smallstep SSH”。

  10. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 Smallstep SSH 的用户属性。 选为“匹配”属性的特性用于匹配 Smallstep SSH 中的用户帐户以执行更新操作。 如果选择更改 匹配的目标属性,则需要确保 Smallstep SSH API 支持基于该属性筛选用户。 选择“保存”按钮以提交任何更改 。

    特征 类型 支持筛选
    用户名 字符串
    活跃 布尔型
    显示名称 字符串
    emails[type eq "工作"].value 字符串
    名字.给定名 字符串
    姓名.姓氏 字符串
  11. 在“映射”部分下,选择“将 Microsoft Entra 组同步到 Smallstep SSH”。

  12. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 Smallstep SSH 的组属性。 选为“匹配”属性的特性用于匹配 Smallstep SSH 中的组以执行更新操作。 选择“保存”按钮以提交任何更改 。

    特征 类型 支持筛选
    显示名称 字符串
    成员 参考文献
  13. 若要配置范围筛选器,请参阅 范围筛选器文章中提供的以下说明。

  14. 若要为 Smallstep SSH 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“”。

    预配状态已切换为开启

  15. 通过在“设置”部分的“范围”中选择所需的值,定义要预配到 Smallstep SSH 的用户和/或组 。

    预配范围

  16. 准备好预配时,选择“保存”。

    保存预配配置

此作启动“设置”部分中“作用域”中定义的所有用户和组的初始同步周期。 初始周期的执行时间比后续周期要长,而在 Microsoft Entra 预配服务运行期间,后续周期大约每 40 分钟发生一次。

第6步:监控您的部署

配置预配后,请使用以下资源来监视部署:

  1. 使用 预配日志 确定哪些用户已成功或未成功预配
  2. 检查 进度栏 以查看预配周期的状态及其完成程度
  3. 如果预配配置似乎处于不正常状态,则应用程序进入隔离状态。 您可以在应用程序预配隔离状态一文中了解有关隔离状态的更多信息。

其他资源