|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
SAML (ADFS)
设置 ADFS 和 SUSE® Security 集成
本节首先描述 ADFS 的设置步骤,然后在 SUSE® Security 控制台中进行设置。
ADFS 设置
-
在 AD FS 管理中,右键单击 “Relying Party Trusts” 并选择 “Add Relying Party Trust…”。

-
从欢迎步骤中选择 “Start” 按钮。

-
选择 “Enter data about the relying party manually” 并选择 “Next”。

-
在显示名称字段中输入一个唯一名称,并选择 “Next”。

-
选择 “Next” 以跳过令牌加密。

-
检查 “Enable support for the SAML 2.0 WebSSO protocol”,并将 SAML 重定向 URI 从 SUSE® Security 设置 > SAML 设置页面输入到 “Relying party SAML 2.0 SSO service URL” 字段中。 选择 “Next” 以继续。

-
将相同的 SAML 重定向 URI 输入到 “Relying party trust identifier” 字段中,然后点击 “Add”;然后选择 “Next” 以继续。

-
自定义访问控制;然后选择 “Next” 以继续。

-
选择 “Next” 以继续。

-
选择 “Close” 以完成。
-
选择编辑声明发布策略 …

-
选择 “Add Rule…” 并选择 “Send LDAP Attributes as Claims”;然后选择 “Next”。 命名规则并选择 Active Directory 作为属性存储。如果默认角色已设置,则仅需要用户名的外发声明进行身份验证;否则需要组进行角色映射。 电子邮件为可选项。
-
SAM-账户名称 → 用户名
-
电子邮件地址 → 邮箱
-
令牌组 — 未限定名称 → 组

-
-
选择 “Add Rule…” 并选择 “Transform an Incoming Claim”;然后选择 “Next”。 命名规则并将字段设置为如下截图所示。 外发名称 ID 格式需要为临时标识符。

SUSE® Security 设置
-
身份提供者单点登录 URL
-
从 AD FS 管理 > 服务查看端点并使用 “SAML 2.0/WS-Federation” 端点 URL。
-
示例:
https://<adfs-fqdn>/adfs/ls
-
-
身份提供者发行者
-
在 AD FS 管理控制台中右键单击 AD FS 并选择 “Edit Federation Service Properties…”;使用 “Federation Service identifier”。
-
示例:
http://<adfs-fqdn>/adfs/services/trust
-
-
X.509 证书
-
从 AD FS 管理中选择服务 > 证书,右键单击令牌签名证书并选择 “View Certificate…”
-
选择详细信息选项卡并点击 “Copy to File”
-
将其保存为 Base-64 编码的 x.509 (.CER) 文件
-
将文件的内容复制并粘贴到 X.509 证书字段中
-
-
组声明
-
输入组的外发声明名称
-
示例:组
-
-
默认角色
-
建议设置为 “None”,除非您希望允许任何经过身份验证的用户拥有默认角色。
-
-
角色映射
-
为适当的角色设置用户的组名。 (请参见下面的屏幕截图示例。)

-
将组映射到角色和名称空间
请参阅 用户和角色 部分,了解如何将组映射到预设和自定义角色以及 SUSE® Security 中的命名空间。
查错
-
ADFS SamlResponseSignature 需要是 MessageOnly 或 MessageAndAssertion。 使用 Get-AdfsRelyingPartyTrust 命令来验证或更新它。

-
Kubernetes 节点与 ADFS 服务器之间的时间同步
为了成功认证,Kubernetes 节点与 ADFS 服务器之间的时间需要保持一致,以避免时间同步或时钟漂移问题。
建议使用 NTP 服务器,并确保所有服务器的时间设置相同。
请检查并确认 ADFS 和 SUSE® Security 主机都已同步,潜在延迟不超过 10 秒。您可以使用 Linux 和 Windows 命令检查日期、时间和 NTP 服务器活动。
|
您可以通过在 SUSE® Security 界面中禁用并重新启用配置来重新加载认证时间,如下所示:
一旦设置重新启用,您可以尝试使用 ADFS 用户登录。如果成功,这确认问题是由于 Kubernetes 节点与 ADFS 服务器之间的时间同步错误。 |
-
SAML字符在SUSE® Security UI中必须区分大小写。
属性名称区分大小写。确保在此配置的任何SAML属性名称与应用程序配置完全匹配。SAML必须指向正确的URL以进行身份验证。
`SUSE® Security UI → Settings → SAML Settings`中的所有字段均区分大小写。
SUSE® Security控制器日志包含有关与 ADFS 服务器身份验证的相关信息和错误,这将有助于识别根本原因。我们建议重新创建失败的登录条件并检查日志。
-
确保输入正确的组、证书和协议。
SAML设置需要与以下配置匹配:
设置 值 身份提供者单点登录 URL
需要HTTPS协议。
身份提供者发行者
需要HTTP协议。
ADFS SamlResponseSignature
需要是MessageOnly或MessageAndAssertion。
|
这些设置需要在您的ADFS服务器和SUSE® Security UI中进行验证。 |
所选证书需要有效且正确生成,包括其`CA Root`和`Intermediate Certificates`。您可以使用受信任的证书颁发机构、Windows或自动化工具生成它们,例如 LetsEncrypt。
如果这些参数中的任何一个不正确,当您尝试使用SAML身份验证的ADFS用户登录SUSE® Security时,将收到`Authentication Failed`错误。