Version Firewall + Author Mirror
Сборки Governance могут ограничивать, какие версии Node.js устанавливаются, через локальный firewall (статические списки allow/block) и зеркало Node.js с политиками Author Software на https://mirror.author.io/runtime/nodejs (правила жизненного цикла, например блокировка end-of-life релизов).
Для обычных URL node_mirror/npm_mirror и HTTP-прокси см. Зеркала загрузок.
Firewall
Локальный firewall NVM for Windows учитывает списки разрешённых/заблокированных версий из политик безопасности организации (см. ключи реестра edition governance). Статические записи применяются на клиенте до начала любой загрузки при каждом nvm install <version>. Эта локальная проверка работает в изолированных средах.
Псевдонимы жизненного цикла вроде EOL локальный firewall не раскрывает; они применяются при установках через зеркало Author (ниже).
Для исходящих allow-list firewall см. Требования. Полный перечень типов ключей — в справочнике политики реестра и базовой конфигурации.
Author Mirror
Зеркало Author добавляет ещё один уровень защиты от неодобренных загрузок Node.js. Оно применяет динамические политики через правила, дополняя локальные списки allow/block.
Зеркало Author недоступно в изолированных (air-gapped) средах.
Укажите node_mirror / MirrorNode на сервис зеркала Author: https://mirror.author.io/runtime/nodejs
Разрешите исходящий HTTPS к:
licensing.author.io— ключи лицензии и проверкиmirror.author.io— архивы Node
На хостах Author NVM может отправлять:
| Учётные данные | Реестр | Назначение |
|---|---|---|
| Access token | AccessToken | Authorization: Bearer … при загрузках Author; также для проверки лицензии |
| Access key | AccessKey | Подписывает краткоживущий mirror JWT (X-Author-License) в Governance |
Задавайте их скриптами портала/политикой, а не обычными ключами nvm config docs. Если единственное настроенное зеркало — Author и авторизация не прошла, установка завершится ошибкой авторизации. При нескольких зеркалах NVM может перейти к следующему URL после неудачной попытки (если только это не жёсткий отказ авторизации на единственном зеркале Author).
Если nodejs.org (или другой не-Author хост) идёт дальше в node_mirror, неудачный запрос к Author может перейти на fallback и скачать без правил жизненного цикла Author (EOL, hosted rulesets). Ставьте Author первым и убирайте публичные fallback, если эти правила должны применяться всегда.
Опционально: ApplyVerboseLicenseMetadata включает claims идентичности машины/пользователя в mirror JWT для аудита.
Применение динамических политик
Динамические политики — псевдонимы жизненного цикла (например, EOL), классифицирующие диапазон версий. Зеркало Author оценивает их при выдаче загрузок. Те же списки политики машины, что питают локальный firewall, могут также заполнять эти псевдонимы в license JWT Author.
Есть два (комбинируемых) способа применить динамические политики на зеркале Author.
1. Из политики машины (JWT claims)
VersionAllowList / VersionBlockList (см. ключи реестра Governance) выполняют двойную роль:
- Статические записи — применяются локальным firewall (выше), до любой загрузки.
- Динамические псевдонимы (
EOL,ALPHA,MAINTENANCE) — локальный firewall игнорирует; включаются в краткоживущий license JWT, отправляемый только наmirror.author.io. Зеркало применяет эти правила жизненного цикла при выдаче архива.
| Запись политики | Локальный клиент | Author mirror (mirror.author.io) | Публичное зеркало (nodejs.org) |
|---|---|---|---|
16.x в block list | Запрещено до загрузки | Не достигается | Не достигается |
EOL в block list | Разрешено локально (псевдоним игнорируется) | Запрещено, если версия end-of-life | Нет Author JWT — не применяется |
Только allow 20.x (без magic) | Не-20 запрещены локально | — | — |
# Registry Keys
VersionBlockList=EOL
VersionAllowList=20.x
22.x
Что это даёт:
- Локально:
20.x/22.xсовпадают с allow list.EOLне раскрывается, поэтому end-of-life релиз не останавливается на клиенте одним этим псевдонимом. Поскольку есть динамический псевдоним, allow list также не считается эксклюзивным: другие версии всё ещё проходят локальную проверку. - На
mirror.author.io: клиент отправляет license claim из этих списков (включаяNOT EOL). Зеркало отклоняет end-of-life архивы. - На
nodejs.org(или любом не-Author зеркале): нет Author JWT —EOLничего не делает. Ставьте Author первым вnode_mirrorили добавьте статические блокировки (например,16.x), если нужно принуждение без зеркала Author.
Изолированные/local_install_only установки не обращаются к зеркалу, поэтому EOL в локальных средах не применяется. Используйте статические allow/block списки (или размещайте только одобренные архивы).
2. Hosted Rules
Hosted rules настраиваются через клиентский портал:
Эти правила можно применять условно по:
- Диапазонам IP-адресов
- Географическому местоположению
- Доменам (например, Active Directory Domain ID, Entra ID)
- Учётной записи/SID пользователя
- Назначенному Access Key (License Group)
Правила, совпадающие с вашими условиями, применяются к каждому запросу — тонкий контроль над разрешёнными версиями для загрузки.
Организации, чьи политики запрещают хранение любых данных организации на hosted-сервисах, могут отключить hosted rules без влияния на локальные правила, обрабатываемые зеркалом. Это делается на странице конфигурации Node Mirror.
Строго регулируемые организации или организации с очень жёсткими compliance-политиками могут запросить полное удаление этой функции. Свяжитесь с нами, если нужно убрать hosted rules полностью.
Локальные (и изолированные) установки
| Настройка | Реестр | Роль |
|---|---|---|
local_dir | LocalInstallDir | Каталог предразмещённых архивов Node (+ checksums). Предпочтительнее сети, если есть. |
local_install_only | LocalInstallOnly | Если включено, никогда не загружать; ошибка при отсутствии версии локально. |
AirGapped отдельно: только принудительная офлайн-проверка license JWKS (licensing.author.io пропускается). Сама по себе не блокирует загрузки Node — для air-gap установок используйте LocalInstallOnly (и/или уберите удалённые зеркала). См. Локальные установки и Изолированные установки.
См. также
| Тема | Документ |
|---|---|
Базовые node_mirror / npm_mirror | Зеркала загрузок |
| HTTP-прокси | Зеркала загрузок |
| Пользовательские ключи конфигурации | Базовая конфигурация |
Ключи политики и образец .reg | Справочник политики реестра |
| Исключения firewall | Требования |
| Возможности edition | Выбор edition |
| Проверка зеркал/прокси | nvm env |