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

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

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

Если вы решите включить для аутентификации Edge внешнего IDP, например SAML или LDAP, вы можете настроить портал так, чтобы он использовал эту аутентификацию при отправке запросов в 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, регистрировать приложения, которые их используют, взаимодействовать с сообществом разработчиков и просматривать статистическую информацию об использовании своих приложений на панели управления.

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

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

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

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

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

# 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 и Секретный код клиента для клиента OAuth портала заполнены.
    • Под кнопкой Проверить подключение появится сообщение Подключение установлено.
  5. Чтобы повторно проверить подключение, нажмите кнопку Test Connection (Проверить подключение).

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

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

Если вы отключите внешний поставщик идентификационной информации для обмена данными между порталом и 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