Назначение, обновление, перечисление или удаление пользовательских атрибутов безопасности для пользователя

Настраиваемые атрибуты безопасности в идентификаторе Microsoft Entra, часть Microsoft Entra, являются бизнес-атрибутами (парами "ключ-значение"), которые можно определить и назначить объектам Microsoft Entra. Например, можно назначить настраиваемый атрибут безопасности для фильтрации сотрудников или для определения пользователей с правами доступа к ресурсам. В этой статье описывается назначение, обновление, перечисление или удаление настраиваемых атрибутов безопасности для идентификатора Microsoft Entra.

Необходимые компоненты

Чтобы назначить или удалить настраиваемые атрибуты безопасности для пользователя в клиенте Microsoft Entra, вам потребуется:

Важно!

По умолчанию у глобального администратора и других ролей администратора нет разрешений на чтение, определение и назначение настраиваемых атрибутов безопасности.

Назначение настраиваемых атрибутов безопасности пользователю

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

  1. Войдите в Центр администрирования Microsoft Entra в качестве атрибутаАдминистратор istrator.

  2. Убедитесь, что у вас есть настраиваемые атрибуты безопасности. Дополнительные сведения см. в разделе "Добавление или отключение определений настраиваемых атрибутов безопасности" в идентификаторе Microsoft Entra.

  3. Перейдите ко всем пользователям удостоверений>>.

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

  5. В разделе "Управление" выберите настраиваемые атрибуты безопасности.

  6. Выберите Добавить назначение.

  7. Из раскрывающегося списка Набор атрибутов выберите набор атрибутов.

  8. В поле Имя атрибута выберите настраиваемый атрибут безопасности из списка.

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

    • Для произвольных настраиваемых атрибутов безопасности с одним значением введите нужную величину в поле Назначенные значения.
    • Для предопределенных значений настраиваемых атрибутов безопасности выберите значение из списка Назначенные значения.
    • Для настраиваемых атрибутов безопасности с несколькими значениями выберите Добавить значения, чтобы открыть панель Значения атрибутов, и добавьте значения. Завершив ввод значений, нажмите Готово.

    Screenshot showing assigning a custom security attribute to a user.

  10. По завершении нажмите кнопку Сохранить, чтобы назначить пользователю настраиваемые атрибуты безопасности.

Обновление назначенных пользователю значений настраиваемых атрибутов безопасности

  1. Войдите в Центр администрирования Microsoft Entra в качестве атрибутаАдминистратор istrator.

  2. Перейдите ко всем пользователям удостоверений>>.

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

  4. В разделе "Управление" выберите настраиваемые атрибуты безопасности.

  5. Найдите назначенное значение настраиваемого атрибута безопасности, которое требуется обновить.

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

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

  7. После завершения выберите Сохранить.

Фильтрация пользователей на основе назначений настраиваемых атрибутов безопасности

Список назначенных пользователям настраиваемых атрибутов безопасности можно отфильтровать на странице "Все пользователи".

  1. Войдите в Центр администрирования Microsoft Entra в качестве средства чтения назначений атрибутов.

  2. Перейдите ко всем пользователям удостоверений>>.

  3. Выберите " Добавить фильтр", чтобы открыть панель "Добавить фильтр ".

  4. Выберите настраиваемые атрибуты безопасности.

  5. Выберите набор атрибутов и имя атрибута.

  6. В разделе Оператор можно выбрать вариант "равно" (==), "не равно" (!=) или начинается с.

  7. В разделе Значение введите или выберите значение.

    Screenshot showing a custom security attribute filter for users.

  8. Нажмите кнопку Применить, чтобы применить фильтр.

Удаление настраиваемых назначений атрибутов безопасности для пользователя

  1. Войдите в Центр администрирования Microsoft Entra в качестве атрибутаАдминистратор istrator.

  2. Перейдите ко всем пользователям удостоверений>>.

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

  4. В разделе "Управление" выберите настраиваемые атрибуты безопасности.

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

  6. Выберите Удалить назначение.

API PowerShell или Microsoft Graph

Для управления назначениями настраиваемых атрибутов безопасности для пользователей в организации Microsoft Entra можно использовать PowerShell или API Microsoft Graph. Следующие примеры можно использовать для управления назначениями.

