
Разработка клиентских приложений для работы с API IBM BPM on Cloud и IBM BPM
Клиентские приложения должны пройти
идентификацию, чтобы получить доступ к API IBM® BPM
on Cloud. IBM BPM
on Cloud
использует простую идентификацию для предоставления доступа входящим вызовам
API из клиентских приложений, таких как административные клиенты для
предоставления ресурсов пользователям или очистки экземпляров процессов.
Перед тем, как начать:
- Для работы с API IBM BPM on Cloud клиентскому приложению требуются идентификационные данные службы (функциональный ИД и пароль). Администратор учетных записей IBM BPM on Cloud отвечает за предоставление доступа к идентификационным данным службы в среде клиентских приложений.
- Частота смены идентификационных данных службы зависит от корпоративной стратегии управления паролями. Для того чтобы обеспечить доступ приложений к IBM BPM on Cloud после обновления идентификационных данных службы, старые и новые идентификационные данные остаются допустимыми в течение заданного времени. Срок действия старых идентификационных данных зависит от времени выполнения клиента. Например, если клиент регулярно считывает идентификационные данные службы из среды, то время между операциями чтения должно быть меньше периода перекрытия. Если клиент считывает идентификационные данные службы только в ходе запуска, то период пересечения должен превышать время выполнения клиента. Определите оптимальный период пересечения для клиентского приложения вместе с администратором учетных записей.
В процессе разработки клиентского приложения для
IBM BPM
on Cloud обратите внимание на следующие практические рекомендации:
- Настройте чтение идентификационных данных службы.
- Идентификационные данные службы не следует встраивать в исходный код приложения. Их следует считывать, например из файла конфигурации или хранилища разрешений, чтобы затем создать заголовок простой идентификации для вызовов HTTP, которые приложение отправляет API IBM BPM on Cloud. Поскольку администратор учетных записей может изменить идентификационные данные службы, приложение должно обеспечивать их обновление в соответствии со стратегией смены паролей и сроком действия старых ключей.
- Отслеживайте отклоненные попытки доступа к IBM BPM on Cloud, связанные с отсутствующими или неправильными идентификационными данными.
- Попытки доступа клиентских приложений к IBM BPM
on Cloud
отклоняются, если указаны недопустимые идентификационные данные.
Кроме того, если приложение попытается несколько раз войти в IBM BPM
on Cloud с
неправильным паролем, то системе может блокировать учетную запись.
Для обнаружения отклоненной попытки доступа добавьте в приложение проверку кода состояния HTTP 302, который IBM BPM on Cloud возвращает в случае перенаправления на страницу входа в систему, с выдачей сообщения об ошибке. Если вы подозреваете, что учетная запись заблокирована, дождитесь истечения времени блокировки (в настоящее время один час) и перезапустите приложение. Если вы считаете, что запрет доступа связан с неправильным функциональным ИД и/или паролем, запросите правильные идентификационные данные службы у администратора.Важное замечание: Если приложение использует библиотеку клиентских приложений HTTP, убедитесь, что библиотека не настроена для автоматического перехода на перенаправляемые страницы.
- Отслеживайте запросы API, отклоненные вследствие недостаточных прав доступа.
- Клиентское приложение может содержать запросы API
IBM BPM
on Cloud и IBM BPM.
Для запросов каждого типа требуются разные права доступа:
- Для запросов API IBM BPM on Cloud учетная запись службы должна обладать доступом к рабочим средам IBM BPM on Cloud, в которых выполняется приложение. Кроме того, учетной записи может потребоваться роль администратора или оператора. Проверьте права доступа учетной записи вместе с администратором учетных записей.
- Для запросов API IBM BPM учетной записи также могут потребоваться права доступа к IBM BPM. Если запросу API требуется роль защиты IBM BPM tw_admins, tw_authors, debug, или twem, попросите администратора учетных записей IBM BPM on Cloud предоставить требуемые права доступа. Для более точного управления правами доступа IBM BPM (например для присвоения задач) обратитесь к администратору IBM BPM и добавьте соответствующие вызовы API в приложение. Дополнительная информация об этих вызовах приведена в разделе Управление правами доступа для динамических вызовов API REST.