Airlock поддерживает WebAuthn как второй фактор аутентификации. WebAuthn используется при входе в Airlock (airsh login или веб-интерфейс), а также при подключении к SSH-узлам и Kubernetes (airsh ssh, kubectl).
Поддерживаются аппаратные ключи (YubiKey, SoloKey) и биометрические аутентификаторы (Touch ID, Windows Hello).
Предварительные требования
- Аппаратный ключ WebAuthn или встроенный биометрический аутентификатор.
- Браузер с поддержкой WebAuthn.
- Утилита
airctlдля настройки кластера.
Шаг 1. Включение WebAuthn
Динамическая конфигурация
Отредактируйте ресурс cluster_auth_preference:
airctl edit capПример конфигурации:
kind: cluster_auth_preference
version: v2
metadata:
name: cluster-auth-preference
spec:
type: local
second_factor: "on"
webauthn:
rp_id: airlock.example.com
attestation_allowed_cas:
- "/path/to/allowed_ca.pem"
attestation_denied_cas:
- "/path/to/denied_ca.pem"Статическая конфигурация
Фрагмент /etc/airlock.yaml:
auth_service:
authentication:
type: local
second_factor: on
webauthn:
rp_id: airlock.example.com
attestation_allowed_cas:
- "/path/to/allowed_ca.pem"
attestation_denied_cas:
- "/path/to/denied_ca.pem"Перезапустите Auth Service после изменения.
Поля webauthn
| Поле | Описание |
|---|---|
rp_id | Публичный домен Proxy Service (без https:// и порта) |
attestation_allowed_cas | Allow list CA для проверки устройств при регистрации |
attestation_denied_cas | Deny list CA — устройства с этими CA отклоняются |
По умолчанию все устройства разрешены. Для ограничения моделей используйте attestation_denied_cas.
Начиная с Airlock v10, WebAuthn заменяет U2F. Существующие U2F-устройства поддерживаются автоматически.
Шаг 2. Регистрация устройства
Пользователь регистрирует WebAuthn-устройство:
airsh mfa add
# Choose device type [TOTP, WEBAUTHN]: webauthn
# Enter device name: desktop yubikey
# Tap any *registered* security key or enter a code from a *registered* OTP device:
# Tap your *new* security key
# MFA device "desktop yubikey" added.Если при регистрации нужен только OTP как подтверждение (без WebAuthn):
airsh mfa add --mfa-mode=otpШаг 3. Вход через WebAuthn
После регистрации устройства при входе запрашивается подтверждение:
airsh login --proxy=airlock.example.com
# Enter password for Airlock user alice:
# Tap any security key or enter a code from a OTP device:
# > Profile URL: https://airlock.example.com
# Logged in as: alice
# Cluster: airlock.example.com
# Roles: access, editor
# Logins: alice
# Kubernetes: enabled
# Valid until: 2026-07-05 14:00:00 +0300 MSK [valid for 12h0m0s]WebAuthn при входе в Airlock требуется только для локальных пользователей. Для SSO настройте MFA на стороне IdP.
Миграция с U2F
Если ранее использовался U2F, Airlock автоматически выводит конфигурацию WebAuthn из U2F. Сохраните поле u2f.app_id, чтобы не перерегистрировать устройства:
auth_service:
authentication:
type: local
second_factor: on
u2f:
app_id: https://airlock.example.com
webauthn:
rp_id: airlock.example.com
attestation_allowed_cas:
- "/path/to/u2f_attestation_ca.pem"Следующие шаги
- Настройте OTP/TOTP как альтернативный второй фактор
- Ознакомьтесь с политиками доступа