Назначение пользователю настраиваемого атрибута безопасности со строковым значением

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

  • Набор атрибутов: Engineering
  • Атрибут: ProjectDate
  • Тип данных атрибута: строка
  • Значение атрибута: "2024-11-15"

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "ProjectDate" = "2024-11-15"
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Назначение пользователю настраиваемого атрибута безопасности с многострочным значением

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

  • Набор атрибутов: Engineering
  • Атрибут: Project
  • Тип данных атрибута: коллекция строк
  • Значение атрибута: ["Baker","Cascade"]

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "Project@odata.type" = "#Collection(String)"
        "Project" = @("Baker","Cascade")
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Назначение пользователю настраиваемого атрибута безопасности с целочисленным значением

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

  • Набор атрибутов: Engineering
  • Атрибут: NumVendors
  • Тип данных атрибута: целое число
  • Значение атрибута: 4

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "NumVendors@odata.type" = "#Int32"
        "NumVendors" = 4
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Назначение пользователю настраиваемого атрибута безопасности со значением из нескольких целых чисел

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

  • Набор атрибутов: Engineering
  • Атрибут: CostCenter
  • Тип данных атрибута: коллекция целых чисел
  • Значение атрибута: [1001,1003]

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "CostCenter@odata.type" = "#Collection(Int32)"
        "CostCenter" = @(1001,1003)
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Назначение пользователю настраиваемого атрибута безопасности с логическим значением

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

  • Набор атрибутов: Engineering
  • Атрибут: Certification
  • Тип данных атрибута: логический
  • Значение атрибута: true

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "Certification" = $true
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Обновление назначения настраиваемых атрибутов безопасности с целочисленным значением для пользователя

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

  • Набор атрибутов: Engineering
  • Атрибут: NumVendors
  • Тип данных атрибута: целое число
  • Значение атрибута: 8

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "NumVendors@odata.type" = "#Int32"
        "NumVendors" = 8
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Обновление настраиваемого назначения атрибута безопасности с логическим значением для пользователя

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

  • Набор атрибутов: Engineering
  • Атрибут: Certification
  • Тип данных атрибута: логический
  • Значение атрибута: false

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "Certification" = $false
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Обновление настраиваемого назначения атрибута безопасности с помощью многостроевого значения для пользователя

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

  • Набор атрибутов: Engineering
  • Атрибут: Project
  • Тип данных атрибута: коллекция строк
  • Значение атрибута: ("Alpine","Baker")

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "Project@odata.type" = "#Collection(String)"
        "Project" = @("Alpine","Baker")
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Удаление назначений настраиваемых атрибутов безопасности для пользователя

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

Get-MgUser

$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'

Get-MgUser

$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
--                                   ----------- ------------------------
4b4e8090-e9ba-4bdc-b2f0-67c3c7c59489 Jiya        Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
efdf3082-64ae-495f-b051-855e2d8df969 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
  • Фильтр: EmployeeId запускаетWith "GS"

Get-MgUser

$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
--                                   ----------- ------------------------
02d52406-be75-411b-b02f-29d7f38dcf62 Chandra     Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
efdf3082-64ae-495f-b051-855e2d8df969 Jana        Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
d5a1c025-2d79-4ad3-9217-91ac3a4ed8b8 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 ne 'Canada'

Get-MgUser

$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
--                                   -----------              ------------------------
02d52406-be75-411b-b02f-29d7f38dcf62 Chandra                  Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
eaea4971-7764-4498-9aeb-776496812e75 Isabella                 Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
d937580c-692c-451f-a507-6758d3bdf353 Alain                    Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
d5a1c025-2d79-4ad3-9217-91ac3a4ed8b8 Joe                      Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
23ad8721-f46c-421a-9785-33b0ef474198 Dara                     Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue

Удаление назначенного пользователю настраиваемого атрибута безопасности с одним значением

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

  • Набор атрибутов: Engineering
  • Атрибут: ProjectDate
  • Значение атрибута: null

Invoke-MgGraphRequest

$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
  • Значение атрибута: []

Update-MgUser

$customSecurityAttributes = @{
    "Engineering" = @{
        "@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
        "Project" = @()
    }
}
Update-MgUser -UserId $userId -CustomSecurityAttributes $customSecurityAttributes

Часто задаваемые вопросы

Где поддерживаются пользовательские назначения атрибутов безопасности для пользователей?

Пользовательские назначения атрибутов безопасности для пользователей поддерживаются в Центре администрирования Microsoft Entra, PowerShell и API Microsoft Graph. Пользовательские назначения атрибутов безопасности не поддерживаются в Мои приложения или Центр администрирования Microsoft 365.

Кто может просматривать настраиваемые атрибуты безопасности, назначенные пользователю?

Только пользователи, которым назначены роли "Администратор назначения атрибутов" или "Читатель назначения атрибутов" в области клиента, могут просматривать настраиваемые атрибуты безопасности, назначенные любому пользователю в клиенте. Пользователи не могут просматривать настраиваемые атрибуты безопасности, назначенные их собственным профилям или другим пользователям. Гости не могут просматривать настраиваемые атрибуты безопасности независимо от разрешений гостевого доступа, заданных в клиенте.

Нужно ли создать приложение для добавления настраиваемых назначений атрибутов безопасности?

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

Почему при попытке сохранить назначения настраиваемых атрибутов безопасности возникает ошибка?

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

Можно ли назначать настраиваемые атрибуты безопасности гостям?

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

Можно ли назначать настраиваемые атрибуты безопасности пользователям, синхронизированным с каталогом?

Да, пользователям, синхронизированным с каталогом из локальной службы Active Directory, можно назначать настраиваемые атрибуты безопасности.

Доступны ли пользовательские назначения атрибутов безопасности для правил динамического членства?

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

Аналогичны ли настраиваемые атрибуты безопасности настраиваемым атрибутам в клиентах B2C?

Нет, настраиваемые атрибуты безопасности не поддерживаются в клиентах B2C и не связаны с функциями B2C.

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