Управление доступом на основе ролей (RBAC) Azure и Обновление устройств
Обновление устройств использует RBAC Azure, чтобы обеспечивать проверку подлинности, а также авторизацию для пользователей и API-интерфейсов службы. Чтобы другие пользователи и приложения имели доступ к Обновлению устройств, им необходимо предоставить доступ к этому ресурсу. Кроме того, для успешного развертывания обновлений и управления устройствами необходимо настроить доступ к субъекту-службе Обновления устройств Azure.
Настройка ролей управления доступом
Ниже указаны роли, поддерживаемые Обновлением устройств.
Имя роли | Description |
---|---|
Администратор обновлений устройств | Имеет доступ ко всем ресурсам Обновления устройств |
Читатель обновлений устройств | Может просматривать все обновления и развертывания. |
Администратор содержимого обновлений устройств | Может просматривать, импортировать и удалять обновления. |
Читатель содержимого обновлений устройств | Может просматривать обновления. |
Администратор развертывания обновлений устройств | Может управлять развертыванием обновлений на устройствах. |
Читатель развертывания обновлений устройств | Может просматривать развертывания обновлений на устройствах. |
Нужный уровень доступа можно обеспечить сочетанием ролей. Например, разработчик может импортировать обновления и управлять ими с помощью роли "Администратор содержимого обновлений устройств", но для просмотра хода выполнения обновлений требуется роль "Читатель развертывания обновлений устройств". И наоборот, оператор решения с ролью "Читатель обновлений устройств" может просматривать все обновления, но для развертывания определенного обновления на устройствах ему необходима роль "Администратор развертывания обновлений устройств".
Настройка доступа для субъекта-службы Обновления устройств Azure в Центре Интернета вещей
Обновление устройств для Центра Интернета вещей взаимодействует с Центром Интернета вещей для развертываний и управления обновлениями в большом масштабе. Чтобы включить обновление устройства для этого, пользователям необходимо задать доступ Центр Интернета вещей участнику данных для субъекта-службы обновления устройств Azure в разрешениях Центр Интернета вещей.
Развертывание, управление устройствами и обновлениями и диагностические действия не будут разрешены, если эти разрешения не заданы. К операциям, которые будут заблокированы, будут включены:
- Создание развертывания
- Отмена развертывания
- Повторная попытка развертывания
- Получение устройства
Разрешение можно задать из Центр Интернета вещей контроль доступа (IAM). Сведения о настройке доступа для субъекта-службы обновления устройств Azure в связанном Центре Интернета вещей
Проверка подлинности в REST API обновления устройства
Обновление устройства использует идентификатор Microsoft Entra для проверки подлинности в своих REST API. Чтобы приступить к работе, создайте и настройте клиентское приложение.
Создание клиентского приложения Microsoft Entra
Чтобы интегрировать приложение или службу с идентификатором Microsoft Entra, сначала зарегистрируйте клиентское приложение с идентификатором Microsoft Entra. Настройка клиентского приложения зависит от требуемого потока авторизации (пользователей, приложений или управляемых удостоверений). Например, чтобы вызвать обновление устройства:
- с мобильного или настольного приложения, добавьте платформу Мобильные и настольные приложения с
https://login.microsoftonline.com/common/oauth2/nativeclient
для URI перенаправления; - с веб-сайта с неявным входом, добавьте веб-платформу и выберите маркеры доступа (используются для неявных потоков).
Примечание.
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Неявная проверка подлинности потока требует очень высокой степени доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Настройка разрешений
Затем добавьте разрешения для вызова обновления устройства в приложении:
- Перейдите на страницу Разрешения API приложения и выберите Добавить разрешение.
- Перейдите к API, используемые моей организацией и выполните поиск по запросу Обновление устройств Azure.
- Выберите разрешение user_impersonation, а затем — Добавить разрешения.
Запрос маркера авторизации
Для REST API обновления устройства требуется маркер авторизации OAuth 2.0 в заголовке запроса. В следующих разделах показаны некоторые примеры способов запроса маркера авторизации.
Использование Azure CLI
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
Использование библиотеки MSAL PowerShell
Модуль MSAL.PS PowerShell — это оболочка для библиотеки проверки подлинности Майкрософт для .NET (MSAL .NET). Он поддерживает различные способы проверки подлинности.
Использование учетных данных пользователя
$clientId = '<app_id>'
$tenantId = '<tenant_id>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope
Использование учетных данных пользователя с кодом устройства
$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode
Использование учетных данных приложения
$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$cert = '<client_certificate>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/.default'
Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert
Поддержка управляемых удостоверений
Функция управляемых удостоверений безопасным образом предоставляет службам Azure автоматически управляемые удостоверения в Microsoft Entra ID. Это устраняет необходимость для разработчиков в управлении учетными данными за счет наличия удостоверения. Обновление устройств для Центра Интернета вещей поддерживает управляемые удостоверения, назначаемые системой.
Управляемое удостоверение, назначаемое системой
Чтобы добавить и удалить назначаемое системой управляемое удостоверение на портале Azure, выполните следующие действия:
- Войдите на портал Azure и перейдите к необходимой учетной записи обновления устройств для Центра Интернета вещей.
- Перейдите в раздел "Удостоверение" на портале Центра Интернета вещей
- Перейдите в раздел Удостоверение на портале Центра Интернета вещей.
- На вкладке Назначаемые системой выберите Вкл. и нажмите кнопку Сохранить.
Чтобы удалить управляемое удостоверение, назначаемое системой, из учетной записи центра Интернета вещей, нажмите кнопку "Отключить" и нажмите кнопку "Сохранить".