При настройке системы проверки подлинности, основанной на SAML, для SaltStack Config необходимо заполнить различные информационные поля. Для настройки системы на основе SAML также можно использовать API-интерфейс, но это не рекомендуется.

Информационные поля SAML

Все информационные поля SAML, используемые для проверки подлинности, являются обязательными. Введите следующие сведения для настройки проверки подлинности SAML.

Примечание:

Если при настройке подключения потребуется помощь, обратитесь к администратору.

Основные параметры

Поле

Описание

Имя

Имя подключения для проверки подлинности, используемое сервером SSE. Это имя будет отображаться на боковой панели при входе в рабочую область «Проверка подлинности» и должно быть уникальным, если настраивается несколько конфигураций. Это имя нельзя изменить после создания.

Пример: Acme SSO

Базовый URI

Базовый URL-адрес, который ваша организация использует в SaltStack Config. Он также называется адресом сервера узла. Оно имеет формат полного доменного имени или IP-адреса, например https://example.com. Имя не должно заканчиваться символом косой черты.

Пример: https://sse.example.com

Идентификатор объекта

Уникальный идентификатор этого поставщика услуг SaltStack Config. Хотя традиционно для SAML в качестве данного ИД используется строка, похожая на URL-адрес, здесь можно применять строки любого типа. ИД не должен повторяться в других приложениях SAML, используемых в организации. Убедитесь, что используете тот же ИД при регистрации SaltStack Config в качестве приложения.

Пример: https://sse.example.com/saml

Сведения об организации

Поле

Описание

Название компании

Имя организации.

Отображаемое имя

Отображаемое имя организации.

Веб-сайт

URL-адрес веб-сайта организации. Это может быть любой URL-адрес. Он не влияет на функциональность SSO (службы единого входа).

Закрытый ключ

Созданный закрытый ключ, называемый также cert.pem. Этот ключ должен быть в формате PEM.

Открытый ключ

Созданные открытые ключи и сертификаты, называемые также cert.pub. Этот ключ должен быть в формате PEM.

Техническая поддержка

Поле

Описание

Имя

Имя сотрудника, отвечающего за приложение в организации. Данная информация запрашивается протоколом SAML и передается поставщику SAML. SaltStack Config не использует эту информацию напрямую.

Электронная почта

Адрес электронной почты контактного лица по техническим вопросам.

Клиентская поддержка

Поле

Описание

Имя

Имя сотрудника, к которому можно обратиться в случае недоступности основного контактного лица по техническим вопросам. Данная информация запрашивается протоколом SAML и передается поставщику SAML. SaltStack Config не использует эту информацию напрямую.

Электронная почта

Адрес электронной почты контактного лица в службе поддержки.

Сведения о поставщике

Поле

Описание

Идентификатор объекта

Идентификатор объекта для поставщика удостоверений (IdP).

Пример идентификатора объекта для Azure AD: https://sts.windows.net/2f09bc14-a1f0-48ce-8280-0a09e775e40d/

Идентификатор пользователя

Ссылка на привязанный атрибут SAML, который будет содержать постоянный идентификатор пользователя.

Электронная почта

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

Имя пользователя

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

URL-адрес

URL-адрес, используемый для доступа к конечным точкам SAML поставщика удостоверений.

Сертификат x509

Сертификат в формате X.509 со встроенным открытым ключом, созданным в системе поставщика удостоверений. Этот ключ должен быть в формате PEM.

Проверки системы безопасности

Поле

Описание

Проверка описаний атрибутов

Установите этот флажок, если система SaltStack Config должна проверять описания атрибутов SAML для профилей пользователей.

Настройка SAML из командной строки (CLI)

В этом руководстве настоятельно рекомендуется настраивать SAML с помощью пользовательского интерфейса SaltStack Config, а не командной строки. Данные инструкции приведены для справки.

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

  1. Войдите в систему как пользователь RaaS.
    sudo su raas
  2. (НЕОБЯЗАТЕЛЬНО.) Этот шаг необходимо выполнять только в том случае, если решение SaltStack Config установлено вручную. На сервере RaaS установите файл OpenSSL.xml, который находится в наборе файлов установщика. Используйте следующую команду.
    yum install xmlsec1-openssl
    Примечание:

    Для Redhat в репозиториях по умолчанию нет готового файла xmlsec1. Одним из возможных решений является загрузка файлов RPM с компьютера CentOS и их передача в Redhat.

  3. Перейдите в каталог, в котором решите сохранить файл конфигурации. Можно выбрать любой каталог.
  4. Создайте файл YAML с необходимой информацией о конфигурации, которая требуется поставщиком удостоверений. Примеры форматирования таких файлов конфигурации см. в разделе Примеры файлов конфигурации.
    Примечание:

    Описание различных полей см. в разделе Информационные поля SAML.

  5. Запустите файл конфигурации, используя следующие команды.
    raas save_sso_config <filepath>

Примеры файлов конфигурации

Пример файла конфигурации SAML для Google

Замените текст заполнителя в следующем примере информацией, предоставленной поставщиком IdP.

name: Google
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: raas
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
  saml_technical_contact:
    givenName: Name of Your Technical Contact
    emailAddress: email@my_technical_contact.com
  saml_support_contact:
    givenName: Name of Your Support Contact
    emailAddress: email@my_support_contact.com
  saml_enabled_idps:
    saml:
      entity_id: https://accounts.google.com/o/your_organization_id
      attr_user_permanent_id: Your organization's permanent ID
      attr_email: email@my_email_with_identity_provider.com
      attr_username: Your organization's username for the IdP
      url: https://accounts.google.com/o/saml2/your_organization_id
      x509cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----
      saml_sp_private_key: |
        -----BEGIN PRIVATE KEY-----
        Insert private key block of text here
        -----END PRIVATE KEY-----
      saml_sp_public_cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----

Пример файла конфигурации SAML для Okta

Замените текст заполнителя в следующем примере информацией, предоставленной поставщиком IdP.

name: Okta
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: https://example.com/auth/complete/saml
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
 saml_technical_contact:
   givenName: Name of Your Technical Contact
   emailAddress: email@my_technical_contact.com
saml_support_contact:
  givenName: Name of Your Support Contact
  emailAddress: email@my_support_contact.com
saml_security_config:
  wantAttributeStatement: False
saml_enabled_idps:
  okta:
    entity_id: https://www.okta.com/your_organization_id
    attr_user_permanent_id: Your organization's permanent ID
    attr_email: email@my_email_with_identity_provider.com
    attr_username: Your organization's username for the IdP
    url: https://example.okta.com/app/your_organization_id
    x509cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----
    saml_sp_private_key: |
      -----BEGIN PRIVATE KEY-----
      Insert private key block of text here
      -----END PRIVATE KEY-----
    saml_sp_public_cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----

Пример файла конфигурации OIDC для Google

Замените текст заполнителя в следующем примере информацией, предоставленной поставщиком IdP.

name: Name of Your Organization
backend: social_core.backends.google_openidconnect.GoogleOpenIdConnect
settings:
  base_uri: example.com
  google_openidconnect_key: your_id.apps.googleusercontent.com
  google_openidconnect_secret: your_secret

Обновление конфигурации SSO из командной строки (CLI)

Чтобы обновить стандарт конфигурации из интерфейса командной строки, выполните следующее.

  1. Войдите в систему как пользователь RaaS.
    sudo su raas
  2. Перейдите в каталог, в котором хранится файл конфигурации. При необходимости обновите файл конфигурации.
  3. Сохраните файл конфигурации, используя следующие команды.
    raas save_sso_config <filepath>

Удаление конфигурации SSO из командной строки (CLI)

Если имеется доступ к пользовательскому интерфейсу SaltStack Config, для удаления конфигурации SSO рекомендуется использовать именно этот интерфейс. Однако при необходимости для удаления конфигурации SSO можно использовать API-интерфейс (RaaS).

Для удаления конфигурации SSO найдите динамический идентификатор, который назначен конфигурации, подлежащей удалению. Динамический идентификатор (slug) — это представление имени конфигурации, разделенного дефисами (-), которое содержит только строчные буквы. Например, динамический идентификатор может иметь вид имя-вашей-организации. Для SAML в службах Google используется динамический идентификатор google.

  1. В API-интерфейсе (RaaS) создайте список конечных систем SSO, используя следующую команду.
    client.api.settings.get_sso_backends()
  2. В списке конечных систем SSO найдите динамический идентификатор конфигурации, которую необходимо удалить. Затем введите следующую команду, заменив текст заполнителя динамическим идентификатором конфигурации.
    client.api.settings.delete_sso_config('slug-for-your-configuration')