Безопасность в Azure Digital Twins

В этой статье описаны рекомендации по обеспечению безопасности Azure Digital Twins. В ней рассматриваются роли и разрешения, управляемое удостоверение, доступ к частной сети с Приватный канал Azure, теги служб, шифрование неактивных данных и совместное использование ресурсов между источниками (CORS).

Служба Azure Digital Twins предоставляет детализированное управление доступом для определенных данных, ресурсов и действий в развертывании. Это делается с помощью детализированной роли и стратегии управления разрешениями, называемой управлением доступом на основе ролей Azure (Azure RBAC).

Azure Digital Twins также поддерживает шифрование неактивных данных.

Назначение ролей и разрешений с помощью Azure RBAC

Azure RBAC предоставляется Azure Digital Twins через интеграцию с идентификатором Microsoft Entra.

Вы можете с помощью Azure RBAC предоставить разрешения субъекту безопасности, то есть пользователю, группе или субъекту-службе приложения. Субъект безопасности проходит проверку подлинности с помощью идентификатора Microsoft Entra и получает маркер OAuth 2.0. Этот маркер можно использовать для авторизации запроса доступа к экземпляру Azure Digital Twins.

Аутентификация и авторизация

С идентификатором Microsoft Entra access — это двухэтапный процесс. Когда субъект безопасности (пользователь, группа или приложение) пытается получить доступ к Azure Digital Twins, запрос должен пройти проверку подлинности и авторизоваться.

  1. Сначала удостоверяется личность субъекта безопасности, и возвращается маркер проверки подлинности OAuth 2.0.
  2. Маркер проверки подлинности передается как часть запроса в службу Azure Digital Twins для авторизации доступа к указанному ресурсу.

Для этапа аутентификации требуется, чтобы запрос от приложения содержал маркер проверки подлинности OAuth 2.0 в среде выполнения. Если приложение выполняется внутри сущности Azure, например в приложении Функций Azure, оно может использовать управляемое удостоверение для обращения к ресурсам. Дополнительные сведения об управляемых удостоверениях см. в следующем разделе.

На этапе авторизации субъекту безопасности необходимо назначить одну или несколько ролей Azure. Роли, назначаемые участнику безопасности, определяют разрешения, которые он будет иметь. Azure Digital Twins включает роли Azure, охватывающие наборы разрешений для ресурсов Azure Digital Twins. Параметры ролей описаны далее в этой статье.

Дополнительные сведения о ролях и назначении ролей, поддерживаемых в Azure, см. в статье Общие сведения о различных ролях в документации по RBAC Azure.

Проверка подлинности с помощью управляемых удостоверений

Управляемые удостоверения для ресурсов Azure — это функция Azure, которая позволяет создавать удостоверения безопасности, связанные с развертыванием, в рамках которого выполняется код приложения. Затем можно связать этот идентификатор с ролями управления доступом, которые дают настраиваемые разрешения для доступа к определенным ресурсам Azure, необходимым приложению.

С помощью управляемых удостоверений платформа Azure управляет этим идентификатором среды выполнения. Ключи доступа не нужно хранить и защищать в коде приложений или конфигурации ни для удостоверения, ни для ресурсов, к которым необходимо получить доступ. Клиентское приложение Azure Digital Twins, работающее внутри приложения службы приложение Azure, не требует обработки правил и ключей SAS или других маркеров доступа. Клиентскому приложению достаточно только адреса конечной точки пространства имен Azure Digital Twins. При подключении приложения Azure Digital Twins привязывает контекст управляемого объекта к клиенту. После того как он связан с управляемым удостоверением, клиент Azure Digital Twins может выполнять все авторизованные операции. Затем авторизация будет предоставляться путем связывания управляемого объекта с ролью Azure Digital Twins (описывается ниже).

Авторизация: роли Azure для Azure Digital Twins

Azure предоставляет две встроенные роли Azure для авторизации доступа к API плоскости данных Azure Digital Twins. Ссылаться на роли можно по имени или по идентификатору.

Встроенная роль Description Идентификатор
Владелец данных Azure Digital Twins Эта роль дает полный доступ к ресурсам Azure Digital Twins. bcd981a7-7f74-457b-83e1-cceb9e632ffe
Читатель данных Azure Digital Twins Эта роль предоставляет доступ только для чтения к ресурсам Azure Digital Twins. d57506d4-4c8d-48b1-8587-93c323f6a5a3

Назначить роли можно двумя способами:

Подробные инструкции по назначению ролей экземпляру Azure Digital Twins см. в статье "Настройка экземпляра и аутентификации". Дополнительные сведения о том, как определяются встроенные роли, см. в документации к RBAC Azure Общие сведения об определениях ролей.

Вы также можете создать пользовательские роли Azure для своего экземпляра. Это позволяет предоставить разрешение для определенных действий в отдельных областях данных, включая двойники, команды, связи, маршруты событий, задания, модели и запросы. Дополнительные сведения о пользовательских ролях в Azure см. в разделе "Пользовательские роли Azure".

Автоматизация ролей

В автоматизированных сценариях рекомендуется ссылаться на роли по идентификаторам, а не по именам. Имена могут меняться между выпусками, но идентификаторы не будут, что делает их более стабильной ссылкой в автоматизации.

Совет

При назначении ролей с помощью командлета, такого как New-AzRoleAssignment (ссылка), вы можете использовать параметр -RoleDefinitionId вместо -RoleDefinitionName, чтобы передать идентификатор вместо имени роли.

Области действия разрешений

Прежде чем назначить роль Azure субъекту безопасности, определите для него область доступа. Рекомендуется всегда указывать максимально узкие области.

В следующем списке описаны уровни, на которых вы можете ограничить доступ к ресурсам Azure Digital Twins.

  • Модели. Действия для этого ресурса определяют управление моделями, отправленными в Azure Digital Twins.
  • Граф Azure Digital Twins. Действия для этого ресурса определяют возможность выполнения операций запросов в цифровых двойниках в графе Azure Digital Twins.
  • Цифровой двойник. Действия для этого ресурса обеспечивают управление операциями CRUD в цифровом двойнике в графе Azure Digital Twins.
  • Связи цифрового двойника. Действия для этого ресурса определяют управление операциями CRUD относительно связей между цифровыми двойниками в графе Azure Digital Twins.
  • Маршрут событий: действия для этого ресурса определяют разрешения на маршрутизацию событий из Azure Digital Twins в службу конечных точек, например Центры событий, сетку событий или служебная шина.

Устранение неполадок с разрешениями

Если пользователь пытается выполнить действие, недопустимое для его роли, он может получить сообщение об ошибке в виде запроса на обслуживание 403 (Forbidden). Дополнительные сведения и инструкции по устранению неполадок см. в статье "Устранение неполадок с неудачным запросом службы Azure Digital Twins: ошибка 403 (запрещено)".

Управляемое удостоверение для доступа к другим ресурсам

Настройка управляемого удостоверения Microsoft Entra IDдля экземпляра Azure Digital Twins позволяет экземпляру легко получить доступ к другим защищенным ресурсам Microsoft Entra, таким как Azure Key Vault. Удостоверение управляется платформой Azure и не требует подготовки или смены секретов. Дополнительные сведения об управляемых удостоверениях в идентификаторе Microsoft Entra см. в разделе "Управляемые удостоверения" для ресурсов Azure.

Azure Digital Twins поддерживает оба типа управляемых удостоверений, назначаемых системой и назначаемых пользователем.

Для проверки подлинности в пользовательской конечной точке можно использовать любой из этих типов управляемых удостоверений. Azure Digital Twins поддерживает проверку подлинности на основе удостоверений в конечных точках для центров событий ислужебная шина назначения, а также в конечную точку контейнера служба хранилища Azure для событий недоставки. Конечные точки Сетки событий в настоящее время не поддерживаются для управляемых удостоверений.

Инструкции по включению управляемого удостоверения для конечной точки Azure Digital Twins, которая может использоваться для маршрутизации событий, см. в разделе "Параметры конечной точки: проверка подлинности на основе удостоверений".

Использование доверенной службы Майкрософт для маршрутизации событий в центры событий и конечные точки служебная шина

Azure Digital Twins может подключаться к центрам событий и служебная шина конечным точкам для отправки данных о событиях с помощью общедоступных конечных точек этих ресурсов. Однако если эти ресурсы привязаны к виртуальной сети, подключение к ресурсам блокируется по умолчанию. В результате эта конфигурация не позволяет Azure Digital Twins отправлять данные о событиях в ресурсы.

Чтобы устранить эту проблему, включите подключение из экземпляра Azure Digital Twins к центрам событий или ресурсам служебная шина с помощью параметра доверенной службы Майкрософт (см. доверенные службы Майкрософт для Центров событий и доверенных службы Майкрософт для служебная шина).

Чтобы включить подключение к доверенной службе Майкрософт, необходимо выполнить следующие действия.

  1. Экземпляр Azure Digital Twins должен использовать управляемое удостоверение, назначаемое системой. Это позволяет другим службам находить экземпляр в качестве доверенной службы Майкрософт. Инструкции по настройке управляемого системой удостоверения в экземпляре см. в разделе "Включить управляемое удостоверение для экземпляра".
  2. После подготовки управляемого удостоверения, назначаемого системой, предоставьте разрешение управляемому удостоверению экземпляра для доступа к центрам событий или конечной точке служебная шина (эта функция не поддерживается в сетке событий). Инструкции по назначению соответствующих ролей см. в статье "Назначение ролей Azure для удостоверения".
  3. Для центров событий и конечных точек служебная шина, имеющих конфигурации брандмауэра, убедитесь, что разрешено доверенное службы Майкрософт для обхода этого параметра брандмауэра.

Приватный канал Azure — это служба, которая обеспечивает доступ к ресурсам Azure (например, Центрам событий Azure, Хранилищу Azureи Azure Cosmos DB), а также к размещенным в Azure службам клиентов или партнеров через частную конечную точку Виртуальной сети Azure.

Аналогичным образом можно использовать конечные точки частного доступа для экземпляра Azure Digital Twins, чтобы клиенты, расположенные в виртуальной сети, имели безопасный доступ REST API к экземпляру через Приватный канал. Настройка конечной точки частного доступа для экземпляра Azure Digital Twins позволяет защитить экземпляр Azure Digital Twins и исключить общедоступную экспозицию. Кроме того, это помогает избежать кражи данных из виртуальная сеть Azure (виртуальная сеть).

Конечная точка частного доступа использует IP-адрес из адресного пространства виртуальной сети Azure. Сетевой трафик между клиентом и вашей частной сетью проходит через экземпляр Azure Digital Twins и приватный канал в магистральной сети Майкрософт, что позволяет избежать рисков общедоступного Интернета. Вот визуальное представление этой системы:

Diagram showing a network that is a protected VNET with no public cloud access, connecting through Private Link to an Azure Digital Twins instance.

Настройка конечной точки частного доступа для экземпляра Azure Digital Twins позволяет защитить экземпляр Azure Digital Twins и устранить общедоступную уязвимость, а также избежать кражи данных из виртуальной сети.

Инструкции по настройке Приватный канал для Azure Digital Twins см. в статье "Включение частного доступа с помощью Приватный канал".

Примечание.

Доступ к частной сети с Приватный канал Azure применяется к доступу к Azure Digital Twins через rest API. Эта функция не применяется к сценариям исходящего трафика с помощью функции маршрутизации событий Azure Digital Twins.

Рекомендации по проектированию

При работе с приватным каналом в Azure Digital Twins учитывайте приведенные ниже факторы.

  • Цены: сведения о ценах см. в Приватный канал Azure ценах.
  • Региональная доступность: Приватный канал для Azure Digital Twins доступна во всех регионах Azure, где доступен Azure Digital Twins.
  • Azure Digital Twins Обозреватель. Обозреватель Azure Digital Twins не может получить доступ к экземплярам Azure Digital Twins, имеющим общедоступный доступ. Однако вы можете использовать функции Azure для развертывания базы кода Azure Digital Twins Обозреватель в частном порядке. Инструкции по этому вопросу см. в Обозреватель Azure Digital Twins: запуск в облаке.
  • Максимальное число частных конечных точек на один экземпляр Azure Digital Twins составляет 10
  • Другие ограничения. Дополнительные сведения об ограничениях Приватный канал см. в Приватный канал Azure документации по ограничениям.

Теги служб

Тег службы представляет группу префиксов IP-адресов из определенной службы Azure. Корпорация Майкрософт управляет префиксами адресов, входящих в тег службы, и автоматически обновляет этот тег при изменении адресов, сводя к минимуму сложность частых обновлений правил сетевой безопасности. Дополнительные сведения о тегах служб см. в разделе "Теги виртуальной сети".

Теги служб можно использовать для определения элементов управления доступом к сети в группах безопасности сети или Брандмауэр Azure с помощью тегов служб вместо определенных IP-адресов при создании правил безопасности. Указав имя тега службы (в данном случае AzureDigitalTwins) в соответствующем поле источника или назначения правила, можно разрешить или запретить трафик для соответствующей службы.

Ниже приведены подробные сведения о теге службы AzureDigitalTwins.

Тег Цель Может ли использовать входящий или исходящий трафик? Может быть региональным? Можно ли использовать с Брандмауэром Azure?
AzureDigitalTwins Azure Digital Twins
Примечание. Этот тег или IP-адреса, охватываемые этим тегом, можно использовать для ограничения доступа к конечным точкам, настроенным для маршрутов событий.
Входящий трафик No Да

Использование тегов службы для доступа к конечным точкам маршрута событий

Ниже приведены инструкции о том, как получить доступ к конечным точкам маршрута событий с помощью тегов службы в Azure Digital Twins.

  1. Сначала скачайте ссылку на JSON-файл с примерами диапазонов IP-адресов Azure и тегами службы: Диапазоны IP-адресов Azure и теги службы.

  2. Найдите диапазоны IP-адресов AzureDigitalTwins в файле JSON.

  3. Ознакомьтесь с документацией внешнего ресурса, подключенного к конечной точке (например, Сетка событий, Центры событий, служебная шина или служба хранилища Azure для событий недоставленных букв), чтобы узнать, как задать IP-фильтры для этого ресурса.

  4. Настройте IP-фильтры для внешних ресурсов, используя диапазоны IP-адресов из шага 2.

  5. Периодически обновляйте диапазоны IP-адресов. Диапазоны могут меняться со временем, поэтому рекомендуется регулярно проверять и обновлять их при необходимости. Частота таких обновлений может варьироваться, но рекомендуется проверять их наличие раз в неделю.

Шифрование неактивных данных

Azure Digital Twins выполняет шифрование неактивных и передаваемых данных, когда они записываются в наши центры обработки данных, а затем расшифровывает данные при доступе к ним. Это шифрование выполняется с помощью ключа шифрования, которым управляет корпорация Майкрософт.

Общий доступ к ресурсам между источниками (CORS)

Azure Digital Twins сейчас не поддерживает Предоставление общего доступа к ресурсам независимо от источника (CORS). В результате, если вы вызываете REST API из приложения браузера, интерфейса Управление API (APIM) или соединителя Power Apps, может возникнуть ошибка политики.

Для устранения этой ошибки можно использовать одно из следующих действий.

  • Удалить заголовок CORS Access-Control-Allow-Origin из сообщения. Этот заголовок указывает, можно ли предоставить общий доступ к ответу.
  • Кроме того, можно создать прокси-сервер CORS и выполнять запрос REST API Azure Digital Twins через него.

Следующие шаги