本文介绍如何将 RStudio Connect SAML 身份验证与 Microsoft Entra ID 集成。 将 RStudio Connect SAML 身份验证与 Microsoft Entra ID 集成后,可以:
- 在 Microsoft Entra ID 中控制谁有权访问 RStudio Connect SAML 身份验证。
- 让用户使用其 Microsoft Entra 帐户自动登录到 RStudio Connect SAML 身份验证。
- 在中心位置管理帐户。
先决条件
本文中概述的方案假定你已具备以下先决条件:
- RStudio Connect SAML 身份验证。 有 45 天的免费评估。
方案描述
本文中,您将在测试环境中配置和测试 Microsoft Entra 的单一登录功能。
RStudio Connect SAML 身份验证支持 SP 和 IDP 发起的 SSO。
RStudio Connect SAML 身份验证支持实时用户预配。
从库中添加 RStudio Connect SAML 身份验证
若要配置 RStudio Connect SAML 身份验证与 Microsoft Entra ID 的集成,需将 RStudio Connect SAML 身份验证从库添加到托管 SaaS 应用列表。
- 以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到 Entra ID>Enterprise 应用>新应用。
- 在“从库中添加”部分的搜索框中,键入“RStudio Connect SAML 身份验证” 。
- 在结果面板中选择“RStudio Connect SAML 身份验证”,然后添加该应用。 在该应用添加到租户时等待几秒钟。
或者,也可以使用 企业应用配置向导。 在此向导中,还可以将应用程序添加到租户、将用户/组添加到应用、分配角色以及演练 SSO 配置。 详细了解Microsoft 365 向导。
配置并测试 RStudio Connect SAML 身份验证的 Microsoft Entra SSO
使用名为 B.Simon 的测试用户配置和测试 Microsoft Entra SSO 与 RStudio Connect SAML 身份验证。 若要正常使用 SSO,需要在 Microsoft Entra 用户与 RStudio Connect SAML 身份验证中的相关用户之间建立关联。
若要配置并测试 RStudio Connect SAML 身份验证的 Microsoft Entra SSO,请执行以下步骤:
-
配置 Microsoft Entra SSO - 使用户能够使用此功能。
- 创建 Microsoft Entra 测试用户 - 测试 britta Simon 的 Microsoft Entra 单一登录。
- 分配 Microsoft Entra 测试用户 - 使 Britta Simon 能够使用 Microsoft Entra 单一登录。
-
配置 RStudio Connect SAML 身份验证 SSO - 在应用端配置单一 Sign-On 配置。
- 创建 RStudio Connect SAML 身份验证测试用户,以便在 RStudio Connect SAML 身份验证中创建与 Britta Simon 相对应的用户,并将其链接到用户在 Microsoft Entra 中的表示形式。
- 测试 SSO - 验证配置是否正常工作。
配置 Microsoft Entra SSO
按照以下步骤启用 Microsoft Entra SSO。
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
导航至 Entra ID>企业应用>RStudio Connect SAML 身份验证>单点登录。
在“选择单一登录方法”页上选择“SAML” 。
在 “使用 SAML 设置单一登录 ”页上,选择 基本 SAML 配置的 铅笔图标以编辑设置。
如果要在 IDP 发起的模式下配置应用程序,请在“基本 SAML 配置”部分执行以下步骤,将 替换为 RStudio Connect SAML 身份验证服务器地址和端口 :
a。 在“标识符” 文本框中,使用以下模式键入 URL:
b. 在“回复 URL”文本框中,使用以下模式键入 URL:
若要在 SP 启动模式下配置应用程序,请选择“设置其他 URL”,并执行以下步骤:
在“登录 URL” 文本框中,使用以下模式键入 URL:。
注意
这些值不是真实的。 请使用实际的“标识符”、“回复 URL”和“登录 URL”更新这些值。 它们由 RStudio Connect SAML 身份验证服务器地址(在上述示例中为
https://example.com
)确定。 如果遇到问题,请联系 RStudio Connect SAML 身份验证支持团队 。 还可参考“基本 SAML 配置”部分中显示的模式。RStudio Connect SAML 身份验证应用程序需要特定格式的 SAML 断言,因此,需要在 SAML 令牌属性配置中添加自定义属性映射。 以下屏幕截图显示了默认属性的列表,而 nameidentifier 使用 user.userprincipalname 进行映射。 RStudio Connect SAML 身份验证应用程序要求使用 user.mail 映射 nameidentifier,因此需要通过选择“编辑”图标来编辑属性映射并更改属性映射。
在“ 使用 SAML 设置单一 Sign-On ”页上的“ SAML 签名证书 ”部分中,选择“复制”按钮以复制 应用联合元数据 URL 并将其保存在计算机上。
创建和分配 Microsoft Entra 测试用户
遵循创建和分配用户帐户快速入门中的准则,以创建名为 B.Simon 的测试用户帐户。
配置 RStudio Connect SAML 身份验证 SSO
若要为 RStudio Connect SAML 身份验证配置单一登录,需要使用上面使用的应用联合元数据 URL 和服务器地址 。 在 /etc/rstudio-connect.rstudio-connect.gcfg
处的 RStudio Connect SAML 身份验证配置文件中完成该操作。
以下是一个示例配置文件:
[Server]
SenderEmail =
; Important! The user-facing URL of your RStudio Connect SAML Authentication server.
Address =
[Http]
Listen = :3939
[Authentication]
Provider = saml
[SAML]
Logging = true
; Important! The URL where your IdP hosts the SAML metadata or the path to a local copy of it placed in the RStudio Connect SAML Authentication server.
IdPMetaData =
IdPAttributeProfile = azure
SSOInitiated = IdPAndSP
如果 IdPAttributeProfile = azure
,配置文件将在其他设置中将 NameIDFormat 设置为持久,并替代 配置文件中定义的任何其他指定属性。
如果你希望提前使用 RStudio Connect API 创建用户,并在该用户首次登录之前应用权限,这就会成为一个问题。 NameIDFormat 应该设置为 emailAddress 或是某种其他独一无二的标识符,因为在将它设置为持久时,该值会被哈希处理,并且你提前不知道该值是什么。 因此,使用 API 不起作用。 用于为 SAML 创建用户的 API:https://docs.rstudio.com/connect/api/#post-/v1/users
因此,在这种情况下,你可能需要在配置文件中包含它:
[SAML]
NameIDFormat = emailAddress
UniqueIdAttribute = NameID
UsernameAttribute = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
FirstNameAttribute = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
LastNameAttribute = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
EmailAttribute = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailAddress
将“服务器地址”存储在 值中,将“应用联合元数据 URL”存储在 Server.Address
值中 。 请注意,此示例配置使用未加密的 HTTP 连接,而 Microsoft Entra ID 要求使用加密的 HTTPS 连接。 可以在 RStudio Connect SAML 身份验证前使用 反向代理 ,也可以将 RStudio Connect SAML 身份验证配置为 直接使用 HTTPS。
如果配置时遇到问题,可以阅读 RStudio Connect SAML 身份验证管理员指南 或向 RStudio 支持团队 发送电子邮件以获取帮助。
创建 RStudio Connect SAML 身份验证测试用户
在本部分,将在 RStudio Connect SAML 身份验证中创建名为 Britta Simon 的用户。 RStudio Connect SAML 身份验证支持默认已启用的实时预配。 本节中没有需要你完成的事项。 尝试访问 RStudio Connect SAML 身份验证时,如果 RStudio Connect SAML 身份验证中尚不存在用户,则系统会创建一个新用户。
测试 SSO
在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。
SP 启动的:
选择“ 测试此应用程序”,此选项将重定向到 RStudio Connect SAML 身份验证登录 URL,可在其中启动登录流。
直接转到 RStudio Connect SAML 身份验证登录 URL,并从那里启动登录流。
IDP 启动的:
- 选择“ 测试此应用程序”,应会自动登录到为其设置了 SSO 的 RStudio Connect SAML 身份验证。
还可以使用 Microsoft“我的应用”在任何模式下测试此应用程序。 在“我的应用”中选择 RStudio Connect SAML 身份验证磁贴时,如果是在 SP 模式下配置的,你会重定向到应用程序登录页来启动登录流;如果是在 IDP 模式下配置的,则应会自动登录到为其设置了 SSO 的 RStudio Connect SAML 身份验证。 有关详细信息,请参阅 Microsoft Entra My Apps。
相关内容
配置 RStudio Connect SAML 身份验证后,可以强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展而来。 了解如何使用 Microsoft Defender for Cloud Apps 强制实施会话控制。