Если вы хотите получить секреты из вашего файла buildspec, я бы порекомендовал использовать хранилище параметров Systems Manager, изначально встроенное в CodeBuild. Systems Manager сам по себе является службой, ищите его на домашней странице консоли AWS, затем Paramater Store находится в левом нижнем углу страницы консоли System Manager.
Предположим, вы хотите включить ключ доступа и секретный ключ в buildscpe. Файл .yml:
- Создать пару AccessKey / SecretKey для пользователя IAM
- Сохранить вышеуказанные ключи в хранилище параметров SSM в качестве защищенной строки (например, '/ CodeBuild / AWS_ACCESS_KEY_ID' и '/ CodeBuild / AWS_SECRET_ACCESS_KEY')
- Экспортируйте два значения в вашей среде сборки, используя следующие директивы (ы) buildspec:
version: 0.2
env:
parameter-store:
AWS_ACCESS_KEY_ID_PARAM: /CodeBuild/AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY_PARAM: /CodeBuild/AWS_SECRET_ACCESS_KEY
phases:
build:
commands:
- export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID_PARAM
- export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY_PARAM
# Your Ansible commands below
- ansible-playbook -i hosts ec2-key.yml
[1] Справочник по спецификации сборки для CodeBuild - Синтаксис спецификации сборки - https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax