Указать цели и задачи обучения предмету/занятий по программе; государственную программу (или программы), на основе которой составлена данная программа; причины ее составления и отличие от государственной программы/или взятой за основу программы.
Рекомендуем также дать таблицу тематического распределения часов:
государственная программа (программы)
модифицированная (авторизованная) программа
2.Содержание обучения.
Перечислить изучаемые разделы и темы с указанием числа часов по разделам и темам, которые будут изучаться при раскрытии этого раздела и темы.
3.Перечень практических работ.
4. Требования к подготовке учащихся по предмету (к знаниям учащихся).
Перечислить требования в соответствии с государственной учебной программой или государственными учебными программами (для интегрированного курса).
5. Список рекомендуемой учебно-методической литературы
Список литературы должен содержать используемый учителем/педагогом-психологом учебно-методический комплект (УМК).
АВТОРСКАЯ ПРОГРАММА «ЗАГАДКА ДЫРЫ» /дело ЗИНКИ/
Источник: studfile.net
Никто (почти) не знает, что такое авторизация


За время работы архитектором в проектах внедрения IdM я проанализировал десятки реализаций механизмов авторизации как во внутренних решениях компаний, так и в коммерческих продуктах, и могу утверждать, что практически везде при наличии относительно сложных требований они сделаны не правильно или, как минимум, не оптимально. Причиной, на мой взгляд, является низкое внимание и заказчика и разработчиков к данному аспекту на начальных этапах и недостаточная оценка влияния требований. Это косвенно подтверждает повсеместное неправильное использование термина: когда я вижу словосочетание «двухфакторная авторизация», у меня начинаются боли чуть ниже спины. Ради интереса мы проанализировали первые 100 статей на Хабре в выдаче по запросу «авторизация», результат получился неутешительный, боли было много:
В более чем 80% случаев термин употребляется неверно, вместо него следовало бы использовать слово «аутентификация». Далее я попытаюсь объяснить что это такое, и почему крайне важно уделить особое внимание этой теме.
Что же это такое?
Процитируем Википедию:
Авториза́ция (англ. authorization «разрешение; уполномочивание») — предоставление определенному лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий.
С точки зрения любой информационной системы это процесс принятия решения о предоставлении доступа субъекту на выполнение операции на основании каких-либо знаний о субъекте. К этому моменту субъект, как правило, уже должен быть идентифицирован (мы должны знать, кто он) и аутентифицирован (подтверждена его идентичность).
АВТОРСКАЯ ПРОГРАММА «ЗАГАДКА ДЫРЫ» /дело ПОРОСЯТ/
Реализация авторизации при разработке корпоративной информационной системы или продукта, ориентированного на корпоративный сектор — очень сложная и ответственная задача, которой часто уделяется недостаточное внимание на этапе проектирования и первичном этапе разработки, что в будущем ведет к «костыльной» реализации.
Проблематика
Давайте разберемся, какие требования к авторизации встречаются, и почему их крайне важно учитывать изначально при проектировании системы, а не откладывать на будущее. Источников требований к авторизации в корпоративной информационной системе, как правило, два — это бизнес и информационная безопасность. В общем случае бизнес хочет хранить секреты в тайне и предоставлять полномочия пользователям в соответствии с их функцией в бизнес-процессе, а безопасность хочет обеспечить минимальную достаточность полномочий каждому пользователю и аудировать доступ.
Возьмем для примера гипотетическую систему согласования договоров крупной компании, типовой кровавый энтерпрайз. Практически наверняка возникнут следующие требования к авторизации от бизнеса:
- Пользователь, не имеющий отношения к конкретному договору, не должен его видеть в системе
- Автор договора должен видеть его на всех этапах.
- Создавать договор имеет право пользователь с грейдом не ниже 10.
- Визирующий должен видеть договор, начиная с поступления к нему на этап и далее.
- Руководители подразделений должны видеть договоры своих подразделений вверх по иерархии.
- Автор договора и руководитель подразделения имеют право отозвать договор на любом этапе согласования.
- Руководство и секретариат головного офиса должны видеть документы всех филиалов.
- Пользователь, создавший договор, не должен иметь права его завизировать.
- Знать, кто имеет доступ к конкретному договору.
- Знать, кто имел доступ к конкретному договору в заданный момент времени.
- Лишать пользователя доступа к ранее доступным документам при изменении его должностных обязанностей.
Итак, обозначим, почему эти требования проблемные:
- Они не стабильны. Вероятность их изменения, даже в краткосрочной перспективе, стремится к 1.
- Они сквозные. Их реализация влияет на все слои, от дизайна БД до UI.
- Они лежат в плоскости предметной области. Это ведет к сильной связности механизма авторизации со слоем бизнес-логики.
- Они влияют на производительность.
Пути решения
Решить данную задачу нам помогают разработанные модели управления доступом:
MAC — мандатная модель управления доступом. Доступ субъекта к объекту определяется его уровнем доступа: уровень доступа субъекта должен быть не ниже уровня секретности объекта.
DAC — прямое управление доступом. Доступ субъекта к объекту определяется наличием субъекта в списке доступа (ACL) объекта.
RBAC — ролевая модель управления доступом. Доступ субъекта к объекту определяется наличием у субъекта роли, содержащей полномочия, соответствующие запрашиваемому доступу.
АВАС — атрибутивная модель управления доступом. Доступ субъекта к объекту определяется динамически на основании анализа политик учитывающих значения атрибутов субъекта, объекта и окружения. Сюда же относятся PBAC, RAdAC, CBAC, с некоторыми нюансами (шикарный обзор от CUSTIS).
Их крайне рекомендуется использовать в первозданном виде, не изобретая велосипед. Достаточно часто в сложных информационных системах используется комбинация моделей. Например, популярна комбинация ACL + RBAC, когда роль включается в список доступа. Однако, правильное применение готовых моделей — тоже не простая задача. Не всем удается правильно выбрать модель, отделить ее от бизнес-логики и достичь приемлемой производительности механизма авторизации.
Для реализации озвученных выше в разделе «Проблематика» требований, на первый взгляд, я бы выбрал комбинацию PBAC + ACL. Требования могли бы быть реализованы следующим образом:
| 1 | Пользователь, не имеющий отношения к конкретному договору, не должен его видеть в системе | Тут напрашивается ACL, поскольку определить отношение пользователя к бизнес-процессу достаточно сложно, не записывая его в какой-то список в момент вовлечения. Это будет оптимальным решением с точки зрения производительности чтения относительно реализации с помощью политик. |
| 2 | Автор договора должен видеть его на всех этапах | Требование может быть реализовано обоими механизмами, но оптимальным я считаю ACL, поскольку в этом случае будет проще реализовать требование №3 от ИБ. |
| 3 | Создавать договор имеет право пользователь с грейдом не ниже 10 | Это политика (PBAC), без вариантов |
| 4 | Визирующий должен видеть договор начиная с поступления к нему на этап и далее | ACL будет оптимален |
| 5 | Руководители подразделений должны видеть договоры своих подразделений вниз по иерархии | Замечательная задача для PBAC, но его применение может снизить производительность чтения, а требования 1 и 2 от ИБ потребуют дополнительных усилий, поэтому стоит подумать над реализацией. |
| 6 | Автор договора и руководитель подразделения имеют право отозвать договор на любом этапе согласования | PBAC справится отлично |
| 7 | Руководство и секретариат головного офиса должны видеть документы всех филиалов | PBAC, с теми же ограничениями что и в п. 5 |
| 8 | Пользователь, создавший договор, не должен иметь права его завизировать | Это требование можно было бы закрыть с помощью PBAC, однако так делать не стоит. Это то самое место, где авторизация вступает в конфликт с бизнес-логикой, и если происходит такая ситуация, ответственность стоит отдать бизнес-логике. |
Перечисленные требования ИБ без всяких проблем реализуются с использованием ACL, однако бизнес-требования 5 и 7 мы реализуем с помощью PBAC. Так что для реализации требований ИБ 1 и 2 придется добавить к ним журнал или аналогичный механизм, поскольку при всей своей красоте динамические правила плохо аудируются:
| 1 | Знать, кто имеет доступ к конкретному договору | Общий журнал для ACL и PBAC |
| 2 | Знать, кто имел доступ к конкретному договору в заданный момент времени | Общий журнал для ACL и PBAC |
| 3 | Лишать пользователя доступа к ранее доступным документам при изменении его должностных обязанностей | ACL |
Итого
Авторизация — незаслуженно обойденная вниманием тема, как в публикациях, так и непосредственно в процессе разработки. Двухфакторную аутентификацию по СМС к сайту прикрутит и ребенок. Правильно реализовать авторизацию в корпоративной системе, не наделав костылей — сложнейшая задача, о которую ломают копья сеньоры и архитекторы, а множество популярных коммерческих продуктов (к примеру, Atlassian Jira) стоят на костылях благодаря сложности требований.
Что такое Авторизация?
В рамках данной заметки, я расскажу вам что такое авторизация, а так же некоторые особенности. И начну с определения.

