设置单点登录
单点登录(SSO)使您能够使用组织的标识提供程序对用户进行身份验证。如果您的标识提供程序支持SAML 2.0协议(或者,对于帐户级SSO,支持OIDC协议),您可以使用Databricks SSO与您的标识提供程序集成。
帐户级和工作空间级标识的SSO必须分开管理。
您应该在帐户级别和工作空间级别配置到相同标识提供程序的SSO。最好在帐户级别使用OIDC进行SSO配置。还支持SAML SSO。
帐户级别SSO
要为帐户控制台启用单点登录,请参见为Databricks帐户控制台设置单点登录.
工作空间层SSO
您可以选择其中一个流程作为组织中的用户访问Databricks工作区的方式:
通过标识提供程序添加用户并启用自动创建用户。如果用户的帐户还不存在,登录时将为他们提供一个新帐户。这也称为即时(JIT)配置。自动创建用户不会将用户与组关联。使用SCIM将身份提供程序中的组映射到Databricks中的组。
在“数据库”中手动添加用户管理用户并禁用自动创建用户。如果用户的帐号在Databricks中不存在,则无法单点登录。
请注意
为Databricks提供用户的另一种方法是使用用于跨域身份管理系统的REST api (SCIM),它通常与SSO一起使用。SCIM是用于在标识域之间自动交换用户标识信息的标准,用于自动提供和取消用户的配置。
不同SSO版本的要求
在Databricks上,SSO软件是2.0或1.0版本。
的工作空间Databricks平台E2版本bob体育客户端下载始终使用SSO 2.0版本。所有新的Databricks帐户和大多数现有帐户现在都是E2。因此,大多数工作区使用SSO 2.0版本。
SSO 2.0版本要求标识提供程序对SAML响应进行加密签名。对于某些标识提供者,这需要额外的配置。
Databricks平台的ST版本上的工作区默认为SamlAuthenticator的版本1,bob体育客户端下载但是Databricks代表可以将工作区升级到使用版本2。在工作空间升级到使用版本2之后,工作空间的SSO SAML端点URL会发生变化,您需要在IdP中更改它。如果ST工作空间升级到E2,工作空间的SSO SAML端点URL会发生变化,您需要在IdP中更改它。
对于SSO版本1.0,签名SAML响应是可选的,但强烈推荐使用。
如果您不确定您拥有哪种帐户类型,请与Databricks代表联系。
启用工作区级单点登录
去工作空间管理控制台并选择SSO选项卡。
属性中的信息创建Databricks应用程序Databricks SAML URL字段。
你可以阅读说明如何设置:
对于任何支持SAML 2.0的标识提供程序,该过程都是类似的。
在从标识提供程序提供信息字段,在Databricks单点登录中粘贴您的身份提供者的信息。
如果需要启用自动创建用户,请选中允许自动创建用户.
如果您正在配置使用SAML 2.0联邦通过IAM凭据传递访问S3中,选择允许IAM角色授权自动同步.
点击启用SSO.
(可选)配置密码权限使用密码访问控制.
(可选)配置密码访问控制
默认情况下,所有admin用户都可以通过单点登录或用户名密码登录Databricks,所有API用户都可以通过用户名密码认证Databricks REST API。作为管理员,您可以通过使用密码访问控制配置权限来限制管理员用户和API用户使用其用户名和密码进行身份验证的能力。
密码有两种权限级别:没有权限而且可以使用.可以使用授予管理员比非管理员用户更多的能力。该表列出了每个权限的能力。
能力 |
没有权限 |
非管理与可以使用 |
管理与可以使用 |
---|---|---|---|
可以使用密码对API进行身份验证吗 |
x |
x |
|
可以验证到Databricks用户界面使用密码 |
x |
如果没有权限的非admin用户试图使用密码进行REST API调用,身份验证将失败。管理员应该确保这一点个人访问令牌是启用并指示其用户使用它们对api进行身份验证。
管理用户可以使用许可见Admin登录选项卡登录页面。他们可以选择使用该选项卡使用用户名和密码登录Databricks。
没有权限的管理员看不到此页面,必须使用SSO登录。
登录过程
启用SSO后,您将在登录页面上看到单点登录选项。
默认行为如下:
非管理用户必须使用SSO登录Databricks;他们不能使用用户名和密码登录。
管理员用户被授予可以使用密码访问控制权限,可以SSO或他们的用户名和密码登录。
API用户被授予可以使用密码访问控制权限,并且可以使用他们的用户名和密码进行REST API调用(尽管您应该鼓励他们使用user个人访问令牌相反)。
如果您的Databricks帐户属于Premium计划或更高级别,您可以通过配置权限使用限制管理用户和API用户使用其用户名和密码进行身份验证的能力密码访问控制.
将现有用户迁移到SSO
请注意
如果用户在Databricks中的当前电子邮件地址(用户名)与身份提供程序中的相同,则迁移将是自动的(只要启用了自动创建用户),您可以跳过此步骤。
如果用户使用身份提供商的电子邮件地址与使用Databricks的电子邮件地址不同,那么当用户登录时,基于身份提供商电子邮件的新用户将出现在Databricks中。由于非管理员用户将不再能够使用旧的电子邮件地址和密码登录,他们将无法访问现有users文件夹中的文件。
我们推荐以下步骤将文件从旧的Users文件夹迁移到新的Users文件夹:
管理员可以删除旧用户。这将用户的文件夹目录标记为失效,并且该目录将跟随工作区文件夹列表中的所有活动用户。管理员仍然可以访问所有笔记本和图书馆。用户创建的所有集群和作业将保持原样。如果用户设置了任何其他acl,启用SSO将导致这些acl被重置,管理员必须手动为新用户设置这些acl。
然后管理员可以将旧用户的文件夹移动到新文件夹中,如下图所示。
故障排除
Databricks建议安装SAML Tracer扩展铬或火狐.SAML Tracer允许您检查从Databricks发送到IdP的SAML请求和从IdP发送到Databricks的SAML响应。
如果使用以下故障排除提示无法解决问题,请与Databricks代表联系。
验证SSO版本和URL
在Databricks工作空间中,转到SSO管理控制台页。
验证SSO版本,即旁边括号中的版本单点登录.
验证Databricks SAML URL。您向IdP提供这个URL。如果将工作空间升级到Databricks平台的E2版本,或者将工作空间升级到SSO版本2,则此URL将发生变化。bob体育客户端下载
验证SAML响应是否已签名
在浏览器中安装SAML Tracer后,按照以下步骤操作。
在隐身窗口中,通过转到打开SAML跟踪器工具> SAML跟踪器.
转到Databricks工作空间并尝试使用SSO登录。
在SAML Tracer中,转到响应选项卡。
如果响应是签名的,则
> < saml2p:响应
元素有一个子元素< ds:签名>
元素。如果响应未签名,则配置IdP为SAML响应签名。按此链接查询IdP启用工作区级单点登录.如果对断言进行了签名,则
< saml:断言>
元素的子元素> < saml2p:响应
元素有一个子元素< ds:签名>
元素。
验证用户邮箱是否区分大小写
在“数据库”中,用户邮箱地址区分大小写。假设一个用户的电子邮件地址为john.doe@example.com
在数据库和John.Doe@example.com
在IdP。登录Databricks会以以下方式之一失败:
如果Databricks中启用了自动创建用户,则会创建一个新用户,并使用这些凭据而不是现有凭据登录。
如果禁用了自动创建用户,则登录失败,报错如下
我们遇到一个错误日志记录你在。砖支持有被提醒而且将开始看成这问题正确的走了。
若要解决此问题,可以在“数据库”中删除已有用户。如果启用了自动创建用户,请重新单点登录。否则,重新创建用户,确保电子邮件地址与IdP中的记录完全匹配。当用户在Databricks中存在后,必须将前一个用户拥有的资产解归档并重新分配给新用户。