什么是SSO?
也称为
单点登录
SSO 是一种身份验证(auth)设置,允许用户使用一个登录凭据即可访问独立的应用。这有点像使用护照就能进入不同的国家。使用 SSO,您无需为每个账户使用单独的登录凭据,就像您无需为每个国家准备不同的身份证件一样。
例如,您可能有两个不同的登录凭据,分别用于电子邮件和网上银行的两个不同登录页面。如果您的电子邮件提供商和银行的 IT 团队都设置了 SSO,您就可以使用一个登录页面和登录凭据来访问这两个网站。
SSO 如何工作?
由于无法进行面对面身份验证,因此互联网上的身份验证是通过一个服务进行的,该服务要求您提供您知道的证明(如密码)或您拥有的物理证明(如向手机发送代码)。这些证明称为身份验证因素。
最常见的身份验证方式是使用单一身份验证因素,例如密码。如果您添加了第二个因素,如电话号码,您就获得了双因素身份验证(2FA)。自然,您可以继续添加因素(如电子邮件、验证应用等)来获得多因素身份验证(MFA)。
SSO 不使用您知道或拥有的信息,而是使用属于 SSO 提供商的身份验证令牌。身份验证令牌是一个独特的、匿名的信息片段,在您登录 SSO 提供商时生成。
令牌会临时存储在您的浏览器中(类似于浏览器 cookie)或提供商的服务器上,并且只在一段时间内有效——通常直到您关闭浏览器,或在安全团队设置的过期窗口内。
当您访问一个已设置 SSO 的应用时,它会直接请求 SSO 提供商的身份验证令牌,而不是要求您登录。如果令牌仍然有效(您在同一会话中已登录 SSO 提供商,且令牌未过期),则您的身份将被视为已验证,您将被允许进入该应用。如果令牌已失效,您将被提示使用 SSO 提供商登录以创建新的令牌。
SSO 在更大的图景中扮演什么角色?
身份验证只处理“您是谁”(身份)。在此之后,其他服务会跟踪您可以去哪里,以及您可以在那里做什么(访问管理)。
身份和访问管理 (IAM) 是这些工具和流程的总称。SSO 和 IAM 工具包的其他部分通常由身份提供商 (IdP) 打包,例如 Okta、Auth0 或 OneLogin,并作为云安全的一部分来实现。
Metabase 中的 SSO
在 Metabase 中设置 SSO 意味着用户无需创建单独的 Metabase 用户名和密码即可访问您组织的数据。他们只需通过您选择的身份提供商的相同账户登录即可。Metabase 的开源版本可以通过 Google SSO 或 LDAP 进行设置。
Metabase 的 Pro 和 Enterprise 版本支持 SAML 和 JWT 标准(除了 Google SSO 和 LDAP)。SSO 还可以与 Metabase Pro 和 Enterprise 计划中的 数据沙盒结合使用,根据用户的属性(如部门或角色)来定义用户可以查看和交互的数据。