#java #azure
#java #azure
Вопрос:
мы пытаемся написать какое-либо приложение для получения показателей из службы мониторинга Azure для сбора данных и отправки их в Prometheus.
Один клиент со многими подразделами в порядке. Мы используем регистрацию приложения и соответствующее корпоративное приложение (оно же service principal).
С идентификаторами регистрации приложения (usbscription_id, tenant_id, client_id и client_secret) приложение java регистрируется в Azure и собирает эти данные.
Но давайте представим, что мы могли бы получить доступ к арендаторам и подписке наших клиентов таким образом. Как это можно сделать подробно?
С уважением, Хольгер
Ответ №1:
Это будет тот же подход, что и для вашего собственного арендатора. Клиент вашего клиента должен иметь регистрацию приложения AAD (участника службы) с требуемыми наименьшими привилегиями в целевой подписке (например, для чтения мониторинга в данном случае). Затем используйте идентификатор клиента, идентификатор подписки, идентификатор клиента, секрет клиента / сертификат из вашего java-приложения для сбора данных.
В качестве наилучшей практики настоятельно рекомендуется, чтобы управление доступом следовало принципу наименьших привилегий (предоставлять разрешения только на то, что необходимо) в подписке клиента, чтобы избежать любых непреднамеренных / случайных изменений.
Комментарии:
1. Привет @krishg, это законное предложение, но я не думаю, что это лучшая практика. Мы хотим использовать «нашу» подписку только один раз, а не данные доступа клиента. Должен быть другой способ продолжить. Может быть, какой-то экспорт участника службы или что-то в этом роде.
2. Да, для доступа к ресурсу подписки вам, очевидно, потребуется идентификатор соответствующего арендатора. Существует также концепция многопользовательского приложения , но это полезно для интерактивного входа пользователя. Но здесь вы больше ориентируетесь на фоновое приложение-демон, использующее поток учетных данных клиента.