Настройка утверждений с помощью политики сопоставления утверждений PowerShell и утверждений
Утверждение представляет собой информацию, предложенную поставщиком удостоверений, о пользователе в составе токена, выпущенного для этого пользователя. Настройка утверждений используется администраторами клиента для настройки утверждений, добавленных в токены, для определенных приложений в своих клиентах. Политики сопоставления утверждений можно использовать в следующих целях.
- Выбор утверждений, добавляемых в токены.
- Создание типов утверждений, которые еще не существуют.
- Выбор или изменение источника данных, добавленного в определенные утверждения.
Настройка утверждений поддерживает настройку политик сопоставления утверждений для протоколов SAML, OAuth и OpenID Connect.
Примечание.
Политика сопоставления утверждений заменяет политику пользовательских утверждений и настройку утверждений, предложенную в Центре администрирования Microsoft Entra. Настройка утверждений для приложения с помощью политики сопоставления утверждений означает, что маркеры, выданные для этого приложения, будут игнорировать конфигурацию в пользовательской политике утверждений или конфигурацию в колонке настройки утверждений в Центре администрирования Microsoft Entra.
Необходимые компоненты
- Узнайте, как получить клиент Microsoft Entra.
- Скачайте последний пакет SDK Для Microsoft Graph PowerShell.
Начать
В следующих примерах мы будем создавать, обновлять, связывать и удалять политики для субъектов-служб. Политики сопоставления утверждений можно назначать только объектам субъекта-службы.
При создании политики сопоставления утверждений можно также выдать утверждение из атрибута расширения каталога в маркерах безопасности. Используйте ExtensionID
для атрибута расширения вместо идентификатора в элементе ClaimsSchema
. Дополнительные сведения об атрибутах расширения см. в разделе Использование атрибутов расширения каталога.
Примечание.
Пакет SDK Microsoft Graph PowerShell требуется для настройки политик сопоставления утверждений.
Откройте терминал и выполните следующую команду, чтобы войти в учетную запись администратора Microsoft Entra. Эту команду следует выполнять при каждом запуске сеанса.
Import-Module Microsoft.Graph.Identity.SignIns
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"
Теперь вы можете создать политику сопоставления утверждений и назначить ее субъекту-службе. Ознакомьтесь со следующими примерами распространенных сценариев:
- Опустить основные утверждения из токенов
- Включите EmployeeID и TenantCountry в качестве утверждений в токены
- Использование преобразования утверждений в токенах
После создания политики сопоставления утверждений настройте приложение, чтобы оно распознавало, что маркеры будут содержать настроенные утверждения. Дополнительные сведения см. в разделе Вопросы безопасности.
Пропуск базовых утверждений из токенов
В этом примере мы создадим политику, которая удаляет набор базовых утверждений из токенов, выданных связанным субъектам-службам.
Создайте политику сопоставления утверждений. Эта политика, связанная с определенными субъектами-службами, удаляет из токенов набор базовых утверждений.
Используя открытый терминал, выполните следующую команду, чтобы создать политику:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
Чтобы увидеть новую политику и получить политику
ObjectId
, выполните следующую команду:Get-MgPolicyClaimMappingPolicy Definition DeletedDateTime Description DisplayName Id ---------- --------------- ----------- ----------- -- {"ClaimsMappingPolicy":{..}} OmitBasicClaims 36d1aa10-f9ac...
Включение и как утверждений EmployeeID
TenantCountry
в токены
В этом примере создается политика, которая добавляет EmployeeID
маркеры и TenantCountry
маркеры, выданные связанным субъектам-службам. Элемент EmployeeID добавляется как тип утверждения имени в токены SAML и JWT. Элемент TenantCountry добавляется как тип утверждения страны/региона в токены SAML и JWT. В этом примере мы продолжаем включать набор базовых утверждений в токены.
Создайте политику сопоставления утверждений. Эта политика, связанная с субъектами-службами, добавляет утверждения EmployeeID и TenantCountry в токены.
Чтобы создать политику, выполните следующую команду в терминале:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/employeeid","JwtClaimType":"employeeid"},{"Source":"company","ID":"tenantcountry","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country","JwtClaimType":"country"}]}}') -DisplayName "ExtraClaimsExample"
Чтобы увидеть новую политику и получить политику
ObjectId
, выполните следующую команду:Get-MgPolicyClaimMappingPolicy
Использование преобразования утверждений в токенах
В этом примере мы создадим политику, которая добавляет пользовательское утверждение JoinedData в токены JWT, выданные связанным субъектам-службам. Это утверждение содержит значение, созданное путем объединения данных, хранящихся в атрибуте extensionattribute1 в объекте пользователя с "-ext". В этом примере мы исключим набор базовых утверждений из токенов.
Создайте политику сопоставления утверждений. Эта политика, связанная с определенными субъектами-службами, выдает пользовательское утверждение
JoinedData
маркерам.Чтобы создать политику, выполните следующую команду:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema":[{"Source":"user","ID":"extensionattribute1"},{"Source":"transformation","ID":"DataJoin","TransformationId":"JoinTheData","JwtClaimType":"JoinedData"}],"ClaimsTransformations":[{"ID":"JoinTheData","TransformationMethod":"Join","InputClaims":[{"ClaimTypeReferenceId":"extensionattribute1","TransformationClaimType":"string1"}], "InputParameters": [{"ID":"string2","Value":"ext"},{"ID":"separator","Value":"-"}],"OutputClaims":[{"ClaimTypeReferenceId":"DataJoin","TransformationClaimType":"outputClaim"}]}]}}') -DisplayName "TransformClaimsExample"
Чтобы увидеть новую политику и получить политику
ObjectId
, выполните следующую команду:Get-MgPolicyClaimMappingPolicy
Назначение политики сопоставления утверждений субъекту-службе
Чтобы назначить политику субъекту-службе, вам потребуется ObjectId
политика сопоставления утверждений и objectId
субъект-служба, которому должна быть назначена политика.
Чтобы просмотреть все субъекты-службы вашей организации, вы можете запросить API Microsoft Graph или проверить их в Microsoft Graph Explorer.
Чтобы просмотреть все политики сопоставления утверждений в клиенте и получить политику
ObjectId
, выполните следующую команду:Get-MgPolicyClaimMappingPolicy
Если у вас есть
ObjectId
политика сопоставления утверждений и субъект-служба, выполните следующую команду:New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}