Configurar o OAuth do Amazon Redshift IAM Identity Center
Essas instruções são para o serviço AWS IAM IDC mais recente. Para integração original do IAM, consulte Configurar o Amazon Redshift IAM OAuth.
Dependendo do fornecedor de identidade, existem diferentes passos necessários para configurar a integração. Esta é uma visão geral de alto nível. O Tableau não pode fornecer instruções detalhadas sobre como configurar a AWS ou o IDP, mas esta é a abordagem geral.
Para alguns exemplos detalhados de implementação de autenticação com Redshift, consulte “Integrar Tableau e Okta com Amazon Redshift usando AWS IAM Identity Center(O link abre em nova janela)” e “Integrar Tableau e Microsoft Entra ID com Amazon Redshift usando AWS IAM Identity Center(O link abre em nova janela)”.
Observação: tokens de atualização de uso único (às vezes chamados de tokens de atualização contínua ou rotação de tokens de atualização) não são suportados para conexões OAuth com o Tableau no momento. O suporte para esses tokens está planejado para uma versão futura.
Etapa 1: configurar o IDP
Crie clientes OAuth no IDP para Tableau Desktop e Tableau Server ou Tableau Cloud. O cliente Desktop deve ativar
PKCE
e usar redirecionamentos dehttp://localhost
.Adicione quaisquer declarações personalizadas para autorização de funções.
Crie o arquivo de configuração do Tableau OAuth. Veja a documentação em GitHub(O link abre em nova janela) e os exemplos(O link abre em nova janela). Aceitamos exemplos para outros IDPs.
Certifique-se de prefixar as IDs de configuração do Tableau OAuth com “
custom_
”.Se o seu IDP suportar porta localhost dinâmica, desative
OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL
. Caso contrário, adicione várias URLs de retorno de chamada de host local à lista de permissões no arquivo de configuração e no IDP.
Instale os novos arquivos de configuração do Tableau OAuth na pasta
OAuthConfigs
associada a cada aplicativo em hosts de desktop (Tableau Desktop, Tableau Prep Builder, Tableau Bridge) e em cada site do Tableau Server e do Tableau Cloud que usará o OAuth.
Etapa 2: configurar IDP e funções na AWS
Consulte a documentação da AWS para obter informações sobre como fazer isso.
Etapa 3: conectar-se ao Redshift
Conecte-se ao Redshift.
Selecione OAuth para Authentication (Autenticação).
Selecione Identity Center para Federation Type (Tipo de Federação).
(Opcional) Especifique o Identity Center Namespace se necessário.
Quando configurado corretamente, você será redirecionado ao IDP para autenticar e autorizar tokens para o Tableau. O Tableau receberá um token de acesso e tokens de atualização. Ele enviará o token de acesso ao driver para autenticação.
Tokens
Por padrão, o Redshift OAuth para IAM IDC passa o token de acesso para o driver. Para clientes locais, incluindo aqueles que usam o Tableau Bridge, você pode usar um arquivo TDC para transmitir o token de ID.
<connection-customization class='redshift' enabled='true' version='10.0'> <vendor name='redshift' /> <driver name='redshift' /> <customizations> <customization name='CAP_OAUTH_FEDERATE_ID_TOKEN' value='yes'/> </customizations> </connection-customization>
Para obter mais informações sobre como configurar e instalar arquivos .tdc, consulte Personalizar e ajustar uma conexão(O link abre em nova janela) e Usar um arquivo .tdc com o Tableau Server(O link abre em nova janela).
Okta
Se você estiver usando o Okta, será melhor usar um “servidor de autorização personalizado” vez de em vez do “servidor de autorização organizacional”. Os servidores de autorização personalizados são mais flexíveis. Um servidor de autorização personalizado é criado por padrão e denominado "padrão". A URL de autorização deve ter esta aparência:
https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize
Atualizar o driver
Para o Redshift OAuth usando o serviço IAM IDC, você precisa usar pelo menos a versão 2.x do driver ODBC. Baixe a versão mais recente do driver Redshift ODBC encontrado em https://github.com/aws/amazon-redshift-odbc-driver/tags(O link abre em nova janela). Observe que ainda não há driver v2 para OSX.
Solução de problemas do OAuth do IDC de IAM do Redshift
A melhor maneira de diagnosticar erros é remover o Tableau da imagem. Em vez disso, você pode testar usando o gerenciador de drivers ou uma ferramenta semelhante. Isso é apenas para solução de problemas - você não deve usar um DSN ou o conector “Outro ODBC” para uso regular deste recurso. Para ajudar a garantir um teste válido, os parâmetros devem ser os mesmos mostrados abaixo, exceto pelas informações do cluster, banco de dados, token e namespace.
Se você vir uma mensagem de erro sobre token inválido/expirado vindo do driver na primeira conexão (ele terá um código de erro SQLState como [28000] ou [08001] na mensagem de erro), o Tableau concluiu com êxito o fluxo OAuth e falhou no driver. Isso significa que há uma configuração incorreta no lado da AWS ou no lado do IDP. Também pode haver erros de permissão ou autorização retornados pelo driver, o que também está fora do controle do Tableau.
Antes de começar a testar, primeiro você precisa obter um token de acesso (o padrão para IAM IDC) ou um token de acesso (se personalizado) para enviar ao driver.
Aqui está um exemplo com Okta. Quase todos os IDPs internos têm uma maneira de fazer isso que é bastante semelhante. Observe que para usar esse fluxo você precisa ter habilitado o tipo de concessão de senha do proprietário do recurso. Substitua a URL do IDP, o segredo do cliente, a ID do cliente, o nome de usuário e a senha.
curl -X POST "https://OKTA_URL/v1/token" \
-H 'accept: application/json' \
-H "Authorization: Basic $(echo -n 'CLIENTID:CLIENTSECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=USER&password=PASSWORD&scope=openid"
Depois de obter o token, você pode usar um DSN para testar. Para Windows, pode usar o gerenciador de driver ODBC. No Linux, você pode usar a ferramenta de linha de comando isql incluída no Tableau Server na pasta “customer-bin”.
O Tableau recomenda que você não use outros plugins para testar, porque eles podem não funcionar em um ambiente de servidor. Eles usam um perfil fixo da AWS ou exigem acesso direto a um navegador.
Abaixo está um exemplo de uso do gerenciador de driver ODBC no Windows.