Управление правилами для динамических групп членства в идентификаторе Microsoft Entra

Вы можете создать правила на основе атрибутов пользователей или устройств, чтобы включить членство в динамических группах членства в идентификаторе Microsoft Entra, часть Microsoft Entra. Вы можете добавлять и удалять динамические группы членства автоматически с помощью правил членства на основе атрибутов членов. В Microsoft Entra один клиент может иметь не более 15 000 динамических групп членства.

В этой статье описаны свойства и синтаксис для создания правил для динамических групп членства на основе пользователей или устройств.

Заметка

Группы безопасности можно использовать для устройств или пользователей, но группы Microsoft 365 могут включать только пользователей.

При изменении атрибутов пользователя или устройства система оценивает все правила динамических групп членства в каталоге, чтобы узнать, активирует ли изменение любую группу добавляет или удаляет. Если пользователь или устройство удовлетворяет правилу в группе, они добавляются в качестве члена этой группы. Если они больше не удовлетворяют правилу, они удаляются. Невозможно вручную добавить или удалить члена динамической группы членства.

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

Заметка

Для этой функции требуется лицензия Microsoft Entra ID P1 или Intune для образования для каждого уникального пользователя, являющегося членом одной или нескольких динамических групп членства. Вам не нужно назначать лицензии пользователям, чтобы они были членами динамических групп членства, но у вас должно быть минимальное количество лицензий в организации Microsoft Entra, чтобы охватывать всех таких пользователей. Например, если в организации было всего 1000 уникальных пользователей во всех динамических группах членства, вам потребуется по крайней мере 1000 лицензий для Microsoft Entra ID P1 для удовлетворения требования лицензии. Лицензия не требуется для устройств, являющихся членами динамической группы членства на основе устройства.

Построитель правил в портал Azure

Идентификатор Microsoft Entra предоставляет построитель правил для быстрого создания и обновления важных правил. Построитель правил поддерживает построение до пяти выражений. Построитель правил упрощает формирование правила с несколькими простыми выражениями, однако его нельзя использовать для воспроизведения каждого правила. Если построитель правил не поддерживает создаваемое правило, можно использовать текстовое поле.

Ниже приведены некоторые примеры расширенных правил или синтаксиса, требующих использования текстового поля:

Заметка

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

Дополнительные пошаговые инструкции см. в разделе "Создание или обновление динамической группы членства".

Снимок экрана: добавление правила членства для динамической группы членства.

Синтаксис правила для одного выражения

Одно выражение является самой простой формой правила членства и имеет только три части, упомянутые выше. Правило с одним выражением выглядит примерно так: Property Operator Valueгде синтаксис свойства — имя объекта.property.

В следующем примере показано правильно созданное правило членства с одним выражением:

user.department -eq "Sales"

Круглые скобки являются необязательными для одного выражения. Общая длина текста правила членства не может превышать 3072 символов.

Создание текста правила членства

Правило членства, которое автоматически заполняет группу пользователями или устройствами, является двоичным выражением, которое приводит к истинному или ложному результату. Три части простого правила:

  • Свойство
  • Оператор
  • Ценность

Порядок частей в выражении важен, чтобы избежать синтаксической ошибки.

Поддерживаемые свойства

Существует три типа свойств, которые можно использовать для создания правила членства.

  • Булев
  • DateTime
  • Струна
  • Коллекция строк

Ниже приведены свойства пользователя, которые можно использовать для создания одного выражения.

Свойства логического типа

Свойства Допустимые значения Употребление
accountEnabled true false user.accountEnabled -eq true
dirSyncEnabled true false user.dirSyncEnabled -eq true

Свойства типа dateTime

Свойства Допустимые значения Употребление
employeeHireDate (предварительная версия) Любое значение DateTimeOffset или система ключевых слов.now user.employeeHireDate -eq "value"

Свойства строки типа

Свойства Допустимые значения Употребление
город Любое строковое значение или null user.city -eq "value"
страна Любое строковое значение или null user.country -eq "value"
companyName Любое строковое значение или null user.companyName -eq "value"
отдел Любое строковое значение или null user.department -eq "value"
displayName Любое строковое значение user.displayName -eq "value"
employeeId Любое строковое значение user.employeeId -eq "value"
user.employeeId -ne null
facsimileTelephoneNumber Любое строковое значение или null user.facsimileTelephoneNumber -eq "value"
givenName Любое строковое значение или null user.givenName -eq "value"
jobTitle Любое строковое значение или null user.jobTitle -eq "value"
почта Любое строковое значение или null (SMTP-адрес пользователя) user.mail -eq "value"
mailNickName Любое строковое значение (псевдоним почты пользователя) user.mailNickName -eq "value"
memberOf Любое строковое значение (допустимый идентификатор объекта группы) user.memberOf -any (group.objectId -in ['value'])
мобильный Любое строковое значение или null user.mobile -eq "value"
objectId GUID объекта пользователя user.objectId -eq "aaaa-0000-1111-2222-bbbbbb"
onPremisesDistinguishedName Любое строковое значение или null user.onPremisesDistinguishedName -eq "value"
onPremisesSecurityIdentifier Локальный идентификатор безопасности (SID) для пользователей, которые были синхронизированы из локальной среды в облако. user.onPremisesSecurityIdentifier -eq "S-1-1-11-11111111111-111111111-1111111"
passwordPolicies Никакой
DisableStrongPassword
DisablePasswordExpiration
DisablePasswordExpiration, DisableStrongPassword
user.passwordPolicies -eq "DisableStrongPassword"
physicalDeliveryOfficeName Любое строковое значение или null user.physicalDeliveryOfficeName -eq "value"
почтовый код Любое строковое значение или null user.postalCode -eq "value"
предпочтительныйLanguage Код ISO 639-1 user.preferredLanguage -eq "en-US"
sipProxyAddress Любое строковое значение или null user.sipProxyAddress -eq "value"
государство Любое строковое значение или null user.state -eq "value"
streetAddress Любое строковое значение или null user.streetAddress -eq "value"
фамилия Любое строковое значение или null user.last -eq "value"
номер телефона Любое строковое значение или null user.telephoneNumber -eq "value"
usageLocation Двухбуквенный код страны или региона user.usageLocation -eq "US"
userPrincipalName Любое строковое значение user.userPrincipalName -eq "alias@domain"
userType значение NULL гостевого участника user.userType -eq "Member"

Свойства коллекции строк типа

Свойства Допустимые значения Пример
otherMails Любое строковое значение user.otherMails -startsWith "alias@domain"
proxyAddresses SMTP: alias@domain smtp: alias@domain user.proxyAddresses -startsWith "SMTP: alias@domain"

Свойства, используемые для правил устройств, см. в разделе "Правила для устройств".

Поддерживаемые операторы выражений

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

Оператор Синтаксис
Не равно -никогда
Равно -Эквалайзер
Не начинается с -notStartsWith
Начинается с -startsWith
Не содержит -notContains
Содержит -Содержит
Не соответствует -notMatch
Спичка -спичка
В
Не в -notIn

Использование операторов -in и -notIn

Если вы хотите сравнить значение атрибута пользователя с несколькими значениями, можно использовать операторы -in или -notIn. Используйте символы скобки "[" и "]", чтобы начать и завершить список значений.

В следующем примере выражение оценивается как true, если значение user.department равно любому из значений в списке:

   user.department -in ["50001","50002","50003","50005","50006","50007","50008","50016","50020","50024","50038","50039","51100"]

Использование операторов -le и -ge

При использовании атрибута employeeHireDate в правилах для динамических групп членства можно использовать операторы меньше (-le) или больше (-ge).
Примеры:

user.employeehiredate -ge system.now -plus p1d 

user.employeehiredate -le 2020-06-10T18:13:20Z 

Использование оператора -match

Оператор -match используется для сопоставления любого регулярного выражения. Примеры:

user.displayName -match "^Da.*"   

DaDavid, Davзначение true, aDa оценивается как false.

user.displayName -match ".*vid"

David значение true, Da вычисляется как false.

Поддерживаемые значения

Значения, используемые в выражении, могут состоять из нескольких типов, включая:

  • Строки
  • Логический — true, false
  • Числа
  • Массивы — числовой массив, строковый массив

При указании значения в выражении важно использовать правильный синтаксис, чтобы избежать ошибок. Ниже приведены некоторые советы по синтаксису:

  • Двойные кавычки являются необязательными, если значение не является строкой.
  • Регулярные и строковые операции не учитывает регистр.
  • Убедитесь, что имена свойств правильно отформатированы, как показано ниже, так как они чувствительны к регистру.
  • Если строковое значение содержит двойные кавычки, оба кавычки должны быть экранированы с помощью символа ', например user.department -eq ''Sales'' является правильным синтаксисом, если "Продажи" является значением. Одинарные кавычки следует экранировать с помощью двух одинарных кавычки вместо одного раза.
  • Вы также можете выполнять проверки NULL, используя значение NULL в качестве значения, например user.department -eq null.

Использование значений NULL

Чтобы указать значение NULL в правиле, можно использовать значение NULL .

  • Используйте -eq или -ne при сравнении значения NULL в выражении.
  • Используйте кавычки вокруг слова NULL , только если требуется, чтобы оно было интерпретировано как строковое значение литерала.
  • Оператор -not нельзя использовать в качестве сравнительного оператора для null. Если вы используете его, вы получите сообщение об ошибке, используемой значением NULL или $null.

Правильный способ ссылки на значение NULL выглядит следующим образом:

   user.mail –ne null

Правила с несколькими выражениями

Управление правилами для динамических групп членства может состоять из нескольких отдельных выражений, подключенных к операторам -and, или, а не логическим операторам. Логические операторы также можно использовать в сочетании.

Ниже приведены примеры правильно созданных правил членства с несколькими выражениями:

(user.department -eq "Sales") -or (user.department -eq "Marketing")
(user.department -eq "Sales") -and -not (user.jobTitle -startsWith "SDE")

Приоритет оператора

Все операторы перечислены ниже в порядке приоритета от самого высокого до нижнего. Операторы в одной строке имеют равный приоритет:

-eq -ne -startsWith -notStartsWith -contains -notContains -match –notMatch -in -notIn
-not
-and
-or
-any -all

В следующем примере показано приоритет оператора, в котором вычисляются два выражения для пользователя:

   user.department –eq "Marketing" –and user.country –eq "US"

Скобки необходимы только в том случае, если приоритет не соответствует вашим требованиям. Например, если вы хотите сначала оценить отдел, показано, как можно использовать круглые скобки для определения порядка:

   user.country –eq "US" –and (user.department –eq "Marketing" –or user.department –eq "Sales")

Правила со сложными выражениями

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

  • Свойство состоит из коллекции значений; в частности, многозначные свойства
  • Выражения используют операторы -any и -all
  • Значение выражения может быть одним или несколькими выражениями.

Свойства с несколькими значениями

Свойства с несколькими значениями — это коллекции объектов одного типа. Их можно использовать для создания правил членства с помощью операторов -any и -all.

Свойства Значения Употребление
assignedPlans Каждый объект в коллекции предоставляет следующие строковые свойства: capabilityStatus, service, servicePlanId user.assignedPlans -any (assignedPlan.servicePlanId -eq "aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e4e4e" -and assignedPlan.capabilityStatus -eq "Enabled")
proxyAddresses SMTP: alias@domain smtp: alias@domain (user.proxyAddresses -any (_ -startsWith "contoso"))

Использование операторов -any и -all

Операторы -any и -all можно использовать для применения условия к одному или всем элементам в коллекции соответственно.

  • -any (удовлетворяется, если хотя бы один элемент в коллекции соответствует условию)
  • -all (удовлетворяется, если все элементы в коллекции соответствуют условию)

Пример 1

assignedPlans — это свойство с несколькими значениями, которое перечисляет все планы обслуживания, назначенные пользователю. Следующее выражение выбирает пользователей, имеющих план обслуживания Exchange Online (план 2) (в качестве значения GUID), который также находится в состоянии "Включено".

user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled")

Такое правило можно использовать для группировки всех пользователей, для которых включена возможность Microsoft 365 или другой службы Microsoft Online Service. Затем можно применить набор политик к группе.

Пример 2

Следующее выражение выбирает всех пользователей, у которых есть любой план обслуживания, связанный со службой Intune (идентифицируется именем службы "SCO"):

user.assignedPlans -any (assignedPlan.service -eq "SCO" -and assignedPlan.capabilityStatus -eq "Enabled")

Пример 3

Следующее выражение выбирает всех пользователей, у которых нет назначенного плана обслуживания:

user.assignedPlans -all (assignedPlan.servicePlanId -eq null)

Использование синтаксиса подчеркивания (_)

Синтаксис подчеркивания (_) соответствует вхождениям определенного значения в одном из свойств многозначной коллекции строк для добавления пользователей или устройств в динамическую группу членства. Он используется с операторами -any или -all.

Ниже приведен пример использования символа подчеркивания (_) в правиле для добавления элементов на основе user.proxyAddress (он работает так же для user.otherMails). Это правило добавляет любого пользователя с прокси-адресом, начинающимся с contoso, в группу.

(user.proxyAddresses -any (_ -startsWith "contoso"))

Другие свойства и общие правила

Создание правила "Прямые отчеты"

Вы можете создать группу, содержащую все прямые отчеты руководителя. Когда прямые отчеты руководителя изменяются в будущем, членство группы настраивается автоматически.

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

Direct Reports for "{objectID_of_manager}"

Ниже приведен пример допустимого правила, где "aaaaaaaa-0000-1111-2222-bbbb" является объектным идентификатором диспетчера:

Direct Reports for "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"

Следующие советы помогут вам правильно использовать правило.

  • Идентификатор диспетчера — это идентификатор объекта диспетчера. Его можно найти в профиле руководителя.
  • Чтобы правило работало, убедитесь, что свойство Manager правильно задано для пользователей в организации. Текущее значение можно проверить в профиле пользователя.
  • Это правило поддерживает только прямые отчеты руководителя. Другими словами, вы не можете создать группу с прямыми отчетами руководителя и их отчетами.
  • Это правило нельзя объединить с другими правилами членства.

Создание правила "Все пользователи"

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

Правило "Все пользователи" создается с помощью одного выражения с помощью оператора -ne и значения NULL. Это правило добавляет гостевых пользователей B2B и пользователей-участников в группу.

user.objectId -ne null

Если вы хотите, чтобы группа исключила гостевых пользователей и включала только участников вашей организации, можно использовать следующий синтаксис:

(user.objectId -ne null) -and (user.userType -eq "Member")

Создание правила "Все устройства"

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

Правило "Все устройства" создается с помощью одного выражения с помощью оператора -ne и значения NULL:

device.objectId -ne null

Свойства расширения и настраиваемые свойства расширения

Атрибуты расширения и настраиваемые свойства расширения поддерживаются как строковые свойства в правилах для динамических групп членства. Атрибуты расширения можно синхронизировать с локального сервера Window Server Active Directory или обновить с помощью Microsoft Graph и использовать формат ExtensionAttributeX, где X равно 1 – 15. Свойства расширения с несколькими значениями не поддерживаются в правилах для динамических групп членства.

Ниже приведен пример правила, использующего атрибут расширения в качестве свойства:

(user.extensionAttribute15 -eq "Marketing")

Настраиваемые свойства расширения можно синхронизировать из локальной среды Windows Server Active Directory, из подключенного приложения SaaS или создания с помощью Microsoft Graph, а также иметь формат user.extension_[GUID]_[Attribute], в котором:

  • [GUID] — это отрезаная версия уникального идентификатора в идентификаторе Microsoft Entra для приложения, создавшего свойство. Он содержит только символы 0-9 и A-Z
  • [Атрибут] — это имя свойства, которое было создано.

Примером правила, использующего пользовательское свойство расширения, является:

user.extension_c272a57b722d4eb29bfe327874ae79cb_OfficeNumber -eq "123"

Настраиваемые свойства расширения также называются свойствами расширения Microsoft Entra или каталогом.

Имя настраиваемого свойства можно найти в каталоге, запрашивая свойство пользователя с помощью обозревателя Graph и выполняя поиск имени свойства. Кроме того, теперь можно выбрать ссылку "Получить настраиваемые свойства расширения" в построителе правил динамических групп членства, чтобы ввести уникальный идентификатор приложения и получить полный список свойств настраиваемых расширений, используемых при создании правила для динамических групп членства. Этот список также можно обновить, чтобы получить новые свойства пользовательского расширения для этого приложения. Атрибуты расширения и свойства пользовательского расширения должны быть из приложений в клиенте.

Дополнительные сведения см. в разделе "Использование атрибутов в динамических группах членства" в статье Microsoft Entra Connect Sync: расширения каталогов.

Правила для устройств

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

Заметка

Атрибут organizationalUnit больше не указан и не должен использоваться. Эта строка устанавливается Intune в определенных случаях, но не распознается идентификатором Microsoft Entra, поэтому устройства не добавляются в группы на основе этого атрибута.

Атрибут systemlabels доступен только для чтения и не может быть задан в Intune.

Для Windows 10 правильный формат deviceOSVersion атрибута выглядит следующим образом: (device.deviceOSVersion -startsWith "10.0.1"). Форматирование можно проверить с помощью командлета Get-MgDevice PowerShell:

Get-MgDevice -Search "displayName:YourMachineNameHere" -ConsistencyLevel eventual | Select-Object -ExpandProperty 'OperatingSystemVersion'

Можно использовать следующие атрибуты устройства.

Атрибут устройства Значения Пример
accountEnabled true false device.accountEnabled -eq true
deviceCategory допустимое имя категории устройства device.deviceCategory -eq "BYOD"
deviceId допустимый идентификатор устройства Microsoft Entra device.deviceId -eq "d4fe7726-5966-431c-b3b8-cddc8fdb717d"
deviceManagementAppId Допустимый идентификатор приложения MDM в идентификаторе Microsoft Entra device.deviceManagementAppId -eq "000000a-0000-0000-c000-0000000000000000" для управляемых microsoft Intune или "54b943f8-d761-4f8d-951e-9cea1846db5a" для совместно управляемых устройств System Center Configuration Manager
deviceManufacturer любое строковое значение device.deviceManufacturer -eq "Samsung"
deviceModel любое строковое значение device.deviceModel -eq "iPad Air"
displayName любое строковое значение device.displayName -eq "Rob iPhone"
deviceOSType любое строковое значение (device.deviceOSType -eq "iPad") -or (device.deviceOSType -eq "iOS")
device.deviceOSType -startsWith "AndroidEnterprise"
device.deviceOSType -eq "AndroidForWork"
device.deviceOSType -eq "Windows"
deviceOSVersion любое строковое значение device.deviceOSVersion -eq "9.1"
device.deviceOSVersion -startsWith "10.0.1"
deviceOwnership Личное, компания, неизвестно device.deviceOwnership -eq "Company"
devicePhysicalIds любое строковое значение, используемое Autopilot, например все устройства Autopilot, OrderID или PurchaseOrderID device.devicePhysicalIDs -any _ -startsWith "[ZTDId]"
(device.devicePhysicalIds -any _ -eq "[OrderID]:179887111881"
(device.devicePhysicalIds -any _ -eq "[PurchaseOrderId]:76222342342"
deviceTrustType AzureAD, ServerAD, Workplace device.deviceTrustType -eq "AzureAD"
enrollmentProfileName Имя профиля регистрации устройств Apple, имя профиля регистрации корпоративных устройств Android Enterprise или имя профиля Windows Autopilot device.enrollmentProfileName -eq "DEP iPhones"
extensionAttribute1 любое строковое значение device.extensionAttribute1 -eq "некоторое строковое значение"
extensionAttribute2 любое строковое значение device.extensionAttribute2 -eq "некоторое строковое значение"
extensionAttribute3 любое строковое значение device.extensionAttribute3 -eq "некоторое строковое значение"
extensionAttribute4 любое строковое значение device.extensionAttribute4 -eq "некоторое строковое значение"
extensionAttribute5 любое строковое значение device.extensionAttribute5 -eq "некоторое строковое значение"
extensionAttribute6 любое строковое значение device.extensionAttribute6 -eq "некоторое строковое значение"
extensionAttribute7 любое строковое значение device.extensionAttribute7 -eq "некоторое строковое значение"
extensionAttribute8 любое строковое значение device.extensionAttribute8 -eq "некоторое строковое значение"
extensionAttribute9 любое строковое значение device.extensionAttribute9 -eq "некоторое строковое значение"
extensionAttribute10 любое строковое значение device.extensionAttribute10 -eq "некоторое строковое значение"
extensionAttribute11 любое строковое значение device.extensionAttribute11 -eq "некоторое строковое значение"
extensionAttribute12 любое строковое значение device.extensionAttribute12 -eq "некоторое строковое значение"
extensionAttribute13 любое строковое значение device.extensionAttribute13 -eq "некоторое строковое значение"
extensionAttribute14 любое строковое значение device.extensionAttribute14 -eq "некоторое строковое значение"
extensionAttribute15 любое строковое значение device.extensionAttribute15 -eq "некоторое строковое значение"
isRooted true false device.isRooted -eq true
managementType MDM (для мобильных устройств) device.managementType -eq "MDM"
memberOf Любое строковое значение (допустимый идентификатор объекта группы) device.memberOf -any (group.objectId -in ['value'])
objectId допустимый идентификатор объекта Microsoft Entra device.objectId -eq "aaaa-0000-1111-2222-bbbb"
profileType допустимый тип профиля в идентификаторе Microsoft Entra device.profileType -eq "RegisteredDevice"
systemLabels Строка только для чтения, соответствующая свойству устройства Intune для тегов современных устройств Workplace device.systemLabels -startsWith "M365Managed" SystemLabels

Заметка

При использовании systemLabelsатрибут только для чтения, используемый в различных контекстах, например управление устройствами и метки конфиденциальности, не редактируется с помощью Intune.
При использовании deviceOwnership для создания динамических групп членства для устройств необходимо задать значение, равное Companyзначению. В Intune владение устройством вместо этого представлено как корпоративный. Дополнительные сведения см. в разделе OwnerTypes для получения дополнительных сведений.
При использовании deviceTrustType для создания динамических групп членства для устройств необходимо задать значение, равное AzureAD представлению устройств, присоединенных к Microsoft Entra, для представления гибридных устройств, присоединенных к Microsoft Entra, ServerAD или Workplace представления зарегистрированных устройств Microsoft Entra.
При использовании extensionAttribute1-15 для создания динамических групп членства для устройств необходимо задать значение extensionAttribute1-15 на устройстве. Узнайте больше о том, как написать extensionAttributes объект устройства Microsoft Entra

Дальнейшие действия

В этих статьях содержатся дополнительные сведения о группах в идентификаторе Microsoft Entra.