Как мы можем настроить профиль учетных данных aws, который будет использоваться при вызове сценария python из ловушки
Я создал код python, который я хочу вызывать из ловушки пост-создания скипетра.При использовании «создания скипетра» код действительно выполняется, но для профиля aws по умолчанию, а не для профиля, установленного в config.yaml
, затем шифрование корзины активируется на неправильной учетной записи AWS.
До сих пор япросмотрел документацию и ничего не нашел. При нативном запуске кода Python (без использования скипетра) он работает хорошо, если задана переменная окружения AWS_PROFILE
import boto3
from botocore.exceptions import ClientError
# update the cloudformation template to ensure proper encryption
BUCKET_NAME = "kiki-001"
s3 = boto3.client('s3')
response = s3.put_bucket_encryption(
Bucket=BUCKET_NAME,
ServerSideEncryptionConfiguration={
'Rules' : [
{
'ApplyServerSideEncryptionByDefault': { 'SSEAlgorithm' : 'AES256'}
}
]
}
)
выглядит файл конфигурации стека (base.yaml
)вот так
template_path: base.json
parameters:
BaseBucketName: eitstoragenoprod
hooks:
after_create:
- !cmd "echo \"Hello World\""
стекгруппы config.yaml выглядит как
project_code: Foundation-Storage
region: eu-west-1
profile : storagenoprod-admin
template_bucket_name: storagenoprod-cloudformationsuploads
stack_tags :
InternalBudgetKey: "StorageNoProdFoundations"
AssetsOwner: "ServiceOwner"