Поделиться через


Настройка утверждений с помощью политики сопоставления утверждений PowerShell и утверждений

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

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

Настройка утверждений поддерживает настройку политик сопоставления утверждений для протоколов SAML, OAuth и OpenID Connect.

Примечание.

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

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

Начало работы

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

При создании политики сопоставления утверждений можно также выдать утверждение из атрибута расширения каталога в маркерах безопасности. Используйте ExtensionID для атрибута расширения вместо идентификатора в элементе ClaimsSchema . Дополнительные сведения об атрибутах расширения см. в разделе Использование атрибутов расширения каталога.

Примечание.

Пакет SDK Microsoft Graph PowerShell требуется для настройки политик сопоставления утверждений.

Откройте терминал и выполните следующую команду, чтобы войти в учетную запись администратора Microsoft Entra. Эту команду следует выполнять при каждом запуске сеанса.

Import-Module Microsoft.Graph.Identity.SignIns

Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"

Теперь вы можете создать политику сопоставления утверждений и назначить ее субъекту-службе. Ознакомьтесь со следующими примерами распространенных сценариев:

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

Пропуск базовых утверждений из токенов

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

  1. Создайте политику сопоставления утверждений. Эта политика, связанная с определенными субъектами-службами, удаляет из токенов набор базовых утверждений.

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

    New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
    
  3. Чтобы увидеть новую политику и получить политику ObjectId, выполните следующую команду:

    Get-MgPolicyClaimMappingPolicy
    
    Definition                    DeletedDateTime Description DisplayName      Id
    ----------                    --------------- ----------- -----------      --
    {"ClaimsMappingPolicy":{..}}                              OmitBasicClaims  36d1aa10-f9ac...
    

Включение и как утверждений EmployeeID TenantCountry в токены

В этом примере создается политика, которая добавляет EmployeeID маркеры и TenantCountry маркеры, выданные связанным субъектам-службам. Элемент EmployeeID добавляется как тип утверждения имени в токены SAML и JWT. Элемент TenantCountry добавляется как тип утверждения страны/региона в токены SAML и JWT. В этом примере мы продолжаем включать набор базовых утверждений в токены.

  1. Создайте политику сопоставления утверждений. Эта политика, связанная с субъектами-службами, добавляет утверждения EmployeeID и TenantCountry в токены.

  2. Чтобы создать политику, выполните следующую команду в терминале:

    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"
    
  3. Чтобы увидеть новую политику и получить политику ObjectId, выполните следующую команду:

    Get-MgPolicyClaimMappingPolicy
    

Использование преобразования утверждений в токенах

В этом примере мы создадим политику, которая добавляет пользовательское утверждение JoinedData в токены JWT, выданные связанным субъектам-службам. Это утверждение содержит значение, созданное путем объединения данных, хранящихся в атрибуте extensionattribute1 в объекте пользователя с "-ext". В этом примере мы исключим набор базовых утверждений из токенов.

  1. Создайте политику сопоставления утверждений. Эта политика, связанная с определенными субъектами-службами, выдает пользовательское утверждение JoinedData маркерам.

  2. Чтобы создать политику, выполните следующую команду:

    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"
    
  3. Чтобы увидеть новую политику и получить политику ObjectId, выполните следующую команду:

    Get-MgPolicyClaimMappingPolicy
    

Назначение политики сопоставления утверждений субъекту-службе

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

  1. Чтобы просмотреть все субъекты-службы вашей организации, вы можете запросить API Microsoft Graph или проверить их в Microsoft Graph Explorer.

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

    Get-MgPolicyClaimMappingPolicy
    
  3. Если у вас есть ObjectId политика сопоставления утверждений и субъект-служба, выполните следующую команду:

    New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}