Visão geral do Snowflake OAuth¶
O Snowflake OAuth utiliza o serviço Snowflake OAuth integrado para fornecer uma autenticação baseada em OAuth.
Este tópico descreve o Snowflake OAuth e como usar o Snowflake como um recurso OAuth e servidor de autorização para acessar os dados do Snowflake com segurança.
O OAuth Snowflake utiliza o serviço OAuth integrado do Snowflake e suporta os seguintes aplicativos:
Tokens de atualização de uso único¶
Se tokens de atualização de uso único forem utilizados, cada um deles poderá ser usado apenas uma vez, após o qual um novo token de atualização será emitido. Cada token de atualização é válido pela duração configurada para a integração de segurança.
Para saber mais sobre tokens de atualização de uso único, consulte Tokens de atualização de uso único para integrações de segurança do OAuth no Snowflake.
Aplicativos de parceiros¶
Para configurar o suporte, consulte Configuração do Snowflake OAuth para aplicativos de parceiros.
Para aprender a usar o OAuth sem atravessar a internet pública, consulte Aplicativos de parceiros.
Clientes personalizados¶
O Snowflake suporta clientes personalizados configurados por sua organização. Para configurar o suporte, consulte Configuração do Snowflake OAuth para clientes personalizados.
Políticas de redes¶
Você pode integrar uma política de rede dedicada apenas com o Snowflake OAuth. A integração de segurança do OAuth externo não suporta a definição de uma política de redes separada, mas você ainda pode usar uma política de redes geral que se aplica a toda a conta Snowflake.
Nota
Você pode especificar uma política de redes apenas para clientes personalizados e Looker. As integrações de segurança para outros aplicativos de parceiros não oferecem suporte a políticas de rede.
A integração de segurança do Snowflake OAuth tem um parâmetro network_policy
para que a integração do Snowflake OAuth possa autenticar e autorizar os usuários sem adicionar estes endereços IP para acesso normal do usuário.
A criação de uma política de rede específica para a integração do Snowflake OAuth permite que a política de rede do Snowflake OAuth seja distinta de outras políticas de rede que possam se aplicar à conta do Snowflake. Portanto, a política de rede do Snowflake OAuth permite a autenticação e autorização dos usuários, como pretendido.
Uma política de redes aplicada a uma integração do Snowflake OAuth substitui uma política de redes aplicada a toda a conta Snowflake, mas é substituída por uma política de redes atribuída a um usuário.
Importante
Se for definida uma política de rede por usuário ou conta e você estiver usando um serviço que funciona em um local diferente (por exemplo, o serviço Microsoft Power BI), você não poderá se conectar ao Snowflake.
Depois de criar a integração de segurança do Snowflake OAuth, defina a política de rede do OAuth usando este comando:
ALTER SECURITY INTEGRATION <oauth_integration> SET NETWORK_POLICY = <oauth_network_policy>;
Para remover a política de rede do Snowflake OAuth, use este comando:
ALTER SECURITY INTEGRATION <oauth_integration> UNSET <oauth_network_policy>;
Onde:
<oauth_integration>
Especifica o nome da integração de segurança do Snowflake OAuth.
<oauth_network_policy>
Especifica a política de rede do Snowflake OAuth no Snowflake.
Para obter mais informações, consulte Controle do tráfego de rede com políticas de rede e ALTER SECURITY INTEGRATION.
Códigos de erro¶
Consulte a tabela abaixo para obter descrições dos códigos de erro associados ao Snowflake OAuth:
Código de erro |
Erro |
Descrição |
---|---|---|
390302 |
OAUTH_CONSENT_INVALID |
Problema ao gerar ou validar o consentimento para um determinado usuário. |
390303 |
OAUTH_ACCESS_TOKEN_INVALID |
O token de acesso fornecido usado quando se tenta criar uma sessão do Snowflake está expirado ou inválido. |
390304 |
OAUTH_AUTHORIZE_INVALID_RESPONSE_TYPE |
|
390305 |
OAUTH_AUTHORIZE_INVALID_STATE_LENGTH |
O parâmetro de estado fornecido como parâmetro para o ponto de extremidade da autorização excede 2048 caracteres. |
390306 |
OAUTH_AUTHORIZE_INVALID_CLIENT_ID |
A integração associada a uma identificação de cliente fornecida não existe. |
390307 |
OAUTH_AUTHORIZE_INVALID_REDIRECT_URI |
|
390308 |
OAUTH_AUTHORIZE_INVALID_SCOPE |
O escopo solicitado não é válido ou os escopos solicitados não podem ser totalmente concedidos ao usuário. |
390309 |
OAUTH_USERNAMES_MISMATCH |
O usuário que você estava tentando autenticar é diferente do usuário vinculado ao token de acesso. |
390311 |
OAUTH_AUTHORIZE_INVALID_CODE_CHALLENGE_PARAMS |
O método do desafio de código ou o desafio de código está faltando, é inválido ou não tem suporte. |
Além disso, os seguintes erros são obtidos do RFC e retornados no blob JSON gerado durante uma solicitação ou troca de tokens sem sucesso:
Erro |
Descrição |
---|---|
invalid_client |
Houve uma falha relacionada à autenticação do cliente, tal como o cliente ser desconhecido, não correspondência do segredo do cliente, etc. |
invalid_grant |
A concessão de autorização ou o token de atualização fornecido é inválido, expirado, revogado, não corresponde ao URI de redirecionamento usado na solicitação de autorização ou foi emitido para outro cliente. |
unsupported_grant_type |
Foi fornecido um tipo de concessão para que o Snowflake atualmente não oferece suporte (“refresh_token” e “authorization_code” são os dois únicos tipos de concessão com suporte no momento). |
invalid_request |
O pedido foi malformado ou não pôde ser processado. |