我在我的帐户中通过Glue设置了一个Athena表,该帐户应该查询我朋友帐户中的数据。我的朋友创建了一个IAM角色,我可以假设它有权访问S3数据。
我的Athena查询错误,抱怨他们没有权限访问S3存储桶。有没有办法让Athena承担这个角色,以便它可以进入S3存储桶?
答案 0 :(得分:1)
假设目前无法通过雅典娜担任角色。 AWS确实建议使用存储桶策略来访问跨帐户的s3存储桶。
“交叉帐户权限”部分中here描述了唯一当前可能的设置。
答案 1 :(得分:-1)
不需要跨帐户启用。
具有雅典娜政策/资源级别政策
创建一个角色(由另一个帐户B承担)并附加在步骤1中创建的策略。
更新可信实体:将IAM用户/角色包括在另一个帐户B中
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::Account B:user/User A"
]
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
创建策略
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": [
"arn:aws:iam::Account A:role/Role Created in Step 2 as Hosting Account A"
]
}
]
}
将策略附加给用户