Почему пароля недостаточно

 

 

 

БЕЗОПАСНОСТЬ // ACCESS_CONTROL_GOVERNANCE

Модели доступа в крупных системах

Пароль отвечает только на один вопрос: может ли пользователь подтвердить, что учётная запись принадлежит ему?

Но корпоративной системе этого недостаточно.

После успешного входа нужно понять, что именно этому пользователю разрешено делать, к каким данным он может получить доступ, какие операции доступны его роли, может ли он выполнять действия от имени другого пользователя и как одна система должна доверять другой.

В крупной компании к этому добавляется ещё один уровень сложности: доступ получают не только люди. Между собой взаимодействуют CRM, ERP, внутренние сервисы, API, базы данных, очереди, интеграционные платформы и внешние системы.

Человек(Логин + Пароль)CRM / ERP / API(Системное взаимодействие)СИСТЕМА ПРАВИЛ ДОСТУПА· Проверка личности· Контекст и роли· Доступ к ресурсам· Делегирование· Ограничение времени· Логирование / Аудит

Поэтому нормальная модель доступа выглядит не как «логин + пароль», а как целая система правил:

ЦЕПОЧКА_ПРАВИЛ // ACCESS_RULE_CHAIN
  • › кто обращается;
  • › как подтверждается личность;
  • › от чьего имени выполняется запрос;
  • › что разрешено;
  • › к каким ресурсам;
  • › на какое время;
  • › в каком контексте;
  • › что произошло с этим доступом.
РИСКИ // VULNERABILITY_POINTS

> Именно на этих уровнях чаще всего и возникают проблемы.

 

 

ПРАВИЛА // AUTH_VS_AUTH

Пароль решает только задачу аутентификации

Начнём с базового различия.

ОПРЕДЕЛЕНИЯ // ACCESS_CONCEPTS
Аутентификация

Отвечает на вопрос: «Кто ты?»

Авторизация

Отвечает на другой вопрос: «What тебе разрешено?»

Это принципиально разные задачи.

Представим сотрудника отдела продаж. Он успешно вошёл в корпоративную систему. Аутентификация прошла. Но этого недостаточно, чтобы открыть ему всю базу компании.

Ему может быть разрешено:
  • › видеть клиентов своего подразделения;
  • › создавать новые сделки;
  • › изменять статус сделки;
  • › формировать определённые отчёты.
При этом ему может быть запрещено:
  • › просматривать зарплаты сотрудников;
  • › изменять настройки системы;
  • › удалять пользователей;
  • › получать доступ к финансовым данным;
  • › менять права других сотрудников.

Пароль не описывает ни одно из этих правил.

Поэтому фраза «пользователь вошёл в систему» ещё ничего не говорит о том, что он сможет сделать после входа.

 

 

 

 

АРХИТЕКТУРА // ACCESS_MODEL_LAYERS

Из чего складывается нормальная модель доступа

В корпоративной инфраструктуре доступ обычно строится сразу из нескольких уровней.

Условно цепочка выглядит так:

Идентификация → аутентификация → авторизация → доступ к ресурсу → контроль действия → аудит

И каждый уровень решает свою задачу.

УРОВНИ // SECURITY_STACK
Идентификация

Система должна понять, о какой сущности вообще идёт речь. Это может быть конкретный сотрудник, сервис, техническая учётная запись или внешний пользователь.

Аутентификация

Система проверяет, действительно ли обращается тот, за кого себя выдаёт субъект. Пароль — только один из возможных механизмов.

Авторизация

После установления личности система решает, что этому субъекту разрешено. Именно здесь появляются роли, политики, права доступа и ограничения.

Аудит

Наконец, корпоративной системе важно знать не только, кто получил доступ, но и что именно он сделал. Без этого невозможно нормально расследовать инциденты, анализировать ошибки и контролировать критичные операции.

Также используются:

МЕХАНИЗМЫ // AUTH_METHODS
  • › одноразовые коды;
  • › аппаратные ключи;
  • › сертификаты;
  • › биометрия;
  • › многофакторная аутентификация;
  • › корпоративные системы единого входа.

Таким образом, пароль — это только один элемент одного уровня всей модели.

Почему роли важнее списка паролей

В небольшой системе можно представить доступ как список:

Иван может делать A, B и C.
Пётр может делать A и D.
Анна может делать B и E.

Но в корпоративной инфраструктуре такой подход быстро перестаёт работать.

Сотрудников становится сотни или тысячи. Систем десятки. Полномочия меняются. Люди переходят между подразделениями, получают временные функции, уходят из компании.

Поэтому права обычно связывают не напрямую с человеком, а с ролью.

РОЛЕВАЯ_МОДЕЛЬ // RBAC_FLOW
Сотрудник отдела продаж → роль Sales Manager → набор разрешений

А другой сотрудник получает другую роль:

Руководитель отдела продаж → роль Sales Manager Lead → расширенный набор разрешений

Это значительно упрощает управление.

Но и здесь есть проблема.

 

 

 

 

ОГРАНИЧЕНИЯ_МОДЕЛИ // CONTEXTUAL_AUTHORIZATION

Роль не всегда отвечает на все вопросы

Предположим, у пользователя есть роль менеджера по продажам.

Можно ли ему видеть всех клиентов?

Не обязательно.

В одной компании менеджер работает только со своими клиентами. В другой — со всеми клиентами своего региона. В третьей — со всеми клиентами, но только в рамках определённого продукта.

Поэтому корпоративная авторизация часто должна учитывать не только что можно делать, но и с какими объектами это можно делать.

СТРУКТУРА_МОДЕЛИ // ATTRIBUTE_BASED_MODEL
роль → действие → ресурс → условия

Например:

менеджер может изменять сделку, если сделка относится к его подразделению и находится на определённом этапе.

Это уже значительно ближе к реальной корпоративной авторизации.

 

 

 

 

МЕЖСИСТЕМНЫЙ_ДОСТУП // MACHINE_TO_MACHINE_AUTH

А если системы взаимодействуют между собой?

Вот здесь модель доступа становится ещё интереснее.

Представим обычный бизнес-процесс:

CRM ──► интеграционный сервис ──► ERP ──► сервис уведомлений

Пользователь может вообще не взаимодействовать с ERP напрямую.

CRM передаёт данные интеграционному сервису, а тот обращается к ERP.

Возникает вопрос:

«кто именно имеет право выполнять эту операцию в ERP?»

Не человек.

Не его пароль.

Запрос выполняет другой программный компонент.

СУБЪЕКТЫ_БЕЗОПАСНОСТИ // SERVICE_IDENTITIES
  • › Поэтому у сервисов тоже должна быть собственная идентичность и собственные права.
  • › И это одна из причин, почему корпоративная безопасность значительно сложнее формы входа пользователя.

 

 

 

 

ТОКЕНИЗАЦИЯ // TOKEN_GOVERNANCE

Токен — это не «пароль в другом формате»

В современных системах часто используются токены.

И здесь возникает распространённое заблуждение: будто токен просто заменяет пароль.

На самом деле токен — это механизм, позволяющий передать системе определённые сведения о субъекте и его полномочиях в рамках конкретного сценария доступа.

ACCESS_TOKEN_PAYLOADСубъектsub: "service_user_01"Срок действияexp: 1791118800Область разрешенийscope: "read:orders"Аудитория / Источникaud: "erp_api" / iss: "iam"Другие параметрыcontext_id: "tx_9128"

В зависимости от архитектуры токен может содержать или представлять информацию о:

СОДЕРЖИМОЕ // TOKEN_CLAIMS
  • › субъекте;
  • › сроке действия;
  • › области разрешений;
  • › аудитории;
  • › источнике выдачи;
  • › других параметрах, необходимых для проверки запроса.

Поэтому важен не сам факт наличия токена.

Важны его жизненный цикл, область действия, способ выдачи, хранение и проверка.

КРИТИЧЕСКИЙ_РИСК // EXPIRED_TOKEN_VULNERABILITY

Если токен имеет чрезмерные права и действует слишком долго, проблема безопасности никуда не исчезает.

> Просто вместо бессрочного пароля появляется бессрочный ключ доступа.

 

 

 

 

РИСКИ // EXCESSIVE_PRIVILEGES

Чем опасны слишком широкие права

Представим интеграционный сервис, которому необходимо читать данные о заказах.

Ему действительно нужен доступ ко всей ERP?

Скорее всего, нет.

Если ему выдать права администратора «на всякий случай», система становится удобнее для разработчика, но значительно опаснее для бизнеса.

БРЕШЬ_БЕЗОПАСНОСТИ // COMPROMISE_IMPACT

При компрометации такого сервиса злоумышленник потенциально получает гораздо больше возможностей, чем необходимо для выполнения исходной задачи.

> Поэтому один из фундаментальных принципов управления доступом — минимально необходимые полномочия.

РЕАЛИЗАЦИЯ_ПРИНЦИПА // LEAST_PRIVILEGE_EXAMPLES
  • › Если сервису нужно читать заказы, ему не обязательно разрешать удалять клиентов.
  • › Если сотруднику нужно просматривать документы, ему не обязательно разрешать их удалять.
  • › Если приложению нужен доступ к одному API, ему не обязательно давать доступ ко всей инфраструктуре.

Чем уже полномочия, тем меньше потенциальный ущерб при ошибке или компрометации.

 

 

 

 

БЕЗОПАСНОСТЬ // LEAST_PRIVILEGE_PRINCIPLE

Принцип наименьших привилегий

Этот принцип особенно важен в больших информационных системах.

Идея проста:

субъект должен получать только те права, которые необходимы ему для выполнения конкретной задачи.

Причём речь не только о пользователях.

Принцип одинаково относится к:

СУБЪЕКТЫ // SECURITY_SUBJECTS
  • › сотрудникам;
  • › администраторам;
  • › сервисным аккаунтам;
  • › приложениям;
  • › интеграциям;
  • › API;
  • › автоматизированным процессам.

На практике это означает, что доступ нужно проектировать не по принципу «что можно разрешить», а по принципу:

«что действительно необходимо для выполнения этой операции?»

Это небольшое изменение в подходе, но оно сильно влияет на архитектуру безопасности.

 

 

 

 

ПРОЦЕССЫ // IDENTITY_LIFECYCLE

Доступ должен иметь жизненный цикл

Ещё одна распространённая проблема возникает не при создании доступа, а после него.

Сотрудник получает расширенные права для выполнения определённой задачи. Через полгода он переходит в другой отдел. Но права остаются.

АККУМУЛЯЦИЯ_ПРАВ // PRIVILEGE_CREEP

Появляется так называемый накопленный доступ:

> человек продолжает иметь полномочия, которые когда-то были нужны, но больше не соответствуют его текущей роли.

В крупной компании такие изменения происходят постоянно:

приём наработуизменениедолжностипереводвременныеполномочияувольнение

Поэтому управление доступом должно быть связано с жизненным циклом сотрудника.

Изменение роли в кадровой системе в идеальной архитектуре должно приводить к соответствующим изменениям доступа в информационных системах.

СИНХРОНИЗАЦИЯ // HR_INTEGRATION
  • › Именно здесь автоматизация управления доступом становится особенно важной.

 

 

 

 

ДОСТУП // TEMPORARY_PRIVILEGES

Временный доступ — тоже часть модели

Отдельная категория — временные права.

Например, специалисту нужно получить доступ к производственной системе на время расследования инцидента.

УГРОЗА // PERMANENT_ACCESS_RISK

> Выдать ему постоянные права — плохое решение.

Гораздо безопаснее предоставить необходимый уровень доступа на ограниченный срок, после чего он автоматически прекращается.

МИТИГАЦИЯ_РИСКОВ // PRIVILEGE_REDUCTION
  • › Такой подход позволяет снизить количество постоянных привилегий и уменьшить риск забытых разрешений.
  • › Особенно это важно для административного доступа.

 

 

 

 

ИДЕНТИФИКАЦИЯ // SSO_LIMITATIONS

Единый вход не означает единый доступ

