Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для аутентификации запросов к API службы подготовки устройств Центр Интернета вещей Azure (DPS), таких как создание удостоверения устройства и вызов прямого метода, можно использовать Microsoft Entra ID. Вы также можете использовать управление доступом на основе ролей Azure (Azure RBAC) для авторизации этих же API-интерфейсов службы. Используя эти технологии совместно, вы можете предоставить субъекту безопасности Microsoft Entra разрешение на доступ к API службы подготовки устройств Центр Интернета вещей Azure (DPS). Субъектами безопасности могут быть пользователь, группа или субъект-служба приложения.
Проверка подлинности доступа с помощью идентификатора Microsoft Entra и управления разрешениями с помощью Azure RBAC обеспечивает улучшенную безопасность и удобство использования маркеров безопасности. Чтобы свести к минимуму потенциальные проблемы безопасности, присущие токенам безопасности, мы рекомендуем по возможности использовать Microsoft Entra ID с вашей Службой подготовки устройств Центр Интернета вещей Azure (DPS).
Примечание.
Аутентификация с помощью Microsoft Entra ID не поддерживается для API устройств Службы подготовки устройств Центр Интернета вещей Azure (DPS) (например, регистрации устройства или поиска состояния регистрации устройства). Используйте симметричные ключи, X.509 или TPM для аутентификации устройств в Службе подготовки устройств Центр Интернета вещей Azure (DPS).
Проверка подлинности и авторизация
Когда субъект безопасности Microsoft Entra запрашивает доступ к API службы подготовки устройств Центра Интернета вещей Azure (DPS), удостоверение этого субъекта сначала проходит аутентификацию. Для проверки подлинности во время выполнения запрос должен содержать маркер доступа OAuth 2.0. Имя ресурса для запроса токена — https://azure-devices-provisioning.net. Если приложение выполняется в ресурсе Azure, таком как виртуальная машина Azure, приложение функции Azure или приложение Службы приложений Azure, оно может быть представлено как управляемое удостоверение.
После проверки подлинности субъекта Microsoft Entra следующий шаг — авторизация. На этом шаге Центр Интернета вещей Azure служба подготовки устройств (DPS) использует службу назначения ролей Microsoft Entra, чтобы определить, какие разрешения имеет субъект. Если разрешения субъекта безопасности соответствуют запрошенному ресурсу или API, Служба подготовки устройств Центра Интернета вещей Azure (DPS) санкционирует запрос. На этом этапе субъекту безопасности необходимо назначить одну или несколько ролей Azure. Служба подготовки устройств Центра Интернета вещей Azure (DPS) предоставляет несколько встроенных ролей с общими наборами разрешений.
Управление доступом к Службе подготовки устройств (DPS) Центра Интернета вещей Azure с помощью назначения ролей Azure RBAC
При использовании Microsoft Entra ID и RBAC служба подготовки устройств Центр Интернета вещей Azure (DPS) требует, чтобы субъект, запрашивающий API, имел соответствующий уровень прав для авторизации. Чтобы предоставить субъекту разрешение, присвойте ему назначение роли.
- Если субъект — пользователь, группа или субъект-служба приложения, следуйте указаниям в разделе Назначение ролей Azure с помощью портала Azure.
- Если субъектом является управляемое удостоверение, воспользуйтесь инструкциями из статьи Предоставление управляемому удостоверению доступа к ресурсу с помощью портала Azure.
Чтобы обеспечить соблюдение принципа минимальных привилегий, всегда назначайте соответствующую роль на минимально возможной области действия ресурса, которой, вероятно, является область действия Службы подготовки устройств Центра Интернета вещей Azure (DPS).
Служба подготовки устройств Центр Интернета вещей Azure (DPS) предоставляет следующие встроенные роли Azure для авторизации доступа к API DPS с помощью Microsoft Entra ID и RBAC:
| Роль | Описание |
|---|---|
| Участник данных службы подготовки устройств | Обеспечивает полный доступ к операциям службы подготовки устройств. |
| Читатель данных службы подготовки устройств | Предоставляет полный доступ для чтения к свойствам плоскости данных Службы подготовки устройств. |
Вы также можете определить пользовательские роли для использования со Службой подготовки устройств Центра Интернета вещей Azure (DPS), комбинируя разрешения, которые вам нужны. Дополнительные сведения см. в статье, посвященной созданию пользовательских ролей для управления доступом на основе ролей в Azure.
Ключи записи для плоскости управления и ключи политик общего доступа
Действие Microsoft.Devices/provisioningServices/write позволяет принципалу создавать или обновлять любое свойство ресурса DPS, включая коллекцию authorizationPolicies . Поскольку контракт Azure Resource Manager (ARM) для CreateOrUpdate принимает предоставляемые вызывающей стороной значения primaryKey и secondaryKey для каждой политики, субъект, имеющий write на ресурсе DPS, может:
- Установите первичный или вторичный ключ любой политики общего доступа (включая корневую
provisioningserviceownerполитику) на выбранное ими значение и затем аутентифицируйтесь как эту политику. - Вращайте ключи любой политики совместного доступа, что аннулирует существующих пользователей.
- Добавьте новую именованную политику совместного доступа с выбранным значением ключа.
По этой причине Microsoft.Devices/provisioningServices/write фактически равнозначно полному администрированию учетных данных политики общего доступа ресурса независимо от того, есть ли у субъекта безопасности также Microsoft.Devices/provisioningServices/listkeys/action или Microsoft.Devices/provisioningServices/listkey/action.
Important
Пользовательская роль, предоставляющая Microsoft.Devices/provisioningServices/write для ресурса DPS без предоставления listkeys/action, не изолирует управление учетными данными от конфигурации ресурса. Принципал по-прежнему полностью контролирует ключевой материал политики совместного доступа через механизм записи. Не полагайтесь на этот шаблон для конфигурации с наименьшими привилегиями.
Если нужно отделить конфигурацию ресурсов от администрирования политики общего доступа, используйте один из следующих шаблонов:
- Отдавайте предпочтение аутентификации Microsoft Entra ID в плоскости данных. Назначьте встроенные роли Device Provisioning Service Data Contributor или Device Provisioning Service Data Reader для управления регистрацией и отключите доступ с использованием общего доступа и подписи на ресурсе, где это возможно.
- Ограничить
writeпо объёму ресурсов. Посколькуwriteподразумевает контроль над ключами, предоставляйте его только тем субъектам, которым вы доверяете учетные данные политики общего доступа. - Проверьте активность управляющей плоскости. Изменения, внесённые в
authorizationPoliciesчерез операцию PUT в плоскости управления, записываются в журнал действий Azure в рамках операцииMicrosoft.Devices/provisioningServices/write. Рассматривайте эти события вместе с событиямиlistkeys/actionпри аудите доступа к учетным данным.
Те же соображения применимы и к Центр Интернета вещей Azure. Для подробностей см. Контроль доступа к Центр Интернета вещей с помощью Microsoft Entra ID.
Область ресурса
Прежде чем назначить роль RBAC Azure субъекту безопасности, определите для него область доступа. Всегда лучше предоставлять только минимально необходимый объём прав. Роли Azure RBAC, определенные на более широком уровне области действия, наследуются ресурсами, находящимися под ними.
В следующем списке описаны уровни, на которых можно ограничить доступ к Центру Интернета вещей, начиная с самой узкой области:
- Служба подготовки устройств Центр Интернета вещей Azure (DPS). В этой области назначение роли применяется к службе подготовки устройств Центр Интернета вещей Azure (DPS). Назначение ролей на более узких уровнях, таких как группа регистрации или индивидуальная регистрация, не поддерживается.
- Группа ресурсов. В этой области назначение ролей применяется ко всем центрам Интернета вещей в группе ресурсов.
- Подписка. В этой области назначение ролей применяется ко всем центрам Интернета вещей во всех группах ресурсов в подписке.
- Группа управления. В этой области назначение ролей применяется ко всем центрам Интернета вещей во всех группах ресурсов в подписках группы управления.
Разрешения для API службы подготовки устройств Центр Интернета вещей Azure (DPS)
В следующей таблице описаны разрешения, доступные для операций API службы подготовки устройств Центра Интернета вещей Azure (DPS). Чтобы разрешить клиенту вызывать определенную операцию, убедитесь, что назначенная ему роль RBAC предоставляет достаточные разрешения для этой операции.
| Действие RBAC | Описание |
|---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Получить подробные сведения о механизме аттестации |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Просмотр групп зачисления |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Изменение групп регистрации |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Удаление групп регистрации |
Microsoft.Devices/provisioningServices/enrollments/read |
Просмотр данных о зачислении |
Microsoft.Devices/provisioningServices/enrollments/write |
Запись регистраций |
Microsoft.Devices/provisioningServices/enrollments/delete |
Удаление регистраций |
Microsoft.Devices/provisioningServices/registrationStates/read |
Чтение состояний регистрации |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Удаление состояний регистрации |
Расширение Интернета вещей Azure для Azure CLI
Большинство команд для Центр Интернета вещей Azure Device Provisioning Service (DPS) поддерживают аутентификацию Microsoft Entra. Тип проверки подлинности, используемый для выполнения команд, можно контролировать с помощью параметра --auth-type, который принимает значения key или login. Значение key является значением по умолчанию.
Если для
--auth-typeзадано значениеkey, CLI автоматически определяет подходящую политику при взаимодействии со службой подготовки устройств Центр Интернета вещей Azure (DPS).Если для параметра
--auth-typeзадано значениеlogin, то в ходе этой операции используется маркер доступа от субъекта, выполнившего вход через Azure CLI.Следующие команды в настоящее время поддерживают
--auth-type:az iot dps enrollmentaz iot dps enrollment-groupaz iot dps registration
Дополнительные сведения см. на странице выпусков расширения Azure IoT для Azure CLI.
Пакеты SDK и примеры
- Пакеты SDK для Интернета вещей Azure для службы подготовки Node.js
- Предварительный выпуск Azure IoT SDK для Java
- • Предварительный выпуск пакетов SDK Microsoft Azure IoT для .NET
Доступ к Microsoft Entra ID из портала Azure
Примечание.
Доступ к Microsoft Entra ID через портал Azure в настоящее время недоступен на этапе предварительной версии.
Следующие шаги
- Дополнительные сведения о преимуществах использования идентификатора Microsoft Entra в приложении см. в разделе "Интеграция с идентификатором Microsoft Entra".
- Дополнительные сведения о запросе токенов доступа у Microsoft Entra ID для пользователей и субъектов-служб см. в статье Сценарии аутентификации для Microsoft Entra ID.