Documentation
¶
Overview ¶
Package acrlevel — ранжирование уровня аутентификации (`acr`): ОДНА таблица на платформу.
Порядок (нормативный):
"" / "0" (аноним) < "1" (только пароль, AAL1) < "2" (стойкий к фишингу / MFA, AAL2) < "3" (аппаратный ключ доступа с проверкой пользователя, AAL3)
Незнакомое значение ранжируется нулём (fail-closed). Требование "" (или "0") означает, что требования НЕТ.
Почему отдельный пакет ¶
Ранжирование — чистая функция, и читают его не только точки принуждения (правило step-up `grpcsrv.EvaluateStepUp`), но и слои, у которых транспорта нет вовсе: разбор настроек посадки, use-case службы доступа. Пока таблица жила в пакете gRPC-сервера, каждый такой читатель получал ребро на сервер ради одной функции. Здесь пакет не импортирует ничего; что транспорт не приезжает и транзитивно, держит проба `TestRankingPackagePullsNoTransport` рядом.
Одна таблица ¶
Правило step-up берёт ранг отсюда и своей таблицы не держит; второй таблицы в модуле нет.
Прежний адрес ¶
До этого пакета ранжирование жило по адресу `grpcsrv.ACRRank` и `grpcsrv.ACRSatisfies` (v1.9.0). Этот адрес остаётся — устаревшими псевдонимами с абзацем `Deprecated:`, которые переадресуют сюда и своей таблицы не держат (TestDeprecatedACRAddressesAreForwardingFunctions в grpcsrv). Путь модуля — без суффикса мажорной версии, и снятое экспортированное имя в минорном выпуске v1 ломало бы сборку потребителя, поднявшего пин. Поэтому псевдонимы снимаются только мажорным выпуском модуля; потребитель переезжает на этот адрес вместе с бампом пина, не дожидаясь его.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Rank ¶
Rank отображает значение `acr` в сравнимое целое. Незнакомое и искажённое значение — 0 (аноним): fail-closed там, где политика ждёт ≥ 1.
func Satisfies ¶
Satisfies сообщает, удовлетворяет ли предъявленный `acr` требуемому порогу.
- required "" или "0" → требования нет → всегда true;
- иначе → Rank(presented) >= Rank(required).
Отсутствующий или незнакомый предъявленный `acr` ранжируется нулём и не проходит ни одного положительного порога (fail-closed).
Это ТОЛЬКО ветвь `acr` правила step-up. Точка принуждения зовёт `grpcsrv.EvaluateStepUp`, которое сверх неё применяет изъятие машинного принципала и окно свежести MFA; вызов Satisfies прямо из пути принуждения воспроизводит половину правила — ровно то, что ловят пробы равенства вердиктов у точек принуждения.
Types ¶
This section is empty.