Single Sign-On часто воспринимают как решение проблемы доступа целиком.

Но SSO решает прежде всего задачу удобной и централизованной аутентификации.

Сотрудник может один раз пройти проверку личности и получить возможность работать с несколькими корпоративными системами. Это удобно и с точки зрения безопасности.

ГРАНИЦЫ_ТЕХНОЛОГИИ // SSO_VS_AUTHORIZATION

Но SSO само по себе не отвечает на вопрос:

— «что именно этому сотруднику разрешено в каждой из систем?»

Можно иметь единый вход и при этом совершенно разные модели авторизации в CRM, ERP, BI-системе и внутренних приложениях.

ФУНДАМЕНТ // AUTH_BASE
  • › Поэтому единая аутентификация — это фундамент, но не вся модель управления доступом.

 

 

 

 

ТОЧКИ_ОТКАЗА // ACCESS_BREAKDOWN_POINTS

Где чаще всего ломается корпоративная модель доступа

На практике проблемы часто возникают не в самом механизме входа, а на стыках.

УЯЗВИМОСТИ // ARCHITECTURAL_WEAKNESSES
  • 1. Избыточные права:
    Доступ выдаётся шире, чем требуется. Причина обычно проста: так быстрее настроить систему. Проблема появляется позже — при изменении процессов, состава команды или компрометации учётной записи.
  • 2. Общие учётные записи:
    Когда несколько сотрудников работают под одной учётной записью, исчезает нормальная персональная ответственность. Система видит «admin» или «manager», но не всегда может определить конкретного человека. Это особенно опасно для критичных операций.
  • 3. Сервисные аккаунты без контроля:
    Техническая учётная запись может годами использоваться несколькими интеграциями, иметь широкие права и при этом никто точно не помнить, кому и зачем она была выдана.
  • 4. Долгоживущие токены:
    Если токен действует слишком долго или имеет слишком широкую область доступа, его компрометация становится серьёзной проблемой.
  • 5. Права не отзываются вовремя:
    Сотрудник уходит из компании или меняет должность, но доступы остаются.
  • 6. Разные системы используют разные правила:
    В одной системе сотрудник считается менеджером, в другой — администратором, а в третьей информация о его роли вообще обновляется вручную. В результате возникает расхождение между фактическими полномочиями и тем, что должно быть разрешено сотруднику.
  • 7. Нет нормального аудита:
    Система умеет разрешать и запрещать действия, но не сохраняет достаточную информацию о том, кто, когда и каким способом получил доступ к критичному ресурсу. В результате проблему обнаруживают, но восстановить последовательность событий уже сложно.

 

 

 

 

ЭКСПЛУАТАЦИЯ // SECURITY_BALANCING

Безопасность доступа — это не только запреты

Есть ещё одна важная сторона.

Хорошая модель доступа должна быть не только безопасной, но и управляемой.

Если для выдачи любого разрешения сотруднику приходится вручную создавать заявки, менять настройки в пяти системах и ждать несколько дней, бизнес начинает искать обходные пути.

Именно поэтому безопасность нельзя рассматривать отдельно от удобства эксплуатации.

