可以使用“身份验证”工作区在 SaltStack Config 中配置 SSO,以与兼容 SAML 协议的身份验证系统配合使用。

注: 如果需要,可以在 SaltStack Config 中同时使用多个系统对用户进行身份验证。例如,可以使用基于 SAML 的 IdP 或基于 LDAP 的 IdP,同时在 RaaS 服务器上本地存储一些用户凭据。但是, SaltStack Config 不允许同时配置两个以上的 SAML 提供程序或两个以上的 LDAP 提供程序。

关于 SAML SSO

SAML 单点登录 (SSO) 是许多组织在实施 SaltStack Config 期间配置的一项功能。SSO 具有许多优势,其中包括:

  • 缩短用户以同一身份登录到多个服务所用的时间。用户登录到某个机构中的一个服务后,会自动进行身份验证,进入使用 SSO 的任何其他服务。
  • 减少密码疲劳。用户只需记住一组凭据,而不是多组凭据。

许多服务都提供了 SAML SSO 协议的实现,包括 ADFS、OneLogin、Okta、Shibboleth、SimpleSAMLPHP、Google Suite 等。

SAML SSO 如何与 SaltStack Config 结合使用

SaltStack Config 从其支持的任何身份验证集成收到成功的身份断言时,会搜索与断言身份的值匹配的用户登录。如果找到匹配登录,则关联的用户帐户将登录。

例如,如果 SaltStack Config 收到用户的 ADFS 断言,并且配置的身份属性的值为“fred”,则 SSE 将搜索用户名为“fred”的登录。如果找到一个,则关联的用户将登录。否则,登录将失败。

SAML 身份验证术语

缩写形式 定义
SAML

安全断言标记语言(SAML,发音为 SAM-el)

SAML 是一种开放式协议(有时也称为标准),用于在双方之间交换身份验证和授权数据。特别是,用于在身份提供程序和服务提供程序之间交换数据。

SAML 是基于浏览器的单点登录 (SSO)。所有通信都通过用户代理(浏览器)进行。服务提供程序(如 SaltStack Config)与身份提供程序(如 Azure AD)之间不进行通信。这种分离允许跨安全域进行身份验证,其中服务提供程序可以位于一个域(可能为公共域)中,而身份提供程序位于单独的安全网络分段中。

IdP

身份提供程序

IdP 的工作是根据凭据识别用户。身份提供程序是一种软件,提供符合 SAML 规范中身份提供程序部分的服务。IdP 通常提供登录屏幕界面,并在身份验证成功后向服务提供程序提供有关经过身份验证的用户的信息。

身份提供程序示例:

  • ADFS
  • Azure AD
  • Google SAML
  • Shibboleth
  • Okta
  • OneLogin
  • PingFederated
  • SimpleSAMLPHP
SP

服务提供程序或依赖方

SP(服务提供程序)通常是一个向最终用户提供信息、工具、报告等的网站。服务提供程序是一种软件,提供符合 SAML 规范 SaltStack Config 中服务提供程序部分的服务。Microsoft 产品(如 Azure AD 和 ADFS)将 SP 称为依赖方。

在本情形中,SaltStack Config 是服务提供程序。SaltStack Config 接受来自 IdP 的身份验证断言并允许用户登录。

SP 无法通过 IdP 进行身份验证,除非列在经批准的服务列表中。使用经批准的 IdP 列表配置 SP 是配置过程的一部分。

SSO

单点登录

单点登录是一种身份验证系统,在该系统中,用户无需登录到第二个服务,因为有关经身份验证的用户的信息会传递给该服务。

SLO

单点注销

在用户从某服务注销时,某些 IdP 会随后将该用户从向其验证该用户身份的所有其他服务注销。

SaltStack Config 当前不支持 SLO。

RBAC

基于角色的访问控制

基于角色的访问控制(也称为基于角色的安全性)是一种高级访问控制措施,可根据组织中人员的角色限制网络访问。RBAC 中的角色指的是员工对网络的访问级别。

仅允许员工访问高效履行工作职责所必需的网络资源或执行所必需的任务。例如,如果低级别员工不需要敏感数据或网络资源履行职责,则他们通常无法访问这些敏感数据或网络资源。

SaltStack Config 可以通过“角色”工作区支持具有 SAML 的 RBAC 配置。但是,用户首先需要登录到 SaltStack Config,才能在本地用户数据库中添加为用户并通过“角色”工作区进行管理。有关详细信息,请参见配置基于 SAML 的 RBAC