Configurar o OAuth do Amazon Redshift IAM Identity Center

A partir do Tableau 2023.3.2, você pode usar o OAuth 2.0/OIDC para federar a identidade de um provedor de identidade externo para o Amazon Redshift.

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)”.

Etapa 1: configurar o IDP

  1. Crie clientes OAuth no IDP para Tableau Desktop e Tableau Server ou Tableau Cloud. O cliente Desktop deve ativar PKCE e usar redirecionamentos de http://localhost.

  2. Adicione quaisquer declarações personalizadas para autorização de funções.

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

    1. Certifique-se de prefixar as IDs de configuração do Tableau OAuth com “custom_”.

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

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

  1. Conecte-se ao Redshift.

  2. Selecione OAuth para Authentication (Autenticação).

  3. Selecione Identity Center para Federation Type (Tipo de Federação).

  4. (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.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!