Credenciais de propagação de identidade confiável via navegador
Esse tipo de autenticação permite buscar um novo JSON Web Token (JWT) de um provedor de identidades externo e autenticá-lo com o Athena. É possível usar este plug-in para habilitar o suporte para identidades corporativas por meio da propagação de identidade confiável. Para obter mais informações sobre como usar a propagação de identidade confiável com drivers, consulte Usar a propagação de identidade confiável com drivers do Amazon Athena. Você também pode configurar e implantar recursos usando o CloudFormation.
Com a propagação de identidade confiável, o contexto de identidade é adicionado a um perfil do IAM para identificar o usuário que está solicitando acesso aos recursos da AWS. Para obter informações sobre como habilitar e usar a propagação de identidade confiável, consulte O que é propagação de identidade confiável?.
nota
O plug-in foi projetado especificamente para ambientes de área de trabalho de usuário único. Em ambientes compartilhados, como o Windows Server, os administradores do sistema são responsáveis por estabelecer e manter os limites de segurança entre os usuários.
Tipo de autenticação
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| AuthenticationType | Obrigatório | none |
AuthenticationType=BrowserOidcTip; |
URL de configuração bem conhecido do IDP
O URL de configuração bem conhecido do IDP é o endpoint que fornece os detalhes de configuração do OpenID Connect para seu provedor de identidades. Esse URL geralmente termina com .well-known/openid-configuration e contém metadados essenciais sobre os endpoints de autenticação, os recursos compatíveis e as chaves de assinatura de token. Por exemplo, se você estiver usando o Okta, o URL poderá ser similar a https://your-domain.okta.com/.well-known/openid-configuration.
Para a solução de problemas: se você receber erros de conexão, verifique se esse URL pode ser acessado pela sua rede e retorna um JSON de configuração válido do OpenID Connect. O URL deve poder ser acessado pelo cliente onde o driver está instalado e deve ser fornecido pelo administrador do provedor de identidades.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| IdpWellKnownConfigurationUrl | Obrigatório | none |
IdpWellKnownConfigurationUrl=https://<your-domain>/.well-known/openid-configuration; |
Identificador de cliente
O identificador de cliente emitido para a aplicação pelo provedor do OpenID Connect.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| client_id | Obrigatório | none |
client_id=00001111-aaaa-2222-bbbb-3333cccc4444; |
ARN do grupo de trabalho
O nome do recurso da Amazon (ARN) do grupo de trabalho do Amazon Athena que contém as tags de configuração da propagação de identidade confiável. Para obter mais informações sobre grupos de trabalho, consulte WorkGroup.
nota
Esse parâmetro é diferente do parâmetro Workgroup que especifica onde as consultas serão executadas. Você deve definir os dois parâmetros:
-
WorkgroupArn: aponta para o grupo de trabalho que contém as tags de configuração de propagação de identidade confiável -
Workgroup: especifica o grupo de trabalho em que as consultas serão executadas
Embora normalmente façam referência ao mesmo grupo de trabalho, ambos os parâmetros devem ser definidos explicitamente para uma operação adequada.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| WorkGroupArn | Obrigatório | none |
WorkgroupArn=arn:aws:athena:us-west-2:111122223333:workgroup/primary |
ARN de perfil de aplicação JWT
O ARN do perfil que será assumido na troca do JWT. Esse perfil é usado para a troca de JWT, obtenção do ARN da aplicação gerenciada pelo cliente do Centro de Identidade do IAM por meio de tags de grupo de trabalho e obtenção do ARN do perfil de acesso. Para obter mais informações sobre como assumir perfis, consulte AssumeRole.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| ApplicationRoleArn | Obrigatório | none |
ApplicationRoleArn=arn:aws:iam::111122223333:role/applicationRole; |
Nome da sessão da função
Um nome para a sessão do IAM. Esse pode ser qualquer nome que você deseje usar, mas, em geral, você passa o nome ou identificador que está associado ao usuário que está usando a aplicação. Dessa forma, as credenciais de segurança temporárias que a aplicação usa estão associadas a esse usuário.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| role_session_name | Obrigatório | none |
role_session_name=familiarname; |
Segredo do cliente
O segredo do cliente é uma chave confidencial emitida pelo seu provedor de identidades que é usada para autenticar sua aplicação. Embora esse parâmetro seja opcional e possa não ser necessário para todos os fluxos de autenticação, ele fornece uma camada adicional de segurança quando usado. Se sua configuração de IDP exigir um segredo de cliente, você deverá incluir esse parâmetro com o valor fornecido pelo administrador do provedor de identidades.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| client_secret | Opcional | none |
client_secret=s0m3R@nd0mS3cr3tV@lu3Th@tS3cur3lyPr0t3ct5Th3Cl13nt;! |
Escopo
O escopo especifica o nível de acesso que sua aplicação está solicitando do provedor de identidades. Você deve incluir openid no escopo para receber um token de ID contendo reivindicações essenciais de identidade do usuário. Seu escopo pode precisar incluir permissões adicionais, como email ou profile, dependendo de quais reivindicações de usuário seu provedor de identidades (como Microsoft Entra ID) está configurado para incluir no token de ID. Essas reivindicações são essenciais para o mapeamento adequado da Propagação de identidade confiável. Se o mapeamento de identidades de usuários falhar, verifique se seu escopo inclui todas as permissões necessárias e se seu provedor de identidades está configurado para incluir as reivindicações necessárias no token de ID. Essas reivindicações devem corresponder à configuração de mapeamento do Emissor de tokens confiáveis no Centro de Identidade do IAM.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| Escopo | Opcional | openid email offline_access |
Scope=openid email; |
Duração da sessão
A duração, em segundos, da sessão do perfil. Para obter mais informações, consulte AssumeRoleWithWebIdentity.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| duration | Opcional | 3600 |
duration=900; |
ARN do perfil de acesso JWT
O ARN do perfil que o Athena assume para fazer chamadas em seu nome. Para obter informações sobre como assumir perfis, consulte AssumeRole na Referência da API do AWS Security Token Service.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| AccessRoleArn | Opcional | none |
AccessRoleArn=arn:aws:iam::111122223333:role/accessRole; |
ARN da aplicação gerenciado pelo cliente do Centro de Identidade do IAM
O ARN da aplicação IDC gerenciada pelo cliente do Centro de Identidade do IAM. Para obter mais informações sobre aplicações gerenciadas pelo cliente, consulte Aplicações gerenciadas pelo cliente.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| CustomerIdcApplicationArn | Opcional | none |
CustomerIdcApplicationArn=arn:aws:sso::111122223333:application/ssoins-111122223333/apl-111122223333; |
Número da porta do provedor de identidades
O número da porta local a ser usada para o servidor de retorno de chamada do OAuth 2.0. Isso é usado como redirect_uri, e você precisará inseri-lo na lista de permissões em sua aplicação do IDP. O redirect_uri padrão gerado é: http://localhost:7890/athena
Atenção
Em ambientes compartilhados, como Windows Terminal Servers ou Remote Desktop Services, a porta de loopback (padrão: 7890) é compartilhada entre todos os usuários na mesma máquina. Os administradores do sistema podem mitigar possíveis riscos de sequestro de portas por meio de:
-
Configuração de números de porta diferentes para diferentes grupos de usuários
-
Uso de políticas de segurança do Windows para restringir o acesso às portas
-
Implementação do isolamento de rede entre as sessões do usuário
Se esses controles de segurança não puderem ser implementados, recomendamos usar o plug-in de propagação de identidade confiável via JWT, que não requer uma porta de loopback.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| listen_port | Opcional | 7890 |
listen_port=8080; |
Tempo limite de resposta do provedor de identidades
O tempo limite em segundos para aguardar a resposta de retorno de chamada do OAuth 2.0.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| IdpResponseTimeout | Opcional | 120 |
IdpResponseTimeout=140; |
Habilitar cache de arquivos
O parâmetro JwtTipFileCache determina se o driver armazena em cache o token de autenticação entre as conexões. Definir JwtTipFileCache como true reduz os prompts de autenticação e melhora a experiência do usuário, mas deve ser usado com cautela. Essa configuração é mais adequada para ambientes de área de trabalho de usuário único. Em ambientes compartilhados como o Windows Server, é recomendável mantê-lo desabilitado para evitar o possível compartilhamento de tokens entre usuários com strings de conexão semelhantes.
Para implantações empresariais usando ferramentas como o PowerBI Server, recomendamos usar o plug-in de propagação de identidade confiável via JWT em vez desse método de autenticação.
| Nome da string de conexão | Tipo de parâmetro | Valor padrão | Exemplo de string de conexão |
|---|---|---|---|
| JwtTipFileCache | Opcional | 0 |
JwtTipFileCache=1; |