В этом разделе описаны шаги по настройке коннектора Apigee API Hub для частного облака, в том числе сетевые параметры, аутентификация и настройки организации.
Требуемые права доступа
Новый API Hub API интегрирован с коннектором Apigee API Hub для частного облака, чтобы обрабатывать загрузку сред и пакетов прокси, для чего требуется новая роль IAM. Это разовое действие, которое нужно выполнить вручную, чтобы предоставить необходимые разрешения.
Чтобы предоставить нужные разрешения, выполните следующую команду gcloud один раз:
gcloud projects add-iam-policy-binding GCP_PROJECT_NAME \
--member="serviceAccount:SERVICE_ACCOUNT" \
--role="roles/apihub.admin"Эта команда привязывает роль roles/apihub.admin к указанному сервисному аккаунту, позволяя коннектору выполнять необходимые действия. Убедитесь, что этот сервисный аккаунт совпадает с тем, который использовался при создании экземпляра плагина.
Настройка сети и аутентификации
- Добавьте порты в белый список. Коннектору Apigee API Hub для частного облака необходимо подключиться к серверу управления, чтобы получить нужные метаданные API. Поэтому коннектор должен иметь доступ к портам 8080 и 443 сервера управления.
- Аутентификация на основе ключей для сервисов Google Cloud Platform. Коннектор Apigee API Hub для частного облака взаимодействует с сервисами Google Cloud и требует для аутентификации токены. Это достигается с помощью ключа сервисного аккаунта для создания токенов, позволяющих выполнять действия от имени сервисного аккаунта.
- Сервисный аккаунт для создания токенов. Создайте новый сервисный аккаунт, предназначенный для создания токенов. У этого сервисного аккаунта должна быть роль
Token Creator. - Создайте и скачайте ключ сервисного аккаунта:
- Следуйте инструкциям в разделе Создайте ключ сервисного аккаунта, чтобы сгенерировать JSON-ключ для сервисного аккаунта, который будет создавать токены.
- Скачайте этот файл ключа (например, в
/opt/apigee/keys/uapim.keyна виртуальной машине коннектора Apigee API Hub для частного облака).
- Настройте
GOOGLE_APPLICATION_CREDENTIALS. При запуске коннектора Apigee API Hub для частного облака вам нужно будет указать путь к этому файлу с помощью переменной среды:export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
- Сервисный аккаунт для создания токенов. Создайте новый сервисный аккаунт, предназначенный для создания токенов. У этого сервисного аккаунта должна быть роль
- Аутентификация Management API (UAPIM_MGMT_AUTH). Коннектору Apigee API Hub для частного облака требуются учетные данные для вызова Apigee Management API. В целях безопасности и автоматизации в Apigee следует использовать машинного пользователя, а не человека.
Создайте машинного пользователя в Apigee:
- Создать пользователя:
- В консоли Apigee создайте пользователя машины (или системного пользователя). Подробнее о пользователях и ролях можно узнать в разделе Автоматизация процесса создания токенов.
- Укажите адрес электронной почты (для идентификации) и понятное название (например,
uapim-connector-user).
- Назначьте роли. Назначьте пользователю машины следующие роли:
- Администратор Apigee API. Эта роль предоставляет доступ к API управления, позволяя коннектору Apigee API Hub для частного облака взаимодействовать с системой управления Apigee (например, получать метаданные или управлять конфигурациями API).
- Создать пользователя:
Создайте учетные данные с кодировкой Base64:
- Создайте пару "имя пользователя:пароль" для пользователя машины.
- Закодируйте учетные данные в формате Base64:
echo -n 'username:password' | base64 - Задайте для переменной среды $UAPIM_MGMT_AUTH значение, закодированное в формате Base64:
export UAPIM_MGMT_AUTH=USERNAME_PASSWORD
где USERNAME_PASSWORD – это значение пары "имя пользователя и пароль" в кодировке Base64.
Убедитесь, что эта переменная среды задана, прежде чем запускать коннектор Apigee API Hub для частного облака.
Как настроить коннектор Apigee API Hub для частного облака
Откройте файл конфигурации /opt/apigee/customer/application/uapim-connector.properties, чтобы указать организации Apigee, данные которых нужно загрузить в API Hub. У вас может быть несколько экземпляров плагина или API Hub.
conf_uapim_connector.uapim.settings.json={\
"connectorConfig" : { \
"org1" : { \
"runtimeDataPubsub" : "", \
"metadataPubsub":"", \
"serviceAccount": "mysa1@in.myfirstProject",\
"pluginInstanceId":"aaaa" \
},\
"org2" : { \
"runtimeDataPubsub" : "", \
"metadataPubsub":"",\
"serviceAccount": "mysa2@in.mySecondProject",\
"pluginInstanceId":"bbbbb", \
}
},
"runtimeDataPath":"/the/nfs/mounted/path", \
"managementServer": "hostname"
} Описание JSON-файла настроек
- Раздел connectorConfig:
- Это карта, где каждый ключ – название организации Apigee (например, org1, org2).
- Каждая запись организации содержит следующие поля, которые вы получили на этапе создания плагина:
- runtimeDataPubsub – тема издателя-подписчика для данных среды выполнения (аналитики) для этой организации.
- metadataPubsub – тема издатель-подписчик для метаданных API этой организации.
- serviceAccount – сервисный аккаунт (например, mysa1@in.myfirstProject.iam.gserviceaccount.com), используемый для аутентификации при записи данных в Pub/Sub для этой организации.
- pluginInstanceId – уникальный идентификатор экземпляра плагина, связанного с этой организацией.
- Раздел runtimeDataPath. Укажите путь к точке монтирования NFS, в которую обработчики сообщений будут записывать данные Аналитики (AX). Путь должен совпадать с тем, который настроен в процессорах сообщений.
- Раздел managementServer. Имя хоста или IP-адрес URL сервера управления Apigee.
- Переменная среды UAPIM_MGMT_AUTH. Эта переменная среды, заданная извне, содержит код username:password в формате Base64 для доступа к серверу управления.
Добавьте конфигурации прямого прокси-сервера
Добавьте конфигурации прямого прокси-сервера в тот же файл /opt/apigee/customer/application/uapim-connector.properties
conf_http_client_service_jetty.proxy.enabled=true
conf_http_client_service_jetty.proxy.host=conf_http_client_service_jetty.proxy.port=conf_http_client_service_jetty.proxy.user=conf_http_client_service_jetty.proxy.password=
Чтобы коннектор работал правильно, он должен подключаться к следующим внешним источникам:
pubsub.googleapis.com:443oauth2.googleapis.com:443iamcredentials.googleapis.com:443
Если коннектору запрещено напрямую подключаться к внешним источникам, но разрешено использовать для этого прямой прокси-сервер, пользователю необходимо указать конфигурацию прямого прокси-сервера с помощью приведенных ниже конфигураций и убедиться, что указанные выше внешние источники добавлены в белый список.
Запуск коннектора Apigee API Hub для частного облака
После того как все конфигурации будут заданы, запустите коннектор Apigee API Hub для частного облака с помощью команды сервиса Apigee:
apigee-service edge-uapim-connector start