Я предполагаю, что вы имеете в виду файл .config
, который будет развернут с чем-то вроде Elasti c Beanstalk.
Во-первых, я настоятельно рекомендую отключить ведро publi c доступность, если это конфиденциальные данные.
Во-вторых, для этого процесса вы должны создать новую политику IAM (или новую роль) с доступом к указанному файлу c в вашей корзине. хочу скопировать. Опять же, я предполагаю, что для этого ответа используется Elasti c Beanstalk.
Elasti c Среды Beanstalk запускаются с ролью по умолчанию с именем:
"aws-elasticbeanstalk-ec2-role"
.
Вот пример политики, которую вы можете создать, а затем присоединить к роли:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:GetObject"],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::your-bucket-name/your-file.txt"
]
}
]
}
В этом случае содержимое файла .config
должно быть следующим:
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth:
type: "s3"
buckets: ["your-bucket-name"]
roleName: "aws-elasticbeanstalk-ec2-role"
files:
"/path/to/your-file.txt" :
mode: "000644"
owner: root
group: root
authentication: "S3Auth"
source: https://s3.REGION.amazonaws.com/your-bucket-name/your-file.txt
Замените:
REGION
регионом вашего сегмента, your-bucket-name
именем сегмента, your-file.txt
именем вашего файла.
Что это делает
.config
файлы запускаются перед инициализацией и, следовательно, позволяют вам делать что-то до запуска вашего кода.
Код здесь создает новый файл в экземпляре, в котором он развернут, и копирует содержимое из целевого объекта в корзину S3.
Таким образом, этот файл существует до запуска вашего собственного кода, и вы можете безопасно использовать его во время выполнения.