Uso de vários provedores de identidade para autenticação federada

Você pode configurar o Snowflake para permitir que os usuários se autentiquem com vários provedores de identidade (IdPs).

A implementação de um ambiente federado que usa vários IdPs consiste nas seguintes etapas:

  1. Ative o fluxo de login do primeiro identificador (neste tópico).

  2. Configure cada provedor de identidade.

  3. Crie várias integrações de segurança SAML, uma para cada IdP.

  4. Associe usuários a IdPs (neste tópico).

Nota

Lembre-se do seguinte ao implementar um ambiente usando vários IdPs:

  • Cada IdP deve ter uma integração de segurança SAML correspondente. Se você tiver um ambiente de IdP único existente que usa o parâmetro SAML_IDENTITY_PROVIDER obsoleto, deverá usar a função SYSTEM$MIGRATE_SAML_IDP_REGISTRATION para migrá-lo para uma integração de segurança SAML.

  • Atualmente, apenas um subconjunto de drivers Snowflake dá suporte ao uso de vários provedores de identidade. Esses drivers incluem JDBC, ODBC e Python.

Habilitação de login com primeiro identificador

Quando o ambiente federado de uma conta usa vários IdPs, o Snowflake deve ser capaz de determinar quais IdPs estão associados a um usuário antes de apresentar ao usuário opções de autenticação. Nesse fluxo, o Snowflake solicita ao usuário apenas seu endereço de e-mail ou nome de usuário e, em seguida, exibe os métodos de autenticação após identificar o usuário. Somente IdPs associados ao usuário aparecem como opções de autenticação.

O fluxo de login do primeiro identificador deverá ser ativado se você estiver usando vários IdPs. Para ativar o primeiro login do identificador, defina o parâmetro ENABLE_IDENTIFIER_FIRST_LOGIN como TRUE.

Para obter mais informações sobre o fluxo de login do primeiro identificador, consulte Login com primeiro identificador.

Associação de usuários a IdPs

Em um ambiente com vários IdPs, você pode escolher como deseja associar um usuário a um IdP. Você pode usar a integração de segurança associada a um IdP, uma política de autenticação ou combinar os dois métodos.

Integração de segurança:

Use as propriedades ALLOWED_USER_DOMAINS e ALLOWED_EMAIL_PATTERNS da integração de segurança SAML2 associada a cada IdP. Nessa configuração, um usuário só verá um IdP como uma opção de autenticação se seu EMAIL corresponder a um domínio ou padrão de endereço de e-mail na integração de segurança.

Política de autenticação:

Use a propriedade SECURITY_INTEGRATIONS de uma política de autenticação para especificar quais integrações de segurança estão disponíveis para o usuário. Nesta configuração, a política de autenticação é atribuída a uma conta inteira ou a um usuário individual. Um usuário só pode autenticar com IdPs associados a integrações de segurança especificadas na política de autenticação.

Se você quiser que um usuário veja apenas os provedores de identidade que ele tem permissão para usar, crie diversas políticas de autenticação e atribua a política apropriada a um usuário.

Para obter um exemplo de uso de uma política de autenticação para implementar vários IdPs, consulte Permissão da autenticação de vários provedores de identidade em uma conta.

Combinado:

Você pode combinar os métodos de integração de segurança e política de autenticação para refinar ainda mais como os usuários se autenticam em um ambiente que tem vários IdPs.

Se você usar os dois métodos, o Snowflake primeiro avaliará quais integrações de segurança estão associadas à política de autenticação que rege o login do usuário. Depois que o Snowflake identificar as integrações de segurança, o EMAIL do usuário será comparado a uma das integrações com base nas propriedades ALLOWED_USER_DOMAINS e ALLOWED_EMAIL_PATTERNS. Snowflake exibe apenas a opção IdP para a integração de segurança que corresponde ao EMAIL do usuário.