假设您有2个帐户(A,B)。
在帐户A中,您创建了一个S3存储桶。
在帐户B中,您已创建了EC2实例。
如何从帐户B中的EC2实例访问帐户A中的S3存储桶?
答案 0 :(得分:1)
所以,情况是:
最佳做法是通过将IAM角色与EC2实例相关联将凭据分配给Amazon EC2实例。然后,在实例上运行的任何应用程序都可以自动访问这些凭据。
但是,在这种情况下还有一个额外的要求,因为帐户B无法分配访问帐户A中资源的权限。因此,所需的步骤是:
GetObject
以下是一个示例存储分区策略:
{
"Id": "CrossAccountAccess",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AccessFromRole",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucket-a",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:role/role-in-account-b"
]
}
}
]
}
此政策允许帐户B(Principal
)中的角色访问帐户A(Resource
)中的存储区。
这样,使用指定角色启动的帐户B中的任何EC2实例都将被允许从Bucket A GetObject
。