Help us shape the future of Go! Take the 2026 Go Developer Survey

acrlevel

package
v1.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

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

func Rank(acr string) int

Rank отображает значение `acr` в сравнимое целое. Незнакомое и искажённое значение — 0 (аноним): fail-closed там, где политика ждёт ≥ 1.

func Satisfies

func Satisfies(presented, required string) bool

Satisfies сообщает, удовлетворяет ли предъявленный `acr` требуемому порогу.

  • required "" или "0" → требования нет → всегда true;
  • иначе → Rank(presented) >= Rank(required).

Отсутствующий или незнакомый предъявленный `acr` ранжируется нулём и не проходит ни одного положительного порога (fail-closed).

Это ТОЛЬКО ветвь `acr` правила step-up. Точка принуждения зовёт `grpcsrv.EvaluateStepUp`, которое сверх неё применяет изъятие машинного принципала и окно свежести MFA; вызов Satisfies прямо из пути принуждения воспроизводит половину правила — ровно то, что ловят пробы равенства вердиктов у точек принуждения.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL