Интеграция единого входа Microsoft Entra с Maverics Identity Orchestrator SAML Подключение or

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Maverics Identity Orchestrator Strata предоставляет простой способ интеграции локальных приложений с идентификатором Microsoft Entra для проверки подлинности и управления доступом. Maverics Orchestrator поддерживает модернизацию проверки подлинности и авторизации приложений, в которых в настоящее время применяются заголовки, файлы cookie и другие защищаемые методы проверки подлинности. Экземпляры Maverics Orchestrator можно развертывать локально или в облаке.

В этом руководстве по гибридному доступу показано, как перенести локальное веб-приложение, которое в настоящее время защищено устаревшим продуктом управления веб-доступом для использования идентификатора Microsoft Entra для проверки подлинности и управления доступом. Ниже перечислены основные шаги.

  1. Настройка Maverics Orchestrator
  2. Использовать прокси-сервер для приложения
  3. Регистрация корпоративного приложения в идентификаторе Microsoft Entra
  4. Проверка подлинности с помощью Azure и авторизация доступа к приложению
  5. Добавление заголовков для простого доступа к приложениям
  6. Работа с несколькими приложениями

Необходимые компоненты

  • Подписка Microsoft Entra. Если у вас нет подписки, вы можете получить бесплатную учетную запись.
  • Подписка Mavericks Identity Orchestrator SAML Connector с поддержкой единого входа. Чтобы получить программное обеспечение Mavericks, свяжитесь с отделом продаж Strata.
  • По крайней мере одно приложение, использующее проверку подлинности на основе заголовка. Примеры работают с приложением под названием Connectulum, размещенным в https://app.connectulum.com.
  • Компьютер Linux для размещения Оркестратора Maverics
    • ОС: RHEL 7.7 или более поздней версии, CentOS 7+
    • Диск: > = 10 ГБ
    • Память: > = 4 ГБ
    • Порты: 22 (SSH/SCP), 443, 7474
    • Доступ с правами root для задач установки и администрирования
    • Сетевой исходящий трафик, поступающий с сервера, на котором размещено решение Maverics Identity Orchestrator, в защищенное приложение

Шаг 1. Настройка Maverics Orchestrator

Установка Maverics

  1. Получите новейшую версию RPM-пакета Maverics. Скопируйте пакет в систему, в которой вы хотите установить программное обеспечение Maverics.

  2. Установите пакет Maverics, указав свое имя файла вместо maverics.rpm.

    sudo rpm -Uvf maverics.rpm

    После установки Maverics будет работать как служба под systemd. Чтобы убедиться, что служба запущена, выполните указанную ниже команду.

    sudo systemctl status maverics

  3. Чтобы перезапустить Orchestrator и отслеживать журналы, можно воспользоваться следующей командой:

    sudo service maverics restart; sudo journalctl --identifier=maverics -f

После установки Maverics файл по умолчанию maverics.yaml создается в каталоге /etc/maverics . Прежде чем вы отредактируете конфигурацию, включив в нее appgateways и connectors, ваш файл конфигурации будет выглядеть следующим образом:

# © Strata Identity Inc. 2020. All Rights Reserved. Patents Pending.

version: 0.1
listenAddress: ":7474"

Настройка DNS

Служба DNS избавляет от необходимости запоминать IP-адрес сервера Orchestrator.

Измените файл hosts для компьютера (портативного компьютера), где установлен браузер, используя гипотетический IP-адрес Orchestrator 12.34.56.78. В операционных системах на основе Linux этот файл находится в папке /etc/hosts. В Windows он находится в папке C:\windows\system32\drivers\etc.

12.34.56.78 sonar.maverics.com
12.34.56.78 connectulum.maverics.com

Чтобы убедиться в правильности настройки DNS, можно отправить запрос в конечную точку состояния Orchestrator. В браузере отправьте запрос http://sonar.maverics.com:7474/status.

Настройка TLS

Для обеспечения безопасности крайне важно обеспечить взаимодействие с Orchestrator по защищенным каналам. Для этого можно добавить пару "сертификат — ключ" в раздел tls.

Чтобы создать самозаверяющий сертификат и ключ для сервера Orchestrator, запустите выполнение следующей команды в каталоге /etc/maverics:

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out maverics.crt -keyout maverics.key

Примечание.

Чтобы избежать предупреждений в браузере, для рабочих сред, скорее всего, потребуется использовать сертификат, подписанный известным центром сертификации. Если вам нужен доверенный центр сертификации, для этих целей прекрасно подойдет бесплатный ресурс Let's Encrypt.

Теперь воспользуйтесь только что созданным сертификатом и ключом для Orchestrator. В итоге файл конфигурации должен содержать следующий код:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

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

Шаг 2. Использование прокси-сервера для приложения

Следующий шаг — настроить базовый прокси-сервер в Orchestrator с помощью appgateways. Это позволит обеспечить необходимое подключение Orchestrator к защищенному приложению.

В итоге файл конфигурации должен содержать следующий код:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

Чтобы убедиться в правильной работе прокси-сервера, перезапустите службу Maverics и выполните запрос к приложению через прокси-сервер Maverics. При желании вы можете сделать запрос к конкретным ресурсам приложения.

Шаг 3. Регистрация корпоративного приложения в идентификаторе Microsoft Entra

Теперь создайте новое корпоративное приложение в идентификаторе Microsoft Entra, который будет использоваться для проверки подлинности конечных пользователей.

Примечание.

