Зачем нам нужен арендатор идентификатор, идентификатор клиента и ключ клиента для создания «» com.microsoft.azure.management.compute.ComputeManagementClient объекта?
За кулисами com.microsoft.azure.management.compute.ComputeManagementClient
потребляет Azure Resource Manager (ARM) REST API
для выполнения операций, связанных с виртуальными машинами. ARM API
использует для проверки подлинности и авторизации Azure Active Directory (AD)
. Чтобы использовать для этой цели Azure AD
, вам необходимо создать приложение в своем Azure AD
и предоставить этому приложению разрешение на выполнение Azure Service Management API
. Вам понадобится Tenant Id
, Client Id
и другие вещи для этой цели. Таким образом, пользователь использует ваше приложение, позволяя устанавливать приложение в своем Azure AD
. Tenant Id
- уникальный идентификатор вашего приложения в Azure AD вашего пользователя. Client Id
- уникальный идентификатор вашего приложения.
Как только все настроено правильно, для использования пользователя библиотеки аутентифицируется против их Azure AD. В рамках потока аутентификации/авторизации пользователь получает токен, и эта библиотека использует этот токен, чтобы сделать аутентифицированный запрос от ARM API для управления виртуальными машинами.
Можно ли использовать идентификатор подписки и учетные данные Azure Portal? Образец, предоставленный с проектом azure-mgmt-compute, нуждается в этом идентификаторе арендатора, идентификаторе клиента , где нам не нужны эти данные, когда мы создаем VM (выбрав Resource Manager) на Azure Portal.
Если вы заметили, вам сначала нужно войти в Azure Portal, используя учетную запись Microsoft или учетную запись «Работа/Школа». Программное обеспечение портала извлекает токен как часть процесса входа в систему. После этого он использует идентификатор арендатора, идентификатор клиента и этот токен для выполнения всех операций. Таким образом, по сути, он делает то же самое, но он не виден вам.
Спасибо Gaurav за подробный ответ.Когда вы говорите: «Чтобы использовать Azure AD для этой цели, вам нужно будет создать приложение в вашем Azure AD и предоставить этому приложению разрешение на выполнение Azure Service Management API». будет ли это же приложение использоваться для извлечения всех виртуальных машин (созданных с помощью диспетчера ресурсов)? И хотя он будет создан любой учетной записью в рамках этой единой подписки? – Prit
'будет ли это же приложение использоваться для извлечения всех виртуальных машин (созданных с помощью диспетчера ресурсов)?' -> Да. 'И хотя он будет создан любой учетной записью под этой единственной подпиской?' -> Я не уверен, что понимаю это. Не могли бы вы объяснить. –
Еще раз спасибо Гаурав! Я имел в виду, что мы можем создавать пользователей под AD, и если эти пользователи могут создавать виртуальные машины с помощью диспетчера ресурсов, может ли это одно приложение, созданное под AD, получить виртуальные машины, созданные этими всеми пользователями? – Prit