Библиотека девопса | DevOps, SRE, Sysadmin
🛠️ GitHub Actions: секреты и подводные камни
GitHub Actions сегодня используют все - от пет-проектов до продакшн пайплайнов. Но даже у опытных инженеров часто встречаются ошибки при работе с секретами.
❌ Типичные ошибки:
- Хранение токенов в коде или .env файлах, которые случайно попадают в репозиторий.
- Вывод секретов в логи (например, через echo). GitHub заменяет их на ***, но иногда этого недостаточно.
- Использование одного общего токена для разных окружений (dev, staging, prod).
✅ Лучшие практики:
1. Secrets vs. Environments
Используй Environments с разными наборами секретов для разных стадий. Например: STAGING_DB_PASS и PROD_DB_PASS.
2. OIDC вместо токенов
GitHub поддерживает OIDC Federation. Это значит, что пайплайн может получать временные креды от AWS, GCP или Azure без хранения ключей.
3. Проверяй разрешения по умолчанию
В permissions: указывай минимально необходимые. Например:
permissions:
contents: read
id-token: write
4. Secrets scanning
Включи secret scanning и push protection, чтобы случайно не залить ключи.
💡 Маленький трюк:
Если нужно временно отладить пайплайн с секретом - лучше использовать ::add-mask:: в логах, чем echo.
Подпишись 👉@devopslib
8 · 762 ·