Перейти к основному содержимому

Shibboleth

Что такое Shibboleth

Shibboleth — это система единого входа для компьютерных сетей и интернета. Она позволяет людям входить в систему, используя только одну учётную запись для различных систем, управляемых федерациями разных организаций или учреждений. Федерациями часто являются университеты или государственные службы.

Shibboleth — это архитектура промежуточного программного обеспечения и реализация с открытым исходным кодом, созданная консорциумом Internet2 для аутентификации и авторизации на основе федеративной идентификации, основанная на SAML. Федеративная идентификация позволяет предоставлять информацию о пользователях из одного домена безопасности другим организациям в общей федерации. Это позволяет осуществлять единый вход в систему и устраняет необходимость для поставщиков контента хранить имена пользователей и пароли. Поставщики удостоверений (IdP) предоставляют информацию о пользователе, в то время как поставщики услуг (SP) используют эту информацию и ограничивают доступ к защищённому контенту.

Некоторые известные федерации Shibboleth

Федерация управления доступом в Великобритании для образования и исследований

В Великобритании Becta и JISC реализовали образовательную федерацию UK Access Management Federation for Education and Research, используя Shibboleth для обеспечения единого входа. Это означает, что образовательные учреждения в Великобритании, использующие Moodle, могут аутентифицировать своих пользователей через Shibboleth, если их организация присоединится к Федерации управления доступом в Великобритании, а удостоверение личности пользователя будет храниться у поставщика удостоверений, используемого местным органом власти или региональным консорциумом широкополосной связи (RBC). Для государственных школ в Англии и Уэльсе это, вероятно, будет означать обращение в местный орган власти или Региональный консорциум широкополосной связи. Список текущих членов федерации Великобритании можно найти здесь.

Швейцарская инфраструктура аутентификации и авторизации (SWITCHaai)

В Швейцарии SWITCH Foundation управляет федерацией под названием Swiss Authentication and Authorization Infrastructure (SWITCHaai), охватывающей около 160 учреждений и предоставляющей универсальный вход для всех жителей Швейцарии под Switch edu-ID, охватывающий около 900 000 пользователей.

auth/shibboleth/README.txt

Это файл auth/shibboleth/README.txt в дистрибутиве Moodle:

Аутентификация Shibboleth для Moodle
-------------------------------------------------------------------------------

Необходимые условия:
- Shibboleth Service Provider 1.3 или новее. Рекомендовано 2.1 или новее.
См. документацию вашей федерации Shibboleth о том, как настроить Shibboleth.

Изменения:
- 11. 2004: Создан Маркусом Хагманом
- 05. 2005: Изменения в процессе входа в систему Мартином Дугиамасом
- 05. 2005: Различные расширения и исправления Лукаса Хэммерле
- 06. 2005: Адаптация к новым блокировкам полей и структурам конфигурации плагина Мартином
Лангоффом и Лукасом Хэммерле
- 10. 2005: Добавлены более информативные сообщения об ошибках и перемещён текст в языковые каталоги
- 02. 2006: Упрощена аутентификация, чтобы авторизация работала правильно
Добавлены инструкции для IIS
- 11. 2006: Возможности пользователя теперь загружаются правильно, начиная с Moodle 1.7+
- 03. 2007: Метод аутентификации адаптирован к Moodle 1.8
- 07. 2007: Исправлена ошибка, вызывающая проблемы с именами пользователей в верхнем регистре
- 10. 2007: Удалён требование об адресе электронной почты, фамилии и имени по запросу Маркуса Хагмана
- 11. 2007: Интегрирована служба WAYF в Moodle
- 12. 2008: Добавлена поддержка Shibboleth 2.x и единого выхода из системы
- 1. 2008: Добавлен хук выхода из системы и перемещены строки конфигурации Shibboleth в языковые файлы аутентификации utf8.
- 3. 2009: Добавлены различные улучшения и исправления ошибок, сообщённые Иной Мюллер из
Тюбингенского университета и Питером Эллисом из Вашингтонского университета
- 4. 2009: Добавлено ещё одно необходимое условие для выхода из системы, касающееся сценария обратного вызова
- 6. 2009: Изменено URL-адрес обработчика при использовании интегрированной службы обнаружения
- 10. 2009: Исправлена сохранность сущности HTML в настройках Shibboleth

Настройка Moodle с двойным входом
-------------------------------------------------------------------------------
1. Защитите каталог moodle/auth/shibboleth/index.php с помощью Shibboleth.
Страница index.php в этом каталоге фактически выполняет вход пользователя Shibboleth.
Для Apache вы должны определить правило, подобное следующему, в конфигурации Apache:

--
<Directory /path/to/moodle/auth/shibboleth/index.php>
AuthType shibboleth
ShibRequireSession On
require valid-user


--

Чтобы ограничить доступ к Moodle, замените правило доступа 'require valid-user'
на что-то, что соответствует вашим потребностям, например, 'require affiliation student'.

Для IIS вы должны защитить каталог auth/shibboleth непосредственно в
RequestMap файла конфигурации Shibboleth (shibboleth.xml или
shibboleth2.xml).

--




...



--

Также см.:

https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPRequestMapper и
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPAccessControl

2. В качестве администратора Moodle перейдите в раздел 'Управление >> Пользователи >> Аутентификация' и
нажмите на настройки 'Shibboleth'.

3. Заполните поля формы. Поля 'Имя пользователя', 'Имя',
'Фамилия' и т. д. должны содержать имена переменных окружения атрибутов Shibboleth,
которые вы хотите сопоставить с соответствующей переменной Moodle (например, 'Shib-Person-surname' для фамилии человека,
см. документацию Shibboleth или документацию вашей федерации Shibboleth, чтобы узнать, какие атрибуты доступны).
Особенно важно поле 'Имя пользователя', потому что
этот атрибут используется для аутентификации в Moodle пользователей Shibboleth.

#############################################################################
Атрибуты Shibboleth, необходимые для Moodle:
Для правильной работы Moodle Shibboleth должен, по крайней мере, предоставить атрибут,
который используется в качестве имени пользователя в Moodle. Он должен быть уникальным для всех пользователей Shibboleth.
Обратите внимание, что Moodle преобразует имя пользователя в нижний регистр. Таким образом, общее
поведение имени пользователя будет нечувствительным к регистру.
` Все атрибуты, используемые в Moodle, должны соответствовать определённой длине, в противном