无法使用 IAM 配置文件从 DBeaver 创建到 AWS Athena 的连接

问题描述 投票:0回答:1

我正在尝试建立从本地 DBeaver 到 Athena 的连接。具体来说,我有一个 IAM 配置文件,我认为这就是我的尝试失败的原因。

我首先要提到的是,我成功通过名为noctua

R包建立了连接。

R中,以下有效

# r
con <- DBI::dbConnect(noctua::athena(), 
                 profile_name = "default-prof", 
                 region = "us-east-1",
                 s3_staging_dir = "s3://s3.foo.bar.baz",
                 schema_name = "my_schema_name",
                 duration_seconds = 3600,
                 role_arn = "arn:aws:iam::123456789123:role/FooRole",
                 work_group = "my-workgroup-foo"
                 )

请注意,

profile_name = "default-prof"
指的是我在本地计算机上的
config
credentials
中设置的配置文件。

# config
[profile default-prof]
region = us-east-1
output = json
# credentials
[default-prof]
aws_access_key_id = ********
aws_secret_access_key = *******

顺便说一句,这些 R 参数也几乎对应于

pyathena


为什么我不能使用与 DBeaver 相同的登录过程?

我也尝试过这个建议:

转到 DBeaver Athena 连接上的驱动程序属性并设置:

  • AwsCredentialsProviderClass 到 com.simba.athena.amazonaws.auth.profile.ProfileCredentialsProvider
  • AwsCredentialsProviderArguments 等于您要使用的配置文件的名称(请参阅 ~/.aws/config 以查看您拥有哪些配置文件)——我们使用“默认”。

但是没有成功。

我还尝试为 IAM 创建一个自定义驱动程序属性,将其命名为

role_arn
,并放置
arn:aws:iam::123456789123:role/FooRole
,但没有成功。尝试将其命名为
preferred_role
,但也不起作用。

amazon-web-services amazon-athena dbeaver
1个回答
0
投票

请确保您当前的 IAM 根据

~/.aws/config
可以承担
arn:aws:iam::123456789123:role/FooRole

此外,在我的 DBeaver 中,有一个用于选择凭证的下拉列表 - 使用 AWS IAM,然后使用配置文件名称 (

default
?),而不是用户名和密码。

© www.soinside.com 2019 - 2024. All rights reserved.