AWS Redshift跨账户访问

时间:2020-02-20 20:25:36

标签: amazon-web-services amazon-redshift amazon-redshift-spectrum

不同的团队拥有不同的数据集。我要完成的目标是能够查询不同团队(AWS帐户)拥有的不同来源。

  • 帐户A-Redshift
  • 帐户B-S3
  • 帐户C-我的帐户

我想通过我的帐户:

  1. 使用红移频谱访问帐户B的S3存储桶中的数据

  2. 访问帐户A的redshift数据库。

我知道该怎么做的第1部分,如何查询跨帐户红移(第2部分)?

1 个答案:

答案 0 :(得分:0)

帐户B中相关Amazon S3存储桶的所有者应添加存储桶策略,该策略将授予对Amazon Redshift使用的IAM角色的访问权限。

来自IAM Policies for Amazon Redshift Spectrum - Amazon Redshift

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Example permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::redshift-account:role/spectrumrole"
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListMultipartUploadParts",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::bucketname",
                "arn:aws:s3:::bucketname/*"
            ]
        }
    ]
}