使用多个身份提供商进行联合身份验证

您可以将 Snowflake 配置为允许用户通过多个身份提供商 (IdPs) 进行身份验证。

实现使用多个 IdPs 的联合环境包括以下步骤:

  1. 启用标识符优先登录流程 (本主题内容)。

  2. 配置每个身份提供商

  3. 创建多个 SAML 安全集成,每个 IdP 一个。

  4. 将用户与 IdPs 关联 (本主题内容)。

备注

在实现使用多个 IdPs 的环境时,请记住以下几点:

  • 每个 IdP 必须有相应的 SAML 安全集成。如果您现有的单 IdP 环境使用已弃用的 SAML_IDENTITY_PROVIDER 参数,您必须使用 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION 函数将其迁移到 SAML 安全集成。

  • 目前,只有一部分 Snowflake 驱动程序支持使用多个身份提供商。这些驱动程序包括 JDBC、ODBC 和 Python。

启用标识符优先登录

当账户的联合环境使用多个 IdPs 时,Snowflake 必须能够在向用户提供身份验证选项 之前 确定哪个 IdPs 与用户关联。在此流程中,Snowflake 仅提示用户输入其电子邮件地址或用户名,然后在识别用户后显示身份验证方法。只有与用户关联的 IdPs 将显示为身份验证选项。

如果您使用多个 IdPs,则必须启用标识符优先登录流程。要启用标识符优先登录,请将 ENABLE_IDENTIFIER_FIRST_LOGIN 参数设置为 TRUE

有关标识符优先登录流程的更多信息,请参阅 标识符优先登录

将用户与 IdPs 关联

在具有多个 IdPs 的环境中,您可以选择如何将用户与 IdP 关联。您可以使用与以下项关联的安全集成:IdP、身份验证策略,或结合使用这两种方法。

安全集成:

使用与每个 IdP 关联的 SAML2 安全集成的 ALLOWED_USER_DOMAINSALLOWED_EMAIL_PATTERNS 属性。在此配置中,只有当用户的 EMAIL 与安全集成中的电子邮件地址域或模式匹配时,他们才能将 IdP 视为身份验证选项。

身份验证策略:

使用 身份验证策略SECURITY_INTEGRATIONS 属性指定哪些安全集成可供用户使用。在此配置中,身份验证策略将分配给整个账户或单个用户。用户只能通过与身份验证策略中指定的安全集成相关联的 IdPs 进行身份验证。

如果希望用户只能看到允许他们使用的身份提供商,请创建多个身份验证策略,然后将适当的策略分配给用户。

有关使用身份验证策略实现多个 IdPs 的示例,请参阅 允许对账户使用多个身份提供商的身份验证

组合方法:

您可以将安全集成和身份验证策略方法结合起来,以进一步优化用户在具有多个 IdPs 的环境中的身份验证方式。

如果同时使用这两种方法,Snowflake 将首先评估哪些安全集成与管理用户登录的身份验证策略相关联。Snowflake 确定安全集成后,用户的 EMAIL 与基于 ALLOWED_USER_DOMAINSALLOWED_EMAIL_PATTERNS 属性的其中一个集成匹配。Snowflake 仅显示与用户的 EMAIL 匹配的安全集成的 IdP 选项。

语言: 中文