2016-11-10 3 views
1

Мы ранее использовали для копирования файлов с s3 в Redshift с помощью команды COPY каждый день из ведра без конкретной политики.S3 to Redshift: Копировать с доступом запрещен

COPY schema.table_staging  
FROM 's3://our-bucket/X/YYYY/MM/DD/'  
CREDENTIALS 'aws_access_key_id=xxxxxx;aws_secret_access_key=xxxxxx'  
CSV  
GZIP  
DELIMITER AS '|'  
TIMEFORMAT 'YYYY-MM-DD HH24:MI:SS'; 

Как нам нужно улучшить безопасность нашего сегмента S3, мы добавили политику авторизации соединения либо с нашего VPC (тот, который мы используем для нашего Redshift кластера) или конкретного IP-адреса.

{ 
"Version": "2012-10-17", 
"Id": "S3PolicyId1", 
"Statement": [ 
    { 
     "Sid": "DenyAllExcept", 
     "Effect": "Deny", 
     "Principal": "*", 
     "Action": "s3:*", 
     "Resource": [ 
      "arn:aws:s3:::our-bucket/*", 
      "arn:aws:s3:::our-bucket" 
     ], 
     "Condition": { 
      "StringNotEqualsIfExists": { 
       "aws:SourceVpc": "vpc-123456789" 
      }, 
      "NotIpAddressIfExists": { 
       "aws:SourceIp": [ 
        "12.35.56.78/32" 
       ] 
      } 
     } 
    } 
] 
} 

Эта политика работает хорошо для доступа к файлам из EC2, ОГО или нашего конкретного адреса с помощью AWS CLI или библиотеку бота Python.

Здесь ошибка мы имеем на Redshift:

ERROR: S3ServiceException:Access Denied,Status 403,Error AccessDenied,Rid xxxxxx,CanRetry 1 
Détail : 
----------------------------------------------- 
error: S3ServiceException:Access Denied,Status 403,Error AccessDenied,Rid xxxxxx,CanRetry 1 
code:  8001 
context: Listing bucket=our-bucket prefix=X/YYYY/MM/DD/ 
query:  1587954 
location: s3_utility.cpp:552 
process: padbmaster [pid=21214] 
----------------------------------------------- 

Большое спасибо заранее, если вы можете помочь нам в этом,

Damien

пс: этот вопрос очень похож на этот один: Copying data from S3 to Redshift - Access denied

ответ

1

Вам необходимо использовать функцию «Улучшенная маршрутизация VPC» в Redshift. Из документации here:

  1. При использовании Amazon Redshift Enhanced VPC маршрутизации, Amazon Redshift заставляет все COPY и выгружать трафик между кластером и хранилищ данных через ваш Amazon VPC.

  2. Если Enhanced VPC маршрутизация не включена, Amazon маршруты движения красных смещений через Интернет, в том числе трафика других услуг в сети AWS.

  3. Для трафика на ведро Amazon S3 в том же регионе, как кластер, вы можете создать конечную точку VPC направлять трафик непосредственно в ведро.

Смежные вопросы