2016-04-04 119 views
0

我們無法將文件從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)時,它返回「允許的權限」。

    +0

    您需要提供更多信息。提供您使用的SQL查詢,存儲桶名稱,區域和策略。但是有一個問題:你試圖從Redshift集羣的同一區域獲取事物的桶? – Nicolas

    +0

    此問題在這裏有一個答案:http://stackoverflow.com/a/40540465/1517410 –

    回答