Organization secrets

Тема дорожной карты · GitHub Actions

Секреты организации в GitHub Actions — зашифрованные значения, хранящиеся на уровне организации и предоставляемые выбранным репозиториям через контекст ${{ secrets.NAME }}. Это позволяет platform-командам централизованно управлять учётными данными: токенами реестров, ключами подписи или ARN облачных ролей. Каждый секрет организации можно ограничить всеми репозиториями, только приватными или явным списком разрешённых, сохраняя единый источник истины без утечки секретов в форки или публичные проекты. Workflow обращаются к секретам организации точно так же, как к секретам репозитория, поэтому CI/CD-пайплайн может ссылаться на ${{ secrets.NPM_TOKEN }}, не зная, хранится ли значение на уровне репозитория или организации. Сочетание секретов организации с правилами защиты окружений и OIDC дополнительно сокращает количество долгоживущих секретов, с которыми runner когда-либо сталкивается в workflow GitHub Actions.

Как это работает

Organization secrets: repository secrets (${{ secrets.X }} — маскируются в логах, доступны workflow), environment secrets (per-environment scope с required reviewers), organization secrets (общие между репо с выбором), variables (${{ vars.X }} — не маскируются, plain-конфиг). Автопровиженный GITHUB_TOKEN — short-lived токен с scoped-правами для workflow. OIDC-токены позволяют cloud-auth без long-lived ключей.

Когда применять

Environment secrets + required reviewers — для production-деплоев: ручной approval-гейт. OIDC — для cloud-auth (AWS, GCP, Yandex Cloud) вместо long-lived ключей, где поддерживается. Никогда не эхо секретов в логи (echo $secret выводит ***, но секрет утёк, если что-то нормализует whitespace иначе).

Типичные ошибки

Ловушки Organization secrets: секреты в title PR или commit messages (там нет авто-маскировки); используют personal access token (PAT), где хватит GITHUB_TOKEN (PAT имеет полные права юзера — blast radius при утечке хуже); environment без required reviewers, но называется "production" (ложная безопасность).

Связанные понятия

Полезные ресурсы