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:
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.
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. |