В рабочей области «Проверка подлинности» можно настроить единый вход в SaltStack Config для использования системы проверки подлинности, совместимой с протоколами OAuth и OIDC.

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

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

Реализацию протокола OAuth с поддержкой OIDC обеспечивают многие службы, в том числе OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce и др.

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

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

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

Open ID Connect (OIDC)

Open ID Connect (OIDC) — это обычный уровень удостоверений поверх протокола OAuth 2.0. OIDC позволяет клиентам проверять учетные данные пользователя с помощью процедуры проверки подлинности, выполняемой сервером авторизации. Этот уровень также позволяет получать основные сведения о профиле пользователя во всех приложениях.

Владелец ресурса Владелец ресурса — это пользователь, который разрешает приложению доступ к своей учетной записи. Доступ приложения к учетной записи пользователя ограничивается рамками предоставленных разрешений, например правами на чтение или запись.
Клиент Клиент — это стороннее приложение, которому требуется доступ к учетной записи пользователя (в данном случае — SaltStack Config).
Сервер авторизации На сервере авторизации размещаются защищенные учетные записи и учетные данные пользователя. Он проверяет удостоверение пользователя, а затем передает клиенту маркеры доступа. Доступ к этому серверу часто можно получить через API-интерфейс службы.
Сервер ресурсов

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

В крупных развертываниях может присутствовать несколько серверов ресурсов. Все серверы ресурсов работают самостоятельно, но при этом все пользуются общим сервером авторизации.

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

Работа OAuth и OIDC с SaltStack Config

Когда пользователь пытается войти в SaltStack Config с помощью удостоверения OAuth:

  1. SaltStack Config запрашивает у пользователя авторизацию на доступ к ресурсам служб.
  2. Если пользователь согласен, SaltStack Config получает разрешение на авторизацию;
  3. SaltStack Config запрашивает у сервера авторизации (API) маркер доступа, подтверждая подлинность собственного удостоверения.
  4. Если удостоверение приложения прошло проверку подлинности и предоставлено действительное разрешение на авторизацию, сервер авторизации (API) выдает SaltStack Config маркер доступа;
  5. SaltStack Config запрашивает ресурс на сервере ресурсов (API) и представляет маркер доступа для проверки подлинности.
  6. Если маркер доступа действителен, сервер ресурсов (API) выделяет ресурс приложению и пользователь может войти в SaltStack Config.

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

Перед настройкой OAuth и OIDC в SaltStack Config обеспечьте своей организации доступ к службе OAuth 2.0 (OKTA или Google) и ознакомьтесь с их процедурами регистрации приложений.

На веб-сайте службы OAuth введите основную информацию о SaltStack Config, включая имя, веб-сайт и т. д. После регистрации приложения вам выделяется секретный ключ клиента, который надо будет предоставить в SaltStack Config.

При создании приложения один из самых важных моментов — регистрация одного URL-адреса перенаправления или нескольких, которые будут использоваться приложением. По этим URL-адресам служба OAuth 2.0 будет перенаправлять пользователя после авторизации приложения.

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

Чтобы настроить единый вход с использованием службы OAuth и OIDC, применяемой в организации, сделайте следующее.

  1. В боковом меню выберите Администрирование > Проверка подлинности.
  2. Щелкните Создать.
  3. В меню Тип конфигурации выберите OIDC.
  4. В поле Имя задайте для этой конфигурации описательное имя.
  5. В меню Поставщик OIDC выберите OKTA или Google.
  6. Введите в указанные ниже обязательные поля сведения о среде SaltStack Config.
    Поле Описание
    Базовый URI Базовый URL-адрес, который ваша организация использует в SaltStack Config. Он также называется адресом сервера узла. Этот URL-адрес может быть записан в формате полного доменного имени (FQDN) или IP-адреса, например https://example.com.
    URL-адрес API-интерфейса URL-адрес API-интерфейса, предоставленный поставщиком удостоверений. Это поле отображается только в том случае, если поставщик удостоверений — OKTA.
    Key Ключ, предоставленный поставщиком удостоверений. В OKTA ключ называется «идентификатор клиента».
    Секретный ключ Секретный ключ, предоставленный поставщиком удостоверений. В OKTA этот ключ называется «секретный ключ клиента».
  7. Нажмите Сохранить.

На этом настройка OIDC для SaltStack Config завершена.