При использовании таких функций Microsoft Entra, как условный доступ, важно создать корпоративное приложение для каждого локального приложения. Это обеспечит условный доступ, оценку риска, назначение разрешений и т. д. отдельно для каждого приложения. Как правило, корпоративное приложение в идентификаторе Microsoft Entra сопоставляется с соединителем Azure в Maverics.

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

  1. В клиенте Microsoft Entra перейдите в корпоративные приложения и выберите "Создать приложение". В коллекции Microsoft Entra найдите Maverics Identity Orchestrator SAML Подключение or и выберите его.

  2. На панели Properties (Свойства) страницы Maverics Identity Orchestrator SAML Connector установите для параметра User assignment required? (Требуется ли назначение пользователя?) значение No (Нет), чтобы с приложением могли работать все пользователи в каталоге.

  3. На панели Overview (Обзор) страницы Maverics Identity Orchestrator SAML Connector Overview выберите Set up single sign-on (Настройка единого входа), а затем — SAML.

  4. На панели SAML-based sign on (Вход на основе SAML) страницы Maverics Identity Orchestrator SAML Connector измените базовую конфигурацию SAML, нажав кнопку редактирования (значок карандаша).

    Снимок экрана: кнопка редактирования базовой конфигурации SAML.

  5. В поле Идентификатор сущности введите https://sonar.maverics.com. Идентификатор сущности должен быть уникальным для приложений в клиенте и может иметь произвольное значение. Это значение будет использоваться при определении поля samlEntityID для соединителя Azure в следующем разделе.

  6. В поле URL-адрес ответа введите https://sonar.maverics.com/acs. Это значение будет использоваться при определении поля samlConsumerServiceURL для соединителя Azure в следующем разделе.

  7. В поле URL-адрес для входа введите https://sonar.maverics.com/. Это поле не будет использоваться Maverics, но оно необходимо в идентификаторе Microsoft Entra, чтобы пользователи могли получать доступ к приложению через портал Microsoft Entra Мои приложения.

  8. Выберите Сохранить.

  9. В разделе Сертификат подписи SAML нажмите кнопку Копировать, чтобы скопировать значение URL-адрес метаданных федерации приложений и сохранить его на компьютере.

    Снимок экрана:

Шаг 4. Проверка подлинности с помощью Azure и авторизация доступа к приложению

Затем разместите только что созданное корпоративное приложение для использования, настроив соединитель Azure в Maverics. Эта конфигурация connectors, связанная с блоком idps, позволяет Orchestrator проверять подлинность пользователей.

В итоге файл конфигурации должен содержать следующий код. Обязательно замените METADATA_URL значением URL-адреса метаданных федерации приложений из предыдущего шага.

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Чтобы убедиться в правильной работе проверки подлинности, перезапустите службу Maverics и выполните запрос к ресурсу приложения через прокси-сервер Maverics. Перед доступом к ресурсу должно выполняться перенаправление в Azure для проверки подлинности.

Шаг 5. Добавление заголовков для простого доступа к приложениям

На данный момент заголовки еще не отправляются в вышестоящее приложение. Давайте добавим headers в запрос, передаваемый через прокси-сервер Maverics, чтобы вышестоящее приложение могло опознать пользователя.

В итоге файл конфигурации должен содержать следующий код:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Чтобы убедиться в правильной работе проверки подлинности, выполните запрос к ресурсу приложения через прокси-сервер Maverics. Теперь защищенное приложение должно получать заголовки в запросе.

Вы можете изменить ключи заголовков, если для приложения требуются другие заголовки. Все утверждения, которые возвращаются из идентификатора Microsoft Entra в рамках потока SAML, доступны для использования в заголовках. Например, можно включить другой заголовок secondary_email: azureSonarApp.email, где azureSonarApp имя соединителя и email является утверждением, возвращаемым из идентификатора Microsoft Entra.

Шаг 6. Работа с несколькими приложениями

Теперь рассмотрим, что требуется для использования прокси-сервера для нескольких приложений на разных узлах. Чтобы достичь этого шага, настройте другой шлюз приложений, другое корпоративное приложение в идентификаторе Microsoft Entra ID и еще один соединитель.

В итоге файл конфигурации должен содержать следующий код:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp
  - name: azureConnectulumApp

appgateways:
  - name: sonar
    host: sonar.maverics.com
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

  - name: connectulum
    host: connectulum.maverics.com
    location: /
    # Replace https://app.connectulum.com with the address of your protected application
    upstream: https://app.connectulum.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureConnectulumApp.authenticated}}", "true"]

    headers:
      email: azureConnectulumApp.name
      firstname: azureConnectulumApp.givenname
      lastname: azureConnectulumApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

  - name: azureConnectulumApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://connectulum.maverics.com/acs
    samlEntityID: https://connectulum.maverics.com

Возможно, вы заметили, что код добавляет поле host в определения Шлюза приложений. Поле host позволяет Maverics Orchestrator определять вышестоящий узел, на который прокси-сервер должен передать тот или иной трафик.

Чтобы убедиться, что добавленный только что Шлюз приложений работает должным образом, выполните запрос к https://connectulum.maverics.com.

Расширенные сценарии

Миграция удостоверений

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

Шлюзы веб-сервера

Не хотите перенастраивать сеть и использовать прокси-сервер для направления трафика через Maverics Orchestrator? Не проблема. Maverics Orchestrator можно связать со шлюзами веб-серверов (модулями), чтобы создать такое же решение, но без прокси-сервера.

Подведение итогов

На этом этапе вы установили Оркестратор Maverics, создали и настроили корпоративное приложение в идентификаторе Microsoft Entra ID и настроили Orchestrator для прокси-сервера в защищенном приложении, требуя проверки подлинности и принудительной политики. Чтобы узнать больше о том, как можно применить Maverics Orchestrator для вариантов использования с управлением распределенными удостоверениями, обратитесь в Strata.

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