Skip to main content

Секреты

Узнайте о секретах, используемых в рабочих процессах GitHub Actions.

Сведения о секретах

Секреты позволяют хранить конфиденциальную информацию в вашей организации, репозитории или средах репозитория. Секреты — это переменные, которые создаются для использования в рабочих процессах GitHub Actions в организации, репозитории или среде репозитория.

GitHub Actions может считывать секрет только при явном включении секрета в рабочий процесс.

Как работают секреты

Секреты используют запечатанные коробки Libsodium, чтобы они были зашифрованы до достижения GitHub. Это происходит, когда секрет отправляется с помощью пользовательского интерфейса или через REST API. Это шифрование на стороне клиента помогает свести к минимуму риски, связанные с случайным ведением журнала (например, журналы исключений и журналы запросов, среди прочего) в инфраструктуре GitHub. После отправки секрета GitHub затем сможет расшифровать его, чтобы его можно было внедрить в среду выполнения рабочего процесса.

Секреты уровня организации

Секреты уровня организации позволяют совместно использовать секреты в нескольких репозиториях, что снижает потребность в создании повторяющихся секретов. При обновлении секрета организации в одном расположении это изменение вступает в силу во всех рабочих процессах репозитория, использующих этот секрет.

При создании секрета для организации можно использовать политику для ограничения доступа по репозиторию. Например, можно предоставить доступ ко всем репозиториям либо ограничить доступ только частными репозиториями или указанным списком репозиториев.

Для секретов среды можно включить необходимых рецензентов для управления доступом к секретам. Доступ к секретам среды предоставляется заданию только после создания утверждения требуемыми проверяющими.

Чтобы сделать секрет доступным для действия, необходимо задать секрет в качестве входной или переменной среды в файле рабочего процесса. Просмотрите файл сведений о действии, чтобы узнать, каких входных данных и переменных среды ожидает действие. См . раздел AUTOTITLE.

Ограничение разрешений для учетных данных

При создании учетных данных рекомендуется предоставить минимальные разрешения. Например, вместо использования личных учетных данных используйте ключи развертывания или учетную запись службы. Попробуйте предоставить разрешения только для чтения, если это необходимо, и максимально ограничить доступ.

При создании personal access token (classic)выберите самые необходимые области. При создании fine-grained personal access tokenвыберите минимальные разрешения и необходимый доступ к репозиторию.

Вместо использования personal access tokenрекомендуется использовать GitHub App, которая использует точные разрешения и короткие маркеры, аналогичные fine-grained personal access token. В отличие от personal access token, GitHub App не привязан к пользователю, поэтому рабочий процесс будет продолжать работать, даже если пользователь, установивший приложение, покидает вашу организацию. Дополнительные сведения см. в разделе Выполнение запросов API с проверкой подлинности с помощью приложения GitHub в рабочем процессе GitHub Actions.

Автоматически редактированные секреты

GitHub Actions автоматически редактирует содержимое всех секретов GitHub , которые печатаются в журналах рабочих процессов.

GitHub Actions также редактирует информацию, которая распознается как конфиденциальная, но не хранится в виде секрета. Список автоматически отредактированных секретов см. в разделе Справочник по секретам.

Так как можно преобразовать значение секрета несколькими способами, это изменение не гарантируется. Кроме того, средство выполнения может изменять только секреты, используемые в текущем задании. В результате необходимо выполнить определенные упреждающие действия по обеспечению безопасности, чтобы убедиться, что секреты редактируются и ограничивают другие риски, связанные с секретами. Список рекомендаций по обеспечению безопасности с секретами см. в разделе Справочник по секретам.

Дополнительные материалы