acrlevel

package
v1.10.0-rc.5 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 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