3.0 KiB
3.0 KiB
Secrets Role
Ansible роль для сохранения секретов на удаленной машине.
Описание
Роль позволяет безопасно сохранять секреты на удаленной машине в виде файлов с ограниченными правами доступа. Поддерживает сохранение переменных как файлов и копирование существующих файлов.
Параметры
Обязательные параметры
secrets_dest
- директория, куда будут сохранены секреты в виде файловsecrets_user
- имя пользователя, который будет владеть директорией и файламиsecrets_group
- группа, которая будет владеть директорией и файлами (по умолчанию равнаsecrets_user
)
Опциональные параметры
secrets_vars
- список переменных, из которых будут извлечены секреты (по умолчанию:[]
)secrets_files
- список файлов, которые будут скопированы "как есть" (по умолчанию:[]
)secrets_dir_mode
- права доступа для директории (по умолчанию:0750
)secrets_file_mode
- права доступа для файлов с секретами (по умолчанию:0400
)
Функциональность
- Создает директорию
secrets_dest
если она не существует - Сохраняет каждую переменную из
secrets_vars
как файл с таким же именем - Копирует файлы из
secrets_files
в директорию назначения - Устанавливает права доступа
0400
для всех файлов с секретами - Назначает указанного пользователя и группу владельцами директории и файлов
Пример использования
- name: Save application secrets
include_role:
name: secrets
vars:
secrets_dest: /opt/myapp/secrets
secrets_user: myapp
secrets_group: myapp
secrets_vars:
- database_password
- api_key
- jwt_secret
secrets_files:
- /path/to/ssl/certificate.pem
- /path/to/ssl/private.key
Безопасность
- Все файлы с секретами создаются с правами
0400
(только чтение для владельца) - Директория создается с правами
0750
(полный доступ для владельца, чтение и выполнение для группы) - Используется
no_log: true
для предотвращения вывода секретов в логи Ansible