Режимы учётных данных (RDP / SSH)¶
Обновлено: 2026-05-30
Синхронизировано с reference/credential-modes.md и кодомrdp_credentials.py,ssh_credentials.py.
При выдаче доступа (grant) или approve JIT для RDP/SSH задаётся credential_mode на permission.
Режимы¶
| Mode | Описание |
|---|---|
reuse_console_password | Пароль из session vault пользователя (введён при login в scope.kz) |
vaulted | Пароль хранится зашифрованно на permission; опционально target_username |
service_account | Учётная запись сервера из карточки resource (только admin/super_admin) |
reuse_console_password¶
- Пользователь один раз вводит domain/AD пароль при входе в scope.kz (session vault).
- При Connect broker подставляет пароль из vault.
- Если vault истёк — ошибка «Session vault expired — login again».
vaulted¶
- Администратор (super_admin) задаёт
target_usernameи опционально пароль на grant. - Пароль хранится encrypted в
permissions.target_password_encrypted. - Для standalone Windows / workstation часто используется с auto-provision local user.
service_account¶
- Connect идёт под
resource.service_username+ password/key с сервера. - Только роли
adminиsuper_admin. super_adminбез grant использует service_account implicitly при connect.
Совместимость с host_kind (RDP)¶
| host_kind | reuse_console | vaulted | service_account |
|---|---|---|---|
ad_member | ✓ | ✓ | ✓ (admin+) |
standalone_windows | ✗ | ✓ | ✓ (admin+) |
workstation | ✗ | ✓ | ✓ (admin+) |
linux | (SSH path) | ✓ | ✓ (admin+) |
SSH / SFTP¶
resolve_ssh_credentials() зеркалит RDP modes:
- Username:
target_username→ad_login→ UPN prefix → email prefix. - super_admin без permission →
service_account. - admin с grant может использовать
service_accountесли mode так задан.
Private key: resource service_private_key_encrypted (PEM) для service account.
Auto-provision local user¶
Только vaulted + флаг auto_provision_local_user:
| Платформа | Действие |
|---|---|
| Windows (standalone/workstation) | WinRM: создать local user, Remote Desktop Users |
| Linux | SSH: useradd, optional sudo (can_write) |
- Выполняется при grant/update, не при каждом connect.
- При revoke — disable user (best-effort deprovision).
Подробнее: reference/credential-modes.md.
can_write (SFTP / Linux)¶
| can_write | SFTP |
|---|---|
true | upload, delete, rename, mkdir, transfer |
false | только list + download |
Connect RDP/SSH не блокируется read-only grant; мутации SFTP — да.
UX в grant-диалогах¶
Reuse console passworddisabled для standalone/workstation.service_accounthidden/disabled для roleuser.- Пустой пароль при re-grant не затирает сохранённый vaulted secret.