我們無法將文件從S3複製到Redshift。有問題的S3存儲桶只允許從我們擁有Redshift集羣的VPC訪問。我們從公共S3存儲桶複製沒有問題。我們嘗試了基於密鑰的和基於IAM角色的方法,但結果是一樣的:我們不斷得到403被S3拒絕的訪問。任何想法我們失蹤?謝謝。將數據從S3複製到Redshift - 訪問被拒絕
編輯: 查詢,我們使用: 1.(使用IAM角色):
copy redshift_table from 's3://bucket/file.csv.gz' credentials 'aws_iam_role=arn:aws:iam::123456789:role/redshift-copyunload' delimiter '|' gzip;
(使用訪問鍵):
拷貝從redshift_table 's3://bucket/file.csv.gz'credentials'aws_access_key_id = xxx; aws_secret_access_key = yyy'delimiter'|' gzip的;
S3策略IAM角色(第一查詢)和IAM用戶(第二查詢)是:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt123456789",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucket/*"
]
}
]
}
桶具有政策從任何地方以外VPC拒絕訪問(紅移簇是該VPC ):
{
"Version": "2012-10-17",
"Id": "VPCOnlyPolicy",
"Statement": [
{
"Sid": "Access-to-specific-VPC-only",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket/*",
"arn:aws:s3:::bucket"
],
"Condition": {
"StringNotEquals": {
"aws:sourceVpc": "vpc-123456"
}
}
}
]
}
我們沒有任何問題,從公開訪問的水桶裝載,如果我們消除這種桶政策,我們可以沒有任何問題的數據複製。
存儲桶與紅移羣集位於同一區域。
當我們通過策略模擬器運行IAM角色(redshift-copyunload)時,它返回「允許的權限」。
您需要提供更多信息。提供您使用的SQL查詢,存儲桶名稱,區域和策略。但是有一個問題:你試圖從Redshift集羣的同一區域獲取事物的桶? – Nicolas
此問題在這裏有一個答案:http://stackoverflow.com/a/40540465/1517410 –