{"meta":{"title":"Неизменяемые выпуски","intro":"Узнайте о неизменяемых выпусках и о том, как они помогут вам обеспечить целостность цепочки поставок программного обеспечения.","product":"Безопасность и качество кода","breadcrumbs":[{"href":"/ru/code-security","title":"Безопасность и качество кода"},{"href":"/ru/code-security/concepts","title":"Concepts"},{"href":"/ru/code-security/concepts/supply-chain-security","title":"Безопасность цепочки поставок"},{"href":"/ru/code-security/concepts/supply-chain-security/immutable-releases","title":"Неизменяемые выпуски"}],"documentType":"article"},"body":"# Неизменяемые выпуски\n\nУзнайте о неизменяемых выпусках и о том, как они помогут вам обеспечить целостность цепочки поставок программного обеспечения.\n\n```\n          **Неизменяемые выпуски — это выпуски** , в которых ресурсы и связанный тег Git не могут быть изменены после публикации. Использование этого типа релиза повышает безопасность за счет блокировки атак на цепочку поставок. Злоумышленники не могут:\n```\n\n* Внедряйте уязвимости или вредоносное ПО в текущие релизы проектов.\n* Вносите изменения в ресурсы и теги, которые могут нарушить рабочие процессы разработчиков.\n\n## Что защищают неизменяемые релизы\n\nПри включении неизменяемых выпусков применяются следующие меры защиты:\n\n* **Git-теги нельзя перемещать**: После публикации неизменяемого релиза его связанный с ним тег Git блокируется на конкретном коммите, не может быть изменен и не может быть удалён во время существования релиза. Если вы удалите иммутабельное издание, вы можете удалить тег, но использовать то же имя тега нельзя.\n* **Ресурсы выпуска не могут быть изменены или удалены**: все файлы, прикрепленные к выпуску (например, двоичные файлы и архивы), защищены от изменения или удаления.\n\nКроме того, создание неизменяемого выпуска автоматически создает **аттестацию** выпуска, которая является криптографически проверяемой записью выпуска, содержащей тег выпуска, фиксацию SHA и ресурсы выпуска. Потребители могут использовать это подтверждение, чтобы убедиться, что используемые ими релизы и артефакты точно совпадают с опубликованными GitHub релизами.\n\n> \\[!NOTE]\n> Неизменяемые выпуски включают защиту от атак на восстановление репозитория. Даже если вы удалите репозиторий и создадите новый с тем же именем, вы не сможете повторно использовать теги, которые были связаны с неизменяемыми выпусками в исходном репозитории.\n\nЕсли релиз неизменный, вы увидите «<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-lock\" aria-label=\"lock icon\" role=\"img\"><path d=\"M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z\"></path></svg> Immutable» под заголовком на странице релиза.\n\n## Рекомендации по публикации неизменяемых выпусков\n\nМы рекомендуем использовать следующий рабочий процесс для публикации неизменяемого выпуска.\n\n1. Создайте выпуск в виде черновика.\n2. Прикрепите все связанные активы к черновику релиза.\n3. Опубликуйте черновик релиза.\n\nЭто гарантирует, что все ресурсы будут на месте до того, как релиз станет неизменяемым, что избавляет от необходимости обходить ограничения неизменяемости.\n\n## Дальнейшие шаги\n\nСведения о том, как включить неизменяемые выпуски для репозитория или организации, см. в разделе [Предотвращение изменений в выпусках](/ru/code-security/supply-chain-security/understanding-your-software-supply-chain/preventing-changes-to-your-releases).\n\nСведения о том, как убедиться, что выпуск и локальные ресурсы не были изменены, см. в статье [Проверка целостности выпуска](/ru/code-security/supply-chain-security/understanding-your-software-supply-chain/verifying-the-integrity-of-a-release)."}