2015-10-15 5 views
1

Какова наилучшая практика получения учетных данных AWS, необходимых для выполнения команды копирования Redshift с S3? Я автоматизирую процесс проглатывания с S3 в Redshift, когда машина запускает команду Копировать.Лучшая практика получения учетных данных при выполнении команды копирования Redshift

Я знаю, что рекомендуется использовать роли IAM на компьютерах ec2, чтобы вам не нужно было хранить учетные данные AWS. Как это работает, хотя с командой копирования Redshift? Я не особо хочу иметь учетные данные в исходном коде. Аналогичным образом, хосты выделяются шеф-поваром, поэтому, если я хочу установить учетные данные в качестве переменных среды, они будут доступны в сценариях Chef.

ответ

0

Похоже, что рекомендованный способ (as suggested by an AWS developer) - использовать temporary credentials, позвонив в службу AWS Security Token Service (AWS STS).

Я еще не реализовал это, но это тот подход, который я буду искать.

1

Вам нужны учетные данные для использования команды COPY, если у вас есть вопрос, как вы получаете эти учетные данные, с хоста, на котором вы работаете, вы можете получить метаданные роли IAM и использовать ключ доступа, секретный ключ и токен. Вы можете параметризовать его на лету непосредственно перед командой COPY и использовать их в команде COPY.

экспорт Accesskey = curl -s http://169.254.169.254/IAMROLE | grep '"AccessKeyId" : *' | cut -f5 -d " " | cut -b2- | rev | cut -b3- | rev

команды extrct секретного ключа и создать параметр

экспорта SecretKey = curl -s http://169.254.169.254/IAMROLE | grep '"SecretAccessKey" : *' | cut -f5 -d " " | cut -b2- | rev | cut -b3- | rev

команды для извлечения маркеров и создать параметр

экспорта СИМВОЛ = curl -s http://169.254.169.254/IAMROLE | grep '"Token" : *' | cut -f5 -d " " | rev | cut -b2- | rev

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