Ir para o conteúdo

Como faço para usar minhas credenciais de perfil do IAM ou mudar para outro perfil do IAM quando uso o driver JDBC para me conectar ao Amazon Athena?

4 minuto de leitura
0

Quero usar as credenciais de perfil do AWS Identity and Access Management (AWS IAM) para autenticar a conexão do driver JDBC com o Amazon Athena. Ou quero mudar para outro perfil do IAM antes de usar o driver JDBC para me conectar ao Amazon Athena.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Usar credenciais de perfil do IAM para se conectar ao driver JDBC do Athena

Recupere as credenciais temporárias do perfil. O processo para recuperar as credenciais temporárias é diferente com base em como você assume o perfil.

Você usa um provedor de identidade SAML para assumir o perfil

O Active Directory Federation Services (AD FS) 3.0, o Okta, o PingFederate e o Microsoft Entra ID são os únicos provedores de identidade SAML 2.0 que possuem suporte direto no driver JDBC do Athena. Se você usar um provedor de identidade diferente para assumir o perfil, execute o comando assume-role-with-saml para obter as credenciais temporárias.

Você assume um perfil diferente na sua conta

Se você assumir outro perfil na mesma conta da AWS, execute o comando assume-role para obter as credenciais temporárias.

Para obter mais informações, consulte Métodos para assumir um perfil.

As credenciais temporárias contêm o token de sessão, o ID da chave de acesso e a chave de acesso secreta necessários para autenticar a conexão do JDBC com o Amazon Athena.

Observação: As credenciais temporárias são válidas somente por 12 horas.

Salve as credenciais temporárias em sua máquina no arquivo de credenciais da AWS ~/.aws/credentials como um perfil nomeado. Para obter mais informações, consulte Configurações de arquivos de configuração e credenciais na AWS CLI.

O exemplo a seguir é de credenciais temporárias que são armazenadas em um perfil da AWS CLI chamado testprofile:

[testprofile]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Para usar o driver JDBC para se conectar ao Amazon Athena, especifique o nome do perfil na string de conexão JDBC, por exemplo jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;. Ou defina o nome do perfil na propriedade de configuração JDBC Profile.

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

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

Para alternar perfis antes de se conectar ao driver JDBC do Athena, use a opção source_profile no perfil nomeado.

Em sua máquina, adicione um perfil nomeado ao arquivo de credenciais ~/.aws/credentials da AWS CLI. Para obter mais informações, consulte Usando perfis nomeados.

O perfil deve incluir as seguintes propriedades:

  • role_arn: ARN do perfil que você deseja assumir.
  • source_profile: Um perfil que contém as credenciais de um usuário do IAM ou um perfil do IAM que tem permissões para assumir o perfil.

Veja a seguir um exemplo de configuração para assumir um perfil chamado testrole, que possui o ARN arn:aws:iam::123456789012:role/testrole:

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

No exemplo a seguir, 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=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Observação: A AWS CLI permite que você especifique source_profile no arquivo de configuração /.aws/config da AWS CLI e as credenciais do usuário em um arquivo de credenciais da AWS CLI separado. No entanto, o driver JDBC do Athena pode ler credenciais somente do arquivo de credenciais da AWS CLI. Devido a essa limitação, você deve colocar os perfis no mesmo arquivo de credenciais do AWS CLI. Além disso, não use o prefixo perfil para os perfis.

Para usar o driver JDBC para se conectar ao Athena, especifique o nome do perfil na string de conexão JDBC, por exemplo jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;. Ou defina o nome do perfil na propriedade de configuração JDBC Profile.

Informações relacionadas

Solicitar as credenciais de segurança temporárias

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

Mudar para um perfil do IAM (AWS CLI)

Usar um perfil do IAM na AWS CLI

AWS OFICIALAtualizada há um ano