[英]Copy to Redshift from another accounts S3 bucket
是否可以從一個AWS賬戶S3存儲桶復制到另一個AWS賬戶Redshift集群? 我試圖這樣做的方法是使用SQL Workbench登錄我的AWS賬戶(Account1)並使用IAM用戶(Account2)將文件復制到這樣:
copy my_table (town,name,number)
from 's3://other-s3-account-bucket/fileToCopy.tsv'
credentials 'aws_access_key_id=<other_accounts_aws_access_key_id>;aws_secret_access_key=<other_accounts_aws_secret_access_key>'
delimiter '\t';
我知道其他帳戶的用戶在仔細檢查后具有s3權限。 我是否有共享IAM用戶或設置不同的權限才能執行此操作?
您需要從其他帳戶的S3存儲桶中“提取”數據。
source-bucket-account-a
的S3存儲source-bucket-account-a
。 TargetCluster
的Redshift TargetCluster
。 source-bucket-account-a
,添加允許AWS賬戶B讀取文件的存儲桶策略。 示例政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DelegateS3Access",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account-b-number>:root"
},
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::source-bucket-account-a",
"arn:aws:s3:::source-bucket-account-a/*"
]
}
]
}
它非常類似於以下內容: http : //docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html
或以下內容: http : //docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_policy-examples.html
copy
命令,因為它擁有Redshift集群。 在copy
命令中,您可以通過名稱source-bucket-account-a
指定存儲source-bucket-account-a
。 存儲桶策略已授予對AWS賬戶B的讀取權限,因此可以將數據“拉”到Redshift中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.