Visão geral da autenticação do Snowflake¶
As seções a seguir descrevem os métodos de autenticação que os usuários e aplicativos podem usar para acessar o Snowflake. Elas também fornecem considerações importantes para ajudar você a selecionar o melhor método de autenticação para seu caso de uso.
Escolha da autenticação para Snowsight¶
O Snowsight é a interface de usuário para o Snowflake. Esta seção fornece uma visão geral dos métodos de autenticação que os usuários podem usar para fazer login no Snowsight, seguido por uma comparação dos métodos.
Nota
Quando você cria um objeto de usuário Snowflake para uma pessoa que se autentica no Snowsight, especifique TYPE = PERSON. Para obter mais informações sobre tipos de usuário, consulte Tipos de usuários.
- SSO (logon único)
Com SSO para Snowsight, os usuários são autenticados com um provedor de identidade de terceiros (IdP) em vez de autenticar diretamente com o Snowflake. Quando um usuário acessa o Snowsight, a página de login inclui uma opção para autenticação com o IdP em vez de uma senha gerenciada pelo Snowflake. O IdP confirma a identidade do usuário e então envia uma Security Assertion Markup Language (SAML) para o Snowflake. Como o Snowflake e o IdP tiverem uma relação de confiança previamente estabelecida, o Snowflake aceita a declaração como prova da identidade do usuário e permite que o usuário acesse o Snowsight.
Algumas organizações utilizam a mesma IdP para fornecer uma experiência de SSO para todos os aplicativos da organização. Essas organizações podem simplesmente adicionar o Snowflake como um novo provedor de serviços (SP) para permitir que seus funcionários utilizem o IdP para acessar o Snowsight.
- Senha e nome de usuário com autenticação multifator (MFA)
A autenticação de senha permite que os usuários acessem o Snowsight inserindo uma cadeia de caracteres que esteja em conformidade com os requisitos impostos por uma política de senhas. Para reforçar a segurança deste método de autenticação, o Snowflake requer MFA para todos os usuários de senhas. Com a MFA, o usuário digita uma senha e depois usa um segundo fator de autenticação para confirmar sua identidade. Por exemplo, um usuário pode usar uma chave de acesso armazenada em seu computador como o segundo fator de autenticação.
A tabela a seguir compara os métodos de autenticação que os usuários podem usar para fazer login no Snowsight:
Método |
Vantagens |
Desafios |
|---|---|---|
Logon único . Opção preferida |
Permite que uma organização gerencie centralmente a autenticação. Um usuário se autentica com o mesmo IdP para todos os aplicativos da organização, não apenas para Snowflake. Ideal para organizações que já utilizam um IdP para fornecer SSO para aplicativos. |
Exige a configuração de um IdP de terceiros. |
Senha com MFA |
Implementação simples. |
Se as senhas forem gerenciadas pelo Snowflake, uma organização deverá repetir a configuração da autenticação para todos os seus aplicativos. |
Visão geral dos métodos de autenticação para aplicativos¶
Neste tópico, aplicativo refere-se a qualquer coisa que acesse dados do Snowflake programaticamente, em vez de por meio da interface do usuário do Snowsight. Esta definição inclui aplicativos da web personalizados, aplicativos multilocatários de terceiros, aplicativos de desktop, scripts locais e cargas de trabalho na nuvem.
Ao discutir os métodos de autenticação disponíveis, este tópico distingue entre dois tipos de aplicativos:
Um aplicativo interativo que interage com uma pessoa e se autentica no Snowflake em nome dessa pessoa; por exemplo, uma business intelligence (BI) que interage com os analistas.
Um aplicativo de serviço para serviço que não interage com uma pessoa e possui um método de autenticação dedicado para o serviço; por exemplo, um pipeline CI/CD.
- Federação de identidades de carga de trabalho (WIF)
A federação de identidades de carga de trabalho é uma forma de autenticação sem segredo, e é altamente segura porque aproveita credenciais de curta duração que já estão disponíveis para cargas de trabalho na nuvem. Isso elimina a necessidade de gerenciar e alternar os segredos.
Quando uma carga de trabalho está sendo executada em um provedor de nuvem como AWS EC2, VMs do Microsoft Azure ou VMs do Google Cloud, a federação de identidades de carga de trabalho permite que a carga de trabalho seja autenticada no Snowflake usando o mecanismo de identidade nativo do provedor de nuvem. Por exemplo, uma carga de trabalho executada no AWS EC2 pode obter um atestado (ou seja, uma prova de sua identidade) de uma função do AWS Identity and Access Management (IAM) que está associada à carga de trabalho. O driver da carga de trabalho obtém o atestado do mecanismo de identidade nativo e o envia ao Snowflake para autenticar a carga de trabalho.
A federação de identidade de carga de trabalho também permite que cargas de trabalho de terceiros, como o GitHub Actions e cargas de trabalho em execução no Kubernetes, se autentiquem com um provedor de identidade (IdP) compatível com o OpenID Connect, em um processo conhecido como federação OIDC. O Snowflake aceita tokens de ID gerados pelo IdP como prova da identidade da carga de trabalho.
Adequado para:
Aplicativos serviço a serviço
- OAuth usando Snowflake como servidor de autorização (Snowflake OAuth)
O Snowflake OAuth fornece a segurança da Estrutura de autorização do OAuth 2.0. Com Snowflake OAuth, Snowflake é tanto o servidor de autorização que autentica um usuário Snowflake quanto o servidor de recursos que aceita um token de acesso do cliente para acessar os dados desse usuário. O Snowflake OAuth permite que o cliente use o tipo de concessão do código de autorização.
Como o Snowflake é o servidor de autorização, o usuário que está interagindo com o aplicativo usa a interface do usuário do Snowflake para autenticar. É possível configurar o Snowflake para autenticar o usuário com login único (SSO) ou uma senha. Para obter informações sobre as vantagens e desafios da autenticação com SSO e senha, consulte Escolha da autenticação para Snowsight.
Adequado para:
Aplicativos interativos
- OAuth usando um servidor de autorização de terceiros (OAuth externo)
O OAuth externo também proporciona a segurança do OAuth 2.0, mas um IdP de terceiros, e não o Snowflake, atua como servidor de autorização. Um aplicativo obtém um token de acesso do IdP de terceiros, então usa o token para acessar o Snowflake como o recurso.
Um aplicativo serviço a serviço poderia usar o tipo de concessão de credenciais do cliente para acessar seus próprios dados do Snowflake. Um aplicativo interativo pode usar o tipo de concessão de código de autorização para acessar os dados do Snowflake de uma pessoa que está usando o aplicativo.
Adequado para:
Aplicativos interativos
Aplicativos serviço a serviço
- Autenticação de pares de chaves
A autenticação do par de chaves depende de um par de chaves criptográficas: uma chave privada e uma chave pública. A chave privada é um segredo mantido pelo aplicativo, enquanto a chave pública está associada a um objeto de usuário do Snowflake. Durante a autenticação, o aplicativo envia uma prova de que possui a chave privada, e o Snowflake responde verificando se a chave privada corresponde à chave pública associada ao usuário do Snowflake. Esse método de autenticação elimina a necessidade de transmitir ou armazenar senhas, reduzindo o risco de desvio de credenciais.
Adequado para:
Aplicativos serviço a serviço
Embora não seja o caso de uso padrão, a autenticação de par de chaves também pode ser usada para aplicativos interativos.
- Token de acesso programático (PATs)
Um PAT é uma credencial de tempo limitado que permite que os aplicativos sejam autenticados sem uma senha. Um PAT pode ser usado como um substituto para uma senha de fator único em cenários onde MFA ou métodos de autenticação mais seguros não funcionarão. Um PAT é mais forte que uma senha por ser uma credencial de curta duração, exige a implementação de medidas de segurança adicionais e pode ser atribuído a uma função específica de controle de acesso.
Adequado para:
Aplicativos interativos
Aplicativos serviço a serviço
Como escolher a autenticação para aplicativos interativos¶
Um aplicativo interativo é aquele que interage com uma pessoa e se autentica no Snowflake em nome dessa pessoa. A tabela a seguir fornece as vantagens e desafios associados aos métodos de autenticação que É possível usar para aplicativos interativos. Para obter uma visão geral desses métodos de autenticação, consulte Visão geral dos métodos de autenticação para aplicativos.
Nota
Quando você cria objetos de usuário do Snowflake para as pessoas que estão usando um aplicativo interativo, especifique TYPE = PERSON. Para obter mais informações sobre tipos de usuário, consulte Tipos de usuários.
Método |
Vantagens |
Desafios |
|---|---|---|
Snowflake OAuth . Opção forte |
|
Nenhum. |
OAuth externo . Opção forte |
|
Exige experiência na configuração de um IdP de terceiros como um servidor de autorização. |
Token de acesso programático (PAT) |
|
|
Par de chaves |
|
|
Como escolher a autenticação para aplicativos serviço a serviço¶
Um aplicativo serviço a serviço não interage com uma pessoa e tem um método de autenticação dedicado para o serviço. A tabela a seguir fornece as vantagens e desafios associados aos métodos de autenticação que É possível usar para aplicativos serviço a serviço. Para obter uma visão geral desses métodos de autenticação, consulte Visão geral dos métodos de autenticação para aplicativos.
Nota
Ao criar um objeto de usuário Snowflake para um aplicativo serviço a serviço, especifique TYPE = SERVICE. Para obter mais informações sobre tipos de usuário, consulte Tipos de usuários.
Método |
Vantagens |
Desafios |
|---|---|---|
Federação de identidade de carga de trabalho . Opção preferida |
|
Nenhum. |
OAuth externo . Opção forte |
|
Exige experiência na configuração de um IdP de terceiros como um servidor de autorização. |
Par de chaves |
|
Os riscos de segurança associados a credenciais de longa duração devem ser mitigados com outras medidas de segurança, como políticas de redes e uma estratégia robusta de armazenamento e rotação. Ao contrário dos tokens de acesso programático, o par de chaves não exige medidas adicionais, o que pode resultar em uma autenticação menos segura. |
Token de acesso programático (PAT) |
|
|