Авторизация (authorization — разрешение, уполномочивание) — это предоставление определенных прав для совершения действий, а так же их проверки при совершении действия (их достаточности для выполнения операции).
Например, вы вошли в аккаунт и вам были предоставлены права переписываться с вашими знакомыми, смотреть и редактировать свой список контактов и т.п. Второе и представляет собой авторизацию. Но, это только часть. Еще момент, это то, что система будет перед каждым вашим действием (скажем, собираетесь добавить фотку в альбом) проверять «а достаточно ли у вас прав для совершения этого действия».
Важно отметить, что авторизация это не идентификация (отождествление с чем-либо) и не аутентификация (проверка подлинности). Это разные понятия, хотя их и часто путают.
Если говорить простыми словами, то схема такова: вначале пользователь вводит свой логин (это идентификация — система проверяет, что такой пользователь зарегистрирован), затем пароль (это аутентификация — происходит проверка подлинности, что пользователь настоящий), а затем уже система предоставляет какие-то права (это авторизация).
Стоит понимать, что обычно все три эти понятия представляют собой неразрывную цепочку. Например, аутентификация без идентификации бессмысленна. В общем-то, как и идентификация без аутентификации, так как зная только идентификатор (логин, почту и т.п.), кто-угодно может получить доступ.
Хотя бывает разное, например, авторизация может применяться без остальных. Банально для тех же анонимных пользователей. Скажем, вы открыли сайт, система вас никак не определила и вы не вводили никакие пароли, но все же можете читать информацию в сайте и переходить по страничкам.
Какие виды авторизационных систем бывают?
Вообще, основных три вида (с разными вариациями):
1. Дискреционные системы управления доступом (DAC). Например, Windows. В данном случае подразумевается, что доступ к каждому объекту в системе определяется на основе списков доступа у этого объекта. При этом, чтобы не усложнять и не замусоривать систему, обычно еще вводится понятие группы.
И уже для групп присваиваются права объекту (но не только, в списке доступа у объекта также могут быть и отдельные пользователи). А пользователю достаточно входить в группу, чтобы получить доступ к объекту (или действию с объектом). Грубо говоря, у файла Х в списке доступа группа 1 с доступом к чтению. В таком случае, если пользователь входит в группу 1, то он сможет открыть данный файл.
2. Мандатные системы управления доступом (МАС). В данном случае речь о том, что объекту присваивается некая метка доступа. Пользователю же определяется определенный уровень доступа. Соответственно, если у пользователя достаточно прав или больше необходимого, то он сможет что-либо делать с объектом.
Если же у пользователя меньше прав, чем необходимо, то он ничего не сможет делать с объектом. Грубо говоря, представим, что существует три типа меток «Для всех», «Для пользователей», «Для владельцев сайта». Логично, что если у человека доступ уровня «Для владельцев сайта», то он сможет читать все объекты.
Но, если у человека доступ уровня «Для всех», то он, например, не сможет читать «Для пользователей». Так же важно отметить, что в мандатной модели пользователь не может присвоить объекту метку уровня выше, чем у него самого. Это позволяет ограничивать возможности по изменению уровня доступа. Например, если человек с уровнем «Для владельцев сайта» изменил метку доступа у какого-либо объекта с «Для всех» в «Для пользователей», то человек с уровнем доступа «Для всех» не сможет более с объектом взаимодействовать.
3. Управление доступом на основе ролей (RBAC). В данном случае речь о том, что пользователю присваиваются определенные роли. И уже доступ к действиям и объектам определяется наличием соответствующего доступа у роли. При чем в одних системах у пользователя одновременно может быть только одна роль (с или без возможности переключаться), а в других, скажем, несколько ролей одновременно (с наследованием, иерархией и т.п.). Отличие от двух других видов в основном в том, что роли могут определять доступ не к атомарным действиям в стиле «создать файл», а к более сложным и комплексным в стиле «создать пользователя с его профилем и т.п.».
Кстати, нередко виды комбинируют. Например, банально потому, что мандатная система в чистом виде не очень удобна.
Бывают еще и другие виды, но они встречаются существенно реже вышеприведенных.
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
Источник: ida-freewares.ru