[ КРАЙНОСТЬ 1 // ИЗБЫТОЧНАЯ ПРОСТОТА ]
Слишком простая модель создаёт риски.
[ КРАЙНОСТЬ 2 // ИЗБЫТОЧНАЯ СЛОЖНОСТЬ ]
Слишком сложная — провоцирует пользователей обходить установленные правила.
БАЛАНС // DESIGN_TARGET

> Задача архитектуры — найти баланс между безопасностью, управляемостью и удобством работы.

 

 

 

 

МАТРИЦА // MATURE_ACCESS_MODEL

Как выглядит зрелая модель доступа

Условно её можно представить так:

Пользователь / сервисИдентификацияАутентификацияПолучение контекста и полномочийПроверка политики доступаДоступ к конкретному ресурсуВыполнение операцииАудит и контроль

На каждом уровне есть собственная задача.

Именно поэтому невозможно решить всю проблему одним механизмом, будь то пароль, SSO, роль или токен.

Каждый из них закрывает только часть общей архитектуры.

 

 

ВЫВОДЫ // ENTERPRISE_ACCESS_IMPLICATIONS

Что это означает для корпоративных систем

Чем больше компания, тем меньше работает подход «давайте просто настроим доступ пользователям».

В небольшой системе можно вручную создать несколько ролей и на этом закончить.

В enterprise-среде появляются тысячи пользователей, десятки систем, сотни интеграций, внешние подрядчики, сервисные аккаунты, временные полномочия и постоянно меняющиеся бизнес-процессы.

В такой среде управление доступом становится частью архитектуры информационной системы.

Нужно понимать:

АРХИТЕКТУРНЫЙ_СПИСОК // INFRASTRUCTURE_CHECKLIST
  • › какие существуют субъекты доступа;
  • › где хранится их идентичность;
  • › кто выдаёт полномочия;
  • › как формируются роли;
  • › как проверяются права;
  • › как взаимодействуют системы;
  • › как выдаются и отзываются токены;
  • › как меняются права при изменении роли сотрудника;
  • › как предоставляется временный доступ;
  • › как фиксируются критичные операции.

И чем раньше эти вопросы заложены в architecture, тем меньше приходится исправлять впоследствии.

 

 

ИТОГ // FINAL_SUMMARY

Пароль — только входная дверь

У корпоративной системы нет одного «пароля от всего».

Есть идентичности, механизмы аутентификации, политики авторизации, роли, права на ресурсы, сервисные аккаунты, токены, интеграции и аудит.

ВОПРОСЫ_АРХИТЕКТУРЫ // CORE_QUESTIONS
  • › Пароль отвечает на вопрос:
    «Можешь ли ты доказать, что ты — это ты?»
  • › Корпоративная безопасность начинается со следующего вопроса:
    «Что именно тебе разрешено делать после этого?»
  • › А в распределённой системе появляется ещё один:
    «Почему мы должны доверять этому сервису или системе и какие именно действия мы разрешаем ей выполнять?»

Поэтому зрелая модель доступа строится не вокруг паролей.

Она строится вокруг управления идентичностями, полномочиями и доверием между компонентами системы.

И если компания проектирует новую информационную систему или объединяет несколько существующих, вопрос доступа лучше решать не после разработки, а вместе с архитектурой самого решения.

[ ИНТЕРФЕЙС ]
Потому что исправить неудобный интерфейс можно позднее.
[ ФУНДАМЕНТ ]
Переделывать фундаментальную модель доступа после того, как через неё уже проходят тысячи пользователей, сервисов и интеграций, значительно сложнее.

 

 

НАВИГАЦИЯ // SUGGESTED_READING
 
[ Модуль // ИНТЕГРАЦИИ ]

API, Webhook или очередь сообщений?

 
[ Модуль // ИНТЕГРАЦИИ ]

Когда API есть, а интеграция всё равно не работает

 
[ Модуль // АВТОМАТИЗАЦИЯ ]

Как соединить производство и корпоративные системы

 
[ EXPERTISE JOURNAL ]

Все инженерные материалы и экспертные статьи

 
[ CORE GLOSSARY ]

Полный алфавитный справочник ИТ-терминов

 

[ DIRECT EMAIL LINE ]
info@log-ai.ru

 

🔒 Данные и доступ к системам заказчика обрабатываются в соответствии с согласованными требованиями к безопасности и конфиденциальности. Условия доступа, хранения и обработки данных определяются архитектурой проекта и договором.

Сайт носит исключительно информационный характер и не является публичной офертой в соответствии со статьёй 437 Гражданского кодекса РФ. Цены, состав и условия предоставления услуг уточняются при проектировании решения и фиксируются в договоре. Условия технического сопровождения и уровень сервиса могут дополнительно определяться отдельным соглашением (SLA).

© 2026 Log-AI Москва
Автоматизация бизнеса и ИИ-решения под ключ
Самозанятый Скопец Антон Викторович ИНН 741709260870
Политика конфиденциальности Пользовательское соглашение
AI Ассистент
×