Вы не должны хранить ключи и секреты доступа AWS в своем коде.AWS использует роли IAM, экземпляры которых предполагают получение разрешений для непосредственного решения этой проблемы.AWS предоставляет экземплярам EC2 роли IAM при их развертывании.
Использование ролей IAM для делегирования разрешений приложениям, работающим в Amazon EC2 http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-ec2instance.html
Редактировать: текущие версии AWS SDKрекомендуем вам:
A) Использовать учетные данные роли EC2 (рекомендуется)
При развертывании кода в экземпляре EC2 код автоматически запускается в контекстероли.Таким образом, вы добавляете права доступа к роли IAM, назначаемой вашему экземпляру EC2.
B) Используйте файлы учетных данных
При использовании ролей в производстве вы можете использовать эту технику, покаразвивается локально / на вашей локальной машине.Этот подход позволяет вам использовать разные учетные записи.Просто добавьте дополнительные разделы профиля в свою конфигурацию по мере необходимости.
- Создайте файл учетных данных в c: \ aws_service_credentials, который называется учетными данными (без расширения)
- Добавьте следующее в свое приложение.конфиг
<configuration>
<appSettings>
<add key="AWSProfileName" value="development"/>
<add key="AWSProfilesLocation" value="C:\aws_service_credentials\credentials"/>
</appSettings>
</configuration>
- Добавьте файл учетных данных в нужную папку (например, C: \ aws_service_credentials \ credentials)
[development]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
См. http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html, чтобы настроить свои учетные данные.
Убедитесь, что вы создаете файлы профиля в папке, к которой имеет доступ ваш процесс (например, разрешение Все напапка и файлы).Если вы запускаете ваше приложение как администратор, это, вероятно, не проблема, но если вы запускаете приложение как сервис или фоновое приложение.По умолчанию папка, созданная в C: \, не открыта для чтения всеми, поэтому добавьте разрешения, если вам их не хватает.
C) Добавление учетных данных в конфигурацию приложения напрямую (нерекомендуется)
Этот подход не рекомендуется, поскольку, если вы можете предоставить доступ к конфигурации вашего приложения и скомпрометировать ваши ключи.
<add key="AWSAccessKey" value="key"/>
<add key="AWSSecretKey" value="secret"/>
<add key="AWSRegion" value="eu-west-1" />