Как настроить портал для использования внешних поставщиков идентификационной информации

Портал Apigee Developer Services (или просто портал) выступает в качестве клиента Apigee Edge. Это означает, что портал не функционирует как автономная система. Вместо этого большая часть информации, используемой порталом, фактически хранится на Edge. При необходимости портал отправляет запрос на получение информации от Edge или на отправку информации в Edge.

Портал всегда связан с одной организацией Edge. При настройке портала вы можете указать учетные данные для базовой аутентификации (имя пользователя и пароль) для аккаунта в организации, который портал использует для связи с Edge.

Если вы решите включить внешний IDP, например SAML или LDAP, для аутентификации Edge, вы сможете настроить портал так, чтобы он использовал эту аутентификацию при отправке запросов в Edge. При настройке портала для использования внешнего поставщика идентификационной информации в организации Edge автоматически создается новый аккаунт пользователя компьютера, который портал затем использует для отправки запросов в Edge. Подробнее об автоматизации задач для внешних поставщиков идентификационной информации…

Для поддержки внешнего поставщика идентификационной информации на портале необходимо установить и настроить модуль Apigee SSO на узле сервера управления Edge. Общий процесс включения внешнего поставщика идентификационной информации для портала выглядит следующим образом:

  1. Установите модуль Apigee SSO, как описано в статье Как установить и настроить Apigee SSO.
  2. Установите портал и убедитесь, что он работает правильно. Подробнее о том, как установить портал…
  3. Настройте SAML или LDAP на портале, как описано в этом разделе.
  4. При необходимости отключите базовую аутентификацию в Edge, как описано в разделе Как отключить базовую аутентификацию в Edge.

Создайте пользователя-робота для портала

Если внешний поставщик идентификационной информации включен, Edge поддерживает автоматическое создание токенов OAuth2 с помощью пользователей-машин. Пользователь-машина может получать токены OAuth2 без указания кода доступа. Это означает, что вы можете полностью автоматизировать процесс получения и обновления токенов OAuth2.

В процессе настройки поставщика идентификационной информации для портала автоматически создается пользователь компьютера в организации, связанной с порталом. Затем портал использует этот аккаунт пользователя компьютера для подключения к Edge. Подробнее об автоматизации задач для внешних поставщиков идентификационной информации…

Об аутентификации для аккаунтов разработчиков портала

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

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

Когда разработчик входит на портал, именно портал отвечает за аутентификацию разработчика и за применение разрешений на основе ролей. Портал продолжает использовать базовую аутентификацию с разработчиками даже после того, как вы включите аутентификацию IDP между порталом и Edge. Подробную информацию вы найдете в статье Обмен данными между порталом и Edge.

Также можно настроить портал для использования SAML или LDAP для аутентификации разработчиков. Пример включения SAML с помощью сторонних модулей Drupal приведен в статье Интеграция системы единого входа через SAML с порталом для разработчиков.

Файл конфигурации поставщика идентификационной информации для портала

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

Ниже приведен пример файла конфигурации портала с поддержкой поставщика идентификационной информации.

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Чтобы включить поддержку внешнего поставщика идентификационной информации на портале:

  1. В пользовательском интерфейсе Edge добавьте пользователя компьютера, указанного в DEVPORTAL_ADMIN_EMAIL, в организацию, связанную с порталом, в качестве администратора организации.
  2. Чтобы настроить внешний поставщик идентификационной информации на портале, выполните следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    где configFile – файл конфигурации, описанный выше.

  3. Войдите на портал как администратор.
  4. В главном меню Drupal выберите Configuration (Конфигурация) > Dev Portal (Портал для разработчиков). Откроется экран конфигурации портала, включая настройки внешнего поставщика идентификационной информации.

    Обратите внимание:

    • Установлен флажок This org is SAML-enabled (В этой организации включен SAML).
    • Конечная точка для модуля Apigee SSO заполнена.
    • Поля API key (Ключ API) и Consumer secret (Секретный код клиента) для клиента OAuth портала заполнены.
    • Под кнопкой Проверить подключение появится сообщение Подключение выполнено.
  5. Чтобы повторно проверить подключение, нажмите кнопку Test Connection (Проверить подключение).

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

Как отключить внешнего поставщика идентификационной информации на портале

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

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

  1. Откройте файл конфигурации, который вы использовали ранее, чтобы включить внешний поставщик идентификационной информации.
  2. Задайте для свойства DEVPORTAL_SSO_ENABLED значение n, как показано в примере ниже.
    DEVPORTAL_SSO_ENABLED=n
  3. Настройте портал, выполнив следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile