Como posso usar minhas credenciais de função do IAM ou mudar para outra função do IAM ao me conectar ao Athena usando o driver JDBC?

4 minuto de leitura
0

Quero usar uma função do AWS Identity and Access Management (IAM) para me conectar ao Amazon Athena por meio do driver JDBC. Ou quero mudar para outra função do IAM antes de me conectar ao Athena por meio do driver JDBC.

Resolução

Use as credenciais do perfil do IAM para se conectar ao driver JDBC do Athena

Recupere as credenciais temporárias do perfil. O processo de recuperação das credenciais temporárias depende de como você assume o perfil.

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está utilizando a versão mais recente da AWS CLI.

Para obter mais informações, consulte Como Usar perfis do IAM e consulte a tabela de comparação de métodos para usar perfis.

As credenciais temporárias contêm o token da sessão, o ID da chave de acesso e a chave de acesso secreta. Essas três credenciais são necessárias para autenticar a conexão JDBC com o Athena. Lembre-se de que as credenciais temporárias têm uma vida útil máxima de 12 horas.

  1. Na máquina em que o driver Athena JDBC está instalado, salve as credenciais temporárias no arquivo de credenciais da AWS (~/.aws/credentials) como um perfil nomeado. Para obter mais informações, consulte Definições de arquivos de configuração e credenciais.

    Aqui está um exemplo de credenciais temporárias que são armazenadas em um perfil da AWS CLI chamado testprofile:

    [testprofile]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX
  2. Para se conectar ao Athena com o driver JDBC, especifique o nome do perfil na string de conexão do JDBC (por exemplo: jdbc:awsathena: //awsRegion=us-west-2; profile=testProfile;). Ou defina o nome do perfil na propriedade de configuração Perfil JDBC.

    Observação: a propriedade de configuração Profile JDBC está disponível nas versões 2.0.6 e posteriores do driver Athena JDBC. Para obter o driver JDBC mais recente, consulte Conectando-se ao Amazon Athena com o JDBC.

Mude para um perfil diferente do IAM e, em seguida, conecte-se ao driver JDBC do Athena

Para trocar de perfil antes de se conectar ao driver JDBC do Athena, use a opção source\ _profile no perfil nomeado:

  1. Na máquina em que o driver Athena JDBC está instalado, adicione um perfil nomeado ao arquivo de credenciais da AWS CLI (~/.aws/credentials). Para obter mais informações sobre a criação de perfis nomeados, consulte Usando perfis nomeados. O perfil deve incluir as seguintes propriedades:

    role\ _arn: o nome de recurso da Amazon (ARN) do perfil que você deseja assumir
    source\ _profile: um perfil que contém as credenciais de um usuário do IAM ou de um perfil do IAM que tem permissões para assumir o perfil

    Por exemplo, para assumir um perfil chamado testrole que tenha o ARN arn:aws:iam: :123456789012:role/testrole, crie um perfil nomeado como este:

    [switchroletest]
    role_arn=arn:aws:iam::123456789012:role/testrole
    source_profile=default

    Neste exemplo, o perfil padrão contém as credenciais de um usuário ou perfil do IAM com permissões para assumir testrole:

    [default]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX

    Observação: o AWS CLI suporta a especificação da fonte\ _profile no arquivo de configuração da CLI da AWS (/.aws/config) e das credenciais do usuário em um arquivo separado de credenciais da CLI da AWS (~/.aws/credentials). No entanto, o driver JDBC do Athena suporta a leitura de credenciais somente do arquivo de credenciais da AWS CLI. Devido a essa limitação, é necessário colocar esses perfis no mesmo arquivo de credenciais da CLI da AWS (/.aws/credentials). Além disso, não os prefixe com perfil. O driver JDBC do Athena não suporta o uso de credential\ _source = ec2InstanceMetadata em perfis nomeados.

  2. Para se conectar ao Athena com o driver JDBC, especifique o nome do perfil na string de conexão do JDBC (por exemplo: jdbc:awsathena: //awsregion=us-west-2; profile=switchroletest;). Ou defina o nome do perfil na propriedade de configuração Perfil JDBC.

Informações relacionadas

Como solicitar credenciais de segurança temporárias

Driver Simba Athena JDBC com guia de instalação e configuração do conector SQL (versão 2.0.9)

Como mudar para um perfil do IAM (AWS CLI)

Como usar um perfil do IAM na AWS CLI

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses