Назначение, обновление, перечисление или удаление пользовательских атрибутов безопасности для пользователя
Настраиваемые атрибуты безопасности в идентификаторе Microsoft Entra, часть Microsoft Entra, являются бизнес-атрибутами (парами "ключ-значение"), которые можно определить и назначить объектам Microsoft Entra. Например, можно назначить настраиваемый атрибут безопасности для фильтрации сотрудников или для определения пользователей с правами доступа к ресурсам. В этой статье описывается назначение, обновление, перечисление или удаление настраиваемых атрибутов безопасности для идентификатора Microsoft Entra.
Предварительные условия
Чтобы назначить или удалить настраиваемые атрибуты безопасности для пользователя в клиенте Microsoft Entra, вам потребуется:
- Администратор назначения атрибутов
- Модуль Microsoft.Graph при использовании Microsoft Graph PowerShell
- AzureADPreview версии 2.0.2.138 или более поздней при использовании Azure AD PowerShell
Внимание
По умолчанию у глобального администратора и других ролей администратора нет разрешений на чтение, определение и назначение настраиваемых атрибутов безопасности.
Назначение настраиваемых атрибутов безопасности пользователю
Войдите в Центр администрирования Microsoft Entra в качестве администратора назначения атрибутов.
Убедитесь, что у вас есть настраиваемые атрибуты безопасности. Дополнительные сведения см. в разделе "Добавление или отключение определений настраиваемых атрибутов безопасности" в идентификаторе Microsoft Entra.
Перейдите в Идентификация>Пользователи>Все пользователи.
Найдите и выберите пользователя, которому нужно назначить настраиваемые атрибуты безопасности.
В разделе "Управление" выберите настраиваемые атрибуты безопасности.
Выберите Добавить назначение.
Из раскрывающегося списка Набор атрибутов выберите набор атрибутов.
В поле Имя атрибута выберите настраиваемый атрибут безопасности из списка.
В зависимости от свойств выбранного настраиваемого атрибута безопасности можно ввести одно значение, выбрать значение из готового списка или добавить несколько значений.
- Для произвольных настраиваемых атрибутов безопасности с одним значением введите нужную величину в поле Назначенные значения.
- Для предопределенных значений настраиваемых атрибутов безопасности выберите значение из списка Назначенные значения.
- Для настраиваемых атрибутов безопасности с несколькими значениями выберите Добавить значения, чтобы открыть панель Значения атрибутов, и добавьте значения. Завершив ввод значений, нажмите Готово.
По завершении нажмите кнопку Сохранить, чтобы назначить пользователю настраиваемые атрибуты безопасности.
Обновление назначенных пользователю значений настраиваемых атрибутов безопасности
Войдите в Центр администрирования Microsoft Entra в качестве администратора назначения атрибутов.
Перейдите в раздел Удостоверение>Пользователи>Все пользователи.
Найдите и выберите пользователя, для которого требуется обновить назначенное значение настраиваемого атрибута безопасности.
В разделе "Управление" выберите настраиваемые атрибуты безопасности.
Найдите назначенное значение настраиваемого атрибута безопасности, которое требуется обновить.
После назначения пользователю настраиваемого атрибута безопасности можно изменить только значение этого настраиваемого атрибута. Изменять другие свойства настраиваемого атрибута безопасности, такие как набор атрибутов или имя, нельзя.
В зависимости от свойств выбранного настраиваемого атрибута безопасности можно изменить одно значение, выбрать значение из готового списка или изменить несколько значений.
После завершения выберите Сохранить.
Фильтрация пользователей на основе назначений настраиваемых атрибутов безопасности
Список назначенных пользователям настраиваемых атрибутов безопасности можно отфильтровать на странице "Все пользователи".
Войдите в Центр администрирования Microsoft Entra в роли Чтеца назначений атрибутов.
Перейдите в раздел Идентификация>Пользователи>Все пользователи.
Выберите " Добавить фильтр", чтобы открыть панель "Добавить фильтр ".
Выберите настраиваемые атрибуты безопасности.
Выберите набор атрибутов и имя атрибута.
В разделе Оператор можно выбрать вариант "равно" (==), "не равно" (!=) или начинается с.
В разделе Значение введите или выберите значение.
Нажмите кнопку Применить, чтобы применить фильтр.
Удаление настраиваемых назначений атрибутов безопасности для пользователя
Войдите в Центр администрирования Microsoft Entra в качестве администратора назначения атрибутов.
Перейдите в раздел Идентификация>Пользователи>Все пользователи.
Найдите и выберите пользователя, для которого требуется удалить назначение настраиваемого атрибута безопасности.
В разделе "Управление" выберите настраиваемые атрибуты безопасности.
Установите флажки для всех назначений настраиваемых атрибутов безопасности, которые необходимо удалить.
Выберите Удалить назначение.
API PowerShell или Microsoft Graph
Для управления назначениями настраиваемых атрибутов безопасности для пользователей в организации Microsoft Entra можно использовать PowerShell или API Microsoft Graph. Следующие примеры можно использовать для управления назначениями.
Назначение пользователю настраиваемого атрибута безопасности со строковым значением
В следующем примере для пользователя назначается настраиваемый атрибут безопасности со строковым значением.
- Набор атрибутов:
Engineering
- Атрибут:
ProjectDate
- Тип данных атрибута: строка
- Значение атрибута:
"2024-11-15"
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" = "2024-11-15"
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Назначение пользователю настраиваемого атрибута безопасности с многострочным значением
В следующем примере для пользователя назначается настраиваемый атрибут безопасности с многостроовым значением.
- Набор атрибутов:
Engineering
- Атрибут:
Project
- Тип данных атрибута: коллекция строк
- Значение атрибута:
["Baker","Cascade"]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project@odata.type" = "#Collection(String)"
"Project" = @("Baker","Cascade")
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Назначение пользователю настраиваемого атрибута безопасности с целочисленным значением
В следующем примере для пользователя назначается настраиваемый атрибут безопасности со целым значением.
- Набор атрибутов:
Engineering
- Атрибут:
NumVendors
- Тип данных атрибута: целое число
- Значение атрибута:
4
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"NumVendors@odata.type" = "#Int32"
"NumVendors" = 4
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Назначение пользователю настраиваемого атрибута безопасности со значением из нескольких целых чисел
В следующем примере для пользователя назначается настраиваемый атрибут безопасности с многочисленным значением.
- Набор атрибутов:
Engineering
- Атрибут:
CostCenter
- Тип данных атрибута: коллекция целых чисел
- Значение атрибута:
[1001,1003]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"CostCenter@odata.type" = "#Collection(Int32)"
"CostCenter" = @(1001,1003)
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Назначение пользователю настраиваемого атрибута безопасности с логическим значением
В следующем примере для пользователя назначается пользовательский атрибут безопасности с логическим значением.
- Набор атрибутов:
Engineering
- Атрибут:
Certification
- Тип данных атрибута: логический
- Значение атрибута:
true
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Certification" = $true
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Обновление назначения настраиваемых атрибутов безопасности с целочисленным значением для пользователя
В следующем примере назначение пользовательского атрибута безопасности для пользователя обновляется на целое значение.
- Набор атрибутов:
Engineering
- Атрибут:
NumVendors
- Тип данных атрибута: целое число
- Значение атрибута:
8
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"NumVendors@odata.type" = "#Int32"
"NumVendors" = 8
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Обновление пользовательского атрибута безопасности с булевым значением для пользователя
В следующем примере обновляется настраиваемое назначение атрибута безопасности с логическим значением для пользователя.
- Набор атрибутов:
Engineering
- Атрибут:
Certification
- Тип данных атрибута: логический
- Значение атрибута:
false
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Certification" = $false
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Обновление настраиваемого назначения атрибутов безопасности с многострочным значением для пользователя
В следующем примере обновляется назначение настраиваемого атрибута безопасности с многозначным значением для пользователя.
- Набор атрибутов:
Engineering
- Атрибут:
Project
- Тип данных атрибута: коллекция строк
- Значение атрибута:
("Alpine","Baker")
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project@odata.type" = "#Collection(String)"
"Project" = @("Alpine","Baker")
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Получение назначений пользовательских атрибутов безопасности для пользователя
В следующем примере отображаются назначения пользовательских атрибутов безопасности для пользователя.
$userAttributes = Get-MgUser -UserId $userId -Property "customSecurityAttributes"
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
$userAttributes.CustomSecurityAttributes.AdditionalProperties.Engineering
$userAttributes.CustomSecurityAttributes.AdditionalProperties.Marketing
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Project@odata.type, #Collection(String)], [Project, System.Object[]],
[ProjectDate, 2024-11-15]…}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS45897]}
Key Value
--- -----
@odata.type #microsoft.graph.customSecurityAttributeValue
Project@odata.type #Collection(String)
Project {Baker, Alpine}
ProjectDate 2024-11-15
NumVendors 8
CostCenter@odata.type #Collection(Int32)
CostCenter {1001, 1003}
Certification False
Key Value
--- -----
@odata.type #microsoft.graph.customSecurityAttributeValue
EmployeeId KX45897
Если пользователю не назначены настраиваемые атрибуты безопасности или если вызывающий субъект не имеет доступа, ответ будет пуст.
Список всех пользователей с заданным атрибутом безопасности, имеющим определённое значение
В следующем примере перечислены все пользователи с настраиваемым назначением атрибута безопасности, равным значению. Он извлекает пользователей с настраиваемым атрибутом безопасности с именем AppCountry
, равным значению Canada
. Значение фильтра чувствительно к регистру. Необходимо добавить ConsistencyLevel=eventual
в запрос или заголовок. Чтобы обеспечить правильную маршрутизацию запроса, необходимо также включить $count=true
.
- Набор атрибутов:
Marketing
- Атрибут:
AppCountry
- Фильтр: AppCountry eq 'Canada'
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "customSecurityAttributes/Marketing/AppCountry eq 'Canada'" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Jiya Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
11bb11bb-cc22-dd33-ee44-55ff55ff55ff Jana Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Datacenter@odata.type, #Collection(String)], [Datacenter, System.Object[]]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, KX19476]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, GS46982]}
Перечислите всех пользователей с назначением настраиваемого атрибута безопасности, которое начинается с указанного значения.
В следующем примере перечислены все пользователи с назначенным пользовательским атрибутом безопасности, начинающимся на определенное значение. Он извлекает пользователей с настраиваемым атрибутом безопасности под именем EmployeeId
и значением, начинающимся с GS
. Значение фильтра чувствительно к регистру. Необходимо добавить ConsistencyLevel=eventual
в запрос или заголовок. Чтобы обеспечить правильную маршрутизацию запроса, необходимо также включить $count=true
.
- Набор атрибутов:
Marketing
- Атрибут:
EmployeeId
- Фильтр: ИД сотрудника начинается с “GS”
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "startsWith(customSecurityAttributes/Marketing/EmployeeId,'GS')" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
$userAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
22cc22cc-dd33-ee44-ff55-66aa66aa66aa Chandra Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
11bb11bb-cc22-dd33-ee44-55ff55ff55ff Jana Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
33dd33dd-ee44-ff55-aa66-77bb77bb77bb Joe Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS36348]}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [AppCountry@odata.type, #Collection(String)], [AppCountry, System.Object[]],
[EmployeeId, GS46982]}
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [Project@odata.type, #Collection(String)], [Project, System.Object[]],
[ProjectDate, 2024-11-15]…}
Key : Marketing
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [EmployeeId, GS45897]}
Перечислите всех пользователей с кастомным значением атрибута безопасности, которое не равно определенному значению.
В следующем примере перечислены все пользователи с пользовательским назначением атрибута безопасности, которое не равно значению. Он извлекает пользователей с пользовательским атрибутом безопасности с именем AppCountry
со значением, которое не равно Canada
. Значение фильтра чувствительно к регистру. Необходимо добавить ConsistencyLevel=eventual
в запрос или заголовок. Чтобы обеспечить правильную маршрутизацию запроса, необходимо также включить $count=true
.
- Набор атрибутов:
Marketing
- Атрибут:
AppCountry
- Фильтр: AppCountry ≠ 'Канада'
$userAttributes = Get-MgUser -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "customSecurityAttributes/Marketing/AppCountry ne 'Canada'" -ConsistencyLevel eventual
$userAttributes | select Id,DisplayName,CustomSecurityAttributes
Id DisplayName CustomSecurityAttributes
-- ----------- ------------------------
22cc22cc-dd33-ee44-ff55-66aa66aa66aa Chandra Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
44ee44ee-ff55-aa66-bb77-88cc88cc88cc Isabella Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Alain Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
33dd33dd-ee44-ff55-aa66-77bb77bb77bb Joe Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
00aa00aa-bb11-cc22-dd33-44ee44ee44ee Dara Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Удаление назначенного пользователю настраиваемого атрибута безопасности с одним значением
В следующем примере удаляется одноэлементное назначение настраиваемого атрибута безопасности от пользователя путем установки значения в null.
- Набор атрибутов:
Engineering
- Атрибут:
ProjectDate
- Значение атрибута:
null
$params = @{
"customSecurityAttributes" = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" = $null
}
}
}
Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/$userId" -Body $params
Удаление назначенного пользователю настраиваемого атрибута безопасности с несколькими значениями
В следующем примере удаляется многозначное присвоение настраиваемого атрибута безопасности пользователю путем установки значения на пустую коллекцию.
- Набор атрибутов:
Engineering
- Атрибут:
Project
- Значение атрибута:
[]
$customSecurityAttributes = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project" = @()
}
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes
Часто задаваемые вопросы
Где поддерживаются пользовательские назначения атрибутов безопасности для пользователей?
Пользовательские назначения атрибутов безопасности для пользователей поддерживаются в Центре администрирования Microsoft Entra, PowerShell и API Microsoft Graph. Пользовательские назначения атрибутов безопасности не поддерживаются в My Apps и в центре администрирования Microsoft 365.
Кто может просматривать настраиваемые атрибуты безопасности, назначенные пользователю?
Только пользователи, которым назначены роли "Администратор назначения атрибутов" или "Читатель назначения атрибутов" в области клиента, могут просматривать настраиваемые атрибуты безопасности, назначенные любому пользователю в клиенте. Пользователи не могут просматривать настраиваемые атрибуты безопасности, назначенные их собственным профилям или другим пользователям. Гости не могут просматривать настраиваемые атрибуты безопасности независимо от разрешений гостевого доступа, заданных в клиенте.
Нужно ли создать приложение для добавления настраиваемых назначений атрибутов безопасности?
Нет, настраиваемые атрибуты безопасности можно назначать объектам пользователей без применения приложения.
Почему при попытке сохранить назначения настраиваемых атрибутов безопасности возникает ошибка?
У вас нет разрешений на назначение настраиваемых атрибутов безопасности пользователям. Убедитесь в том, что вам назначена роль администратора назначения атрибутов.
Можно ли назначать настраиваемые атрибуты безопасности гостям?
Да, можно назначать участникам или гостям в вашей организации пользовательские атрибуты безопасности.
Можно ли назначать настраиваемые атрибуты безопасности пользователям, синхронизированным с каталогом?
Да, пользователям, синхронизированным с каталогом из локальной службы Active Directory, можно назначать настраиваемые атрибуты безопасности.
Доступны ли пользовательские назначения атрибутов безопасности для правил для динамических групп членства?
Нет, пользовательские атрибуты безопасности, назначенные пользователям, не поддерживаются для настройки правил для динамических групп членства.
Аналогичны ли настраиваемые атрибуты безопасности настраиваемым атрибутам в клиентах B2C?
Нет, настраиваемые атрибуты безопасности не поддерживаются в клиентах B2C и не связаны с функциями B2C.
Следующие шаги
- Добавление или отключение определений настраиваемых атрибутов безопасности в идентификаторе Microsoft Entra
- Назначение, обновление, перечисление или удаление настраиваемых атрибутов безопасности для приложения
- Примеры. Назначение, обновление, перечисление или удаление настраиваемых назначений атрибутов безопасности с помощью API Microsoft Graph
- Устранение неполадок настраиваемых атрибутов безопасности в идентификаторе Microsoft Entra