В рабочей области «Проверка подлинности» можно настроить единый вход в SaltStack Config для работы с системой проверки подлинности, совместимой с протоколом Security Assertion Markup Language (SAML).

Единый вход OAuth — это функция, которую многие организации настраивают при внедрении SaltStack Config для достижения следующих целей.

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

Реализацию протокола единого входа SAML обеспечивают многие службы, в том числе ADFS, OneLogin, Okta, Shibboleth, SimpleSAMLPHP, Google Suite и др.

Примечание: Для проверки подлинности пользователей в SaltStack Config при необходимости можно использовать несколько систем одновременно. Например, можно использовать поставщик удостоверений (IdP) на базе протоколов SAML или LDAP и одновременно хранить некоторые учетные данные пользователей на сервере RaaS. Однако SaltStack Config не позволяет настраивать более двух поставщиков SAML или одновременно два поставщика LDAP.

Взаимодействие системы единого входа SAML с SaltStack Config

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

Например, если SaltStack Config получает утверждение ADFS для пользователя и настроенный атрибут удостоверения имеет значение fred, сервер SSE будет искать учетную запись с именем пользователя fred. В случае обнаружения будет выполнен вход в систему для соответствующего пользователя. В противном случае во входе будет отказано.

Терминология проверки подлинности SAML

Аббревиатура Определение
SAML

Security Assertion Markup Language, язык разметки заявлений системы безопасности

SAML — это открытый протокол (его также иногда называют стандартом) для обмена данными проверки подлинности и авторизации. В частности, он используется для обмена данными между поставщиком удостоверений и поставщиком услуг.

SAML — это система единого входа с помощью браузера. Все взаимодействия происходят в агенте пользователя (браузере). Поставщик услуг (например, SaltStack Config) не взаимодействует с поставщиком удостоверений (например, Azure AD). Это разделение позволяет проверять подлинность в разных доменах безопасности: поставщик услуг может находиться в одном (возможно, общедоступном) домене, а поставщик удостоверений — в отдельном защищенном сегменте сети.

IdP

Поставщик удостоверений

В задачу IdP входит идентификация пользователей на основе учетных данных. Поставщик удостоверений — это программная служба, которая соответствует требованиям спецификации SAML к поставщикам удостоверений. Обычно IdP предлагает интерфейс экрана входа и предоставляет поставщикам услуг информацию о пользователе после успешной проверки подлинности.

Далее указаны некоторые поставщики удостоверений.

  • ADFS
  • Azure AD
  • Google SAML
  • Shibboleth
  • Okta*
  • OneLogin
  • PingFederated
  • SimpleSAMLPHP

* Дополнительные сведения см. под этой таблицей.

SP

Поставщик услуг или проверяющая сторона

Поставщик услуг (SP) — как правило, веб-сайт, который предоставляет конечным пользователям информацию, инструменты, отчеты и т. д. Поставщик услуг — это программная служба, которая соответствует требованиям спецификации SAML к поставщикам услуг в SaltStack Config. В продуктах Microsoft (например Azure AD и ADFS) поставщик услуг называется проверяющей стороной.

В нашем сценарии SaltStack Config — поставщик услуг. SaltStack Config принимает заявления проверки подлинности от IdP и позволяет пользователям войти в систему.

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

SSO

Единый вход

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

SLO

Единый выход

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

SaltStack Config пока не поддерживает SLO.

RBAC

Управление доступом на основе ролей

Управление доступом на основе ролей, или безопасность на основе ролей — это дополнительное средство управления доступом, которое ограничивает доступ к сети в зависимости от роли сотрудника в организации. Роли в RBAC соответствуют уровням доступа сотрудников к сети.

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

SaltStack Config может поддерживать RBAC с конфигурациями SAML с помощью рабочей области «Роли». Однако для того, чтобы пользователь был добавлен в базу данных локальных пользователей и им можно было управлять в рабочей области «Роли», ему сначала необходимо войти в SaltStack Config.

Требования Okta

При настройке Okta для единого входа необходимо учитывать некоторые правила и условия.
  • В поле URL-адрес для единого входа требуется указать URL-адрес службы обработчика утверждений (Assertion Customer Service, ACS) SAML. Это URL-адрес для SSC, который оканчивается на /autho/complete/saml. Например, http://xxx.x.x.x:8080/auth/complete/saml.
  • Для интеграции SAML требуется, чтобы пользовательский интерфейс работал на основе SSC. Если использовать сеть предоставления содержимого или любой другой веб-сайт, кроме SSC, произойдет сбой интеграции.
  • Все ответы SAML должны быть подписаны. В Okta этот параметр можно включить в разделе Расширенные настройки.
  • Каждый атрибут SAML, настроенный в SSC, должен существовать и передаваться в ответе SAML.

Необходимые условия

Перед настройкой SAML в SaltStack Config сделайте следующее.

  • Установите поставщик удостоверений SAML (IdP) и проверьте его работу.
  • Убедитесь в наличии доступа к учетным данным и данным конфигурации, которые предоставляет IdP.
  • Чтобы добавить SaltStack Config в качестве утвержденного поставщика услуг в систему поставщика удостоверений, создайте сертификат. Поставщику услуг SaltStack Config требуется пара ключей RSA. При настройке SAML для SaltStack Config значения закрытого и открытого ключей вводятся в нескольких полях.
    Примечание: Эту пару ключей можно сгенерировать в любой системе. Ее не требуется создавать на сервере SSE. Эти команды выполняются в любой системе, где установлены служебные программы openssl. Кроме того, для создания самозаверяющего сертификата можно использовать систему Salt. Дополнительные сведения см. в разделе Самозаверяющие сертификаты с модулем TLS Salt.
    Чтобы создать сертификат, создайте закрытый ключ с именем cert.perm, используя команду openssl genrsa -out cert.pem 2048. Затем создайте открытый ключ, связанный с закрытым ключом, используя команду openssl req -new -x509 -key cert.pem -out cert.pub -days 1825 и следуя подсказкам. Запишите эти ключи, чтобы ими можно было быстро воспользоваться в ходе дальнейшей настройки.

Настройка конфигурации SAML

  1. В боковом меню выберите Администрирование > Проверка подлинности.
  2. Щелкните Создать.
  3. В меню Тип конфигурации выберите SAML.

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

  4. На вкладке Настройки внесите информацию о своей среде SaltStack Config в следующие поля.
    • Имя
    • Базовый URI
    • Идентификатор объекта
    • Название компании
    • Отображаемое имя
    • Веб-сайт
  5. В поле Закрытый ключ вставьте закрытый ключ, сгенерированный при создании сертификата поставщика услуг для SaltStack Config.
  6. В поле Открытый ключ вставьте открытый ключ, сгенерированный при создании сертификата поставщика услуг для SaltStack Config.
  7. Укажите в соответствующих полях необходимые контактные данные.
    • Техническая поддержка
    • Клиентская поддержка
  8. В разделе Сведения о поставщике введите метаданные о поставщике удостоверений в следующие поля.
    • Идентификатор объекта
    • Идентификатор пользователя: имя атрибута, который SAML получает от поставщика удостоверений для идентификации пользователя в SSC.
    • Электронная почта: имя атрибута, который SAML получает от поставщика удостоверений и который представляет собой адрес эл. почты пользователя. Для SSC требуется действительный адрес электронной почты пользователя.
    • Имя пользователя: имя атрибута, который SAML получает от поставщика удостоверений и который представляет собой имя пользователя. Он не должен совпадать с идентификатором пользователя, чтобы можно было легко определить пользователя, которого он обозначает.
    • URL-адрес
    • Сертификат x509
    Примечание: Примерами популярных поставщиков удостоверений могут служить ADFS, Azure AD и Google SAML. Эта информация предоставляется поставщиком удостоверений.
  9. (Необязательно.) Установите флажок Проверка описаний атрибутов, чтобы система SaltStack Config могла проверять описания атрибутов SAML для профилей пользователей. Этот флажок установлен по умолчанию.
  10. Нажмите Сохранить.

Следующие шаги

После настройки единого входа SAML можно выполнить следующее.
  • Указать URL-адрес для AssertionCustomerService (например, https://<your-sse-hostname>/auth/complete/saml), общедоступный сертификат (x509) и ключ, созданный для SaltStack Config для поставщика удостоверений.
  • Создать сопоставления атрибутов для пользователей, в частности для идентификатора пользователя, адреса электронной почты и имени пользователя. Во многих организациях все три эти значения будут сопоставляться с адресом электронной почты пользователя в качестве единственного атрибута, так как обычно он является уникальным в организации. Процесс сопоставления этих атрибутов уникален для каждого поставщика удостоверений SAML. Если нужна помощь в создании таких сопоставлений атрибутов, см. документацию своего поставщика удостоверений или обратитесь к администратору.
  • Добавить пользователей в SaltStack Config. По умолчанию новые пользователи регистрируются в SaltStack Config только после первого успешного входа с помощью SAML. Можно также добавить пользователей вручную, чтобы предварительно зарегистрировать их в SaltStack Config. Чтобы вручную добавить пользователей из рабочей области проверки подлинности, выберите конфигурацию SAML в списке конфигураций проверки подлинности и перейдите на вкладку Пользователь в разделе параметров конфигурации. Нажмите кнопку Создать, введите учетные данные пользователя и выберите Роли.
    Примечание: Проверьте правильность написания. После создания пользователя сменить или исправить его имя нельзя. Если пользователь создается вручную, удалить его можно только до первого входа в систему. После первоначального входа пользователя кнопка удаления по-прежнему будет присутствовать в этой рабочей области, но работать она больше не будет.
  • Для проверки конфигурации SAML войдите в систему в качестве обычного пользователя и убедитесь, что процедура входа выполняется правильно, а роли и разрешения определены корректно. Для устранения потенциальных ошибок используйте средство трассировки SAML, которое доступно для веб-браузеров Firefox и Chrome, а также журналы /var/log/raas/raas.
    Примечание: После начальной подготовки с успешной проверкой подлинности SAML пользователей нельзя удалять в пользовательском интерфейсе SaltStack Config или с помощью API-интерфейса.