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¶
You can use single-use refresh tokens to mitigate theft or reuse of refresh tokens. For more information, see Tokens de atualização de uso único para integrações de segurança do OAuth no Snowflake
Local applications¶
O Snowflake oferece uma maneira simplificada de configurar aplicativos locais, ou seja, aplicativos de área de trabalho, para usar o Snowflake OAuth para autenticação. O aplicativo pode se autenticar configurando uma única opção de conexão. Nenhuma configuração adicional é necessária. Para obter mais informações, consulte Uso do Snowflake OAuth para aplicativos locais.
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.
Restringindo o tráfego de rede para o Snowflake OAuth¶
Você pode associar uma política de redes à integração de segurança do Snowflake OAuth para restringir o tráfego de rede quando o cliente solicita um token do Snowflake como o servidor de autorização. Essa política de redes também controla o tráfego de rede quando o cliente consulta o Snowflake como o servidor de recursos.
To associate a network policy with the Snowflake OAuth security integration, set the NETWORK_POLICY parameter when creating or updating the integration. For example:
CREATE SECURITY INTEGRATION td_oauth_int2
TYPE = oauth
ENABLED = true
OAUTH_CLIENT = tableau_desktop
OAUTH_REFRESH_TOKEN_VALIDITY = 36000
BLOCKED_ROLES_LIST = ('SYSADMIN');
NETWORK_POLICY = 'allow_private_ip_only';
Uma política de redes associada à integração de segurança do Snowflake OAuth não afeta o tráfego de rede entre o usuário e o Snowflake como o servidor de autorização. Quando o usuário se autentica usando um navegador, o tráfego de rede é restrito por uma política de redes associada ao usuário.
O diagrama a seguir mostra a política de redes que controla o tráfego de rede do cliente e do usuário.
A política de redes associada ao usuário controla. Se não houver uma política de redes no nível do usuário, a política no nível da conta controlará.
A política de redes associada à integração de segurança controla. Se não houver uma política de redes no nível da integração, a política no nível da conta controlará.
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. |
