Тип политики сопоставления утверждений

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

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

Наборы утверждений

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

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

Набор ограниченных утверждений JSON Web Token (JWT)

Следующие утверждения находятся в ограниченном наборе утверждений для JWT.

  • .
  • _claim_names
  • _claim_sources
  • aai
  • access_token
  • account_type
  • acct
  • acr
  • acrs
  • actor
  • actortoken
  • ageGroup
  • aio
  • altsecid
  • amr
  • app_chain
  • app_displayname
  • app_res
  • appctx
  • appctxsender
  • appid
  • appidacr
  • assertion
  • at_hash
  • aud
  • auth_data
  • auth_time
  • authorization_code
  • azp
  • azpacr
  • bk_claim
  • bk_enclave
  • bk_pub
  • brk_client_id
  • brk_redirect_uri
  • c_hash
  • ca_enf
  • ca_policy_result
  • capolids
  • capolids_latebind
  • cc
  • cert_token_use
  • child_client_id
  • child_redirect_uri
  • client_id
  • client_ip
  • cloud_graph_host_name
  • cloud_instance_host_name
  • cloud_instance_name
  • CloudAssignedMdmId
  • cnf
  • code
  • controls
  • controls_auds
  • credential_keys
  • csr
  • csr_type
  • ctry
  • deviceid
  • dns_names
  • domain_dns_name
  • domain_netbios_name
  • e_exp
  • email
  • endpoint
  • enfpolids
  • exp
  • expires_on
  • extn. as prefix
  • fido_auth_data
  • fido_ver
  • fwd
  • fwd_appidacr
  • grant_type
  • graph
  • group_sids
  • groups
  • hasgroups
  • hash_alg
  • haswids
  • home_oid
  • home_puid
  • home_tid
  • iat
  • identityprovider
  • idp
  • idtyp
  • in_corp
  • instance
  • inviteTicket
  • ipaddr
  • isbrowserhostedapp
  • iss
  • isViral
  • jwk
  • key_id
  • key_type
  • login_hint
  • mam_compliance_url
  • mam_enrollment_url
  • mam_terms_of_use_url
  • mdm_compliance_url
  • mdm_enrollment_url
  • mdm_terms_of_use_url
  • msgraph_host
  • msproxy
  • nameid
  • nbf
  • netbios_name
  • nickname
  • nonce
  • oid
  • on_prem_id
  • onprem_sam_account_name
  • onprem_sid
  • openid2_id
  • origin_header
  • password
  • platf
  • polids
  • pop_jwk
  • preferred_username
  • previous_refresh_token
  • primary_sid
  • prov_data
  • puid
  • pwd_exp
  • pwd_url
  • rdp_bt
  • redirect_uri
  • refresh_token
  • refresh_token_issued_on
  • refreshtoken
  • request_nonce
  • resource
  • rh
  • role
  • roles
  • rp_id
  • rt_type
  • scope
  • scp
  • secaud
  • sid
  • sid
  • signature
  • signin_state
  • source_anchor
  • src1
  • src2
  • sub
  • target_deviceid
  • tbid
  • tbidv2
  • tenant_ctry
  • tenant_display_name
  • tenant_id
  • tenant_region_scope
  • tenant_region_sub_scope
  • thumbnail_photo
  • tid
  • tokenAutologonEnabled
  • trustedfordelegation
  • ttr
  • unique_name
  • upn
  • user_agent
  • user_setting_sync_url
  • username
  • uti
  • ver
  • verified_primary_email
  • verified_secondary_email
  • vnet
  • vsm_binding_key
  • wamcompat_client_info
  • wamcompat_id_token
  • wamcompat_scopes
  • wids
  • win_ver
  • x5c_ca
  • xcb2b_rclient
  • xcb2b_rcloud
  • xcb2b_rtenant
  • ztdid

Примечание.

Любое утверждение, начиная с xms_ ограничения, ограничено.

Набор ограниченных утверждений SAML

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

Тип ограниченного утверждения (URI):

  • http://schemas.microsoft.com/2012/01/devicecontext/claims/ismanaged
  • http://schemas.microsoft.com/2014/02/devicecontext/claims/isknown
  • http://schemas.microsoft.com/2014/03/psso
  • http://schemas.microsoft.com/2014/09/devicecontext/claims/iscompliant
  • http://schemas.microsoft.com/claims/authnmethodsreferences
  • http://schemas.microsoft.com/claims/groups.link
  • http://schemas.microsoft.com/identity/claims/accesstoken
  • http://schemas.microsoft.com/identity/claims/acct
  • http://schemas.microsoft.com/identity/claims/agegroup
  • http://schemas.microsoft.com/identity/claims/aio
  • http://schemas.microsoft.com/identity/claims/identityprovider
  • http://schemas.microsoft.com/identity/claims/objectidentifier
  • http://schemas.microsoft.com/identity/claims/openid2_id
  • http://schemas.microsoft.com/identity/claims/puid
  • http://schemas.microsoft.com/identity/claims/scope
  • http://schemas.microsoft.com/identity/claims/tenantid
  • http://schemas.microsoft.com/identity/claims/xms_et
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/confirmationkey
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlywindowsdevicegroup
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/expired
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/ispersistent
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/samlissuername
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/wids
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdeviceclaim
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsfqbnversion
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowssubauthority
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsuserclaim
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authentication
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
  • http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor

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

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname

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

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role

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

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

Примечание.

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

Строка Тип данных Итоги
IncludeBasicClaimSet Логическое значение: true или false Определяет, включен ли базовый набор утверждений в маркеры, затронутые этой политикой. Если задано значение True, все утверждения в наборе базовых утверждений добавляются в токены, на которые распространяется эта политика. Если задано значение False, утверждения в наборе базовых утверждений не добавляются в токены, если только они не добавлены по отдельности в свойстве схемы утверждения этой политики.
ClaimsSchema большой двоичный объект JSON с одной или несколькими записями схемы утверждения Определяет, какие утверждения присутствуют в маркерах, затронутых политикой, в дополнение к базовому набору утверждений и набору основных утверждений. Для каждой записи схемы утверждения, определенной в этом свойстве, требуются определенные сведения. Укажите, откуда приходят данные (пара Value, Source/ID или Source/ExtensionID) и Тип утверждения, который создается как (JWTClaimType или SamlClaimType).

Элементы записи схемы утверждения

  • Значение — определяет статическое значение в качестве данных, которые будут выдаваться в утверждении.
  • SAMLNameForm — определяет значение атрибута NameFormat для этого утверждения. Если присутствует, допустимые значения:
    • urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
    • urn:oasis:names:tc:SAML:2.0:attrname-format:uri
    • urn:oasis:names:tc:SAML:2.0:attrname-format:basic
  • Пара источника и идентификатора — определяет, откуда источник данных в утверждении.
  • Пара Source/ExtensionID — определяет атрибут расширения каталога, из которого источник источника данных в утверждении. Дополнительные сведения см. в разделе Использование атрибутов расширения каталога в утверждениях.
  • Тип утверждения — элементы JwtClaimType и SamlClaimType определяют утверждение, к которому относится запись схемы утверждения.
    • JwtClaimType должен содержать имя утверждения, создаваемого в JWTs.
    • SamlClaimType должен содержать универсальный код ресурса (URI) утверждения, который будет выдаваться в токенах SAML.

Задайте элемент Source одному из значений в следующей таблице.

Исходное значение Данные в утверждении
user Свойство объекта User.
application Свойство субъекта-службы приложения (клиента).
resource Свойство субъекта-службы ресурсов.
audience Свойство субъекта-службы, которое является аудиторией маркера (клиентом или субъектом-службой ресурсов).
company Свойство объекта Company клиента ресурса.
transformation Преобразование утверждений. При использовании этого утверждения элемент TransformationID должен быть включен в определение утверждения. Элемент TransformationID должен соответствовать элементу ID записи преобразования в свойстве ClaimsTransformation , определяющему способ создания данных для утверждения.

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

Оригинал Идентификатор Description
user surname Имя семейства пользователя.
user givenname Заданное имя пользователя.
user displayname Отображаемое имя пользователя.
user objectid Идентификатор объекта пользователя.
user mail Адрес электронной почты пользователя.
user userprincipalname Имя участника-пользователя.
user department Подразделение пользователя.
user onpremisessamaccountname Имя локальной учетной записи SAM пользователя.
user netbiosname Имя пользователя NetBios.
user dnsdomainname DNS-имя домена пользователя.
user onpremisesecurityidentifier Локальный идентификатор безопасности пользователя.
user companyname Имя организации пользователя.
user streetaddress Адрес улицы пользователя.
user postalcode Почтовый индекс пользователя.
user preferredlanguage Предпочтительный язык пользователя.
user onpremisesuserprincipalname Локальная имя участника-пользователя. При использовании альтернативного идентификатора локальный атрибут userPrincipalName синхронизируется с атрибутом onPremisesUserPrincipalName . Этот атрибут доступен только при настройке альтернативного идентификатора.
user mailnickname Псевдоним пользователя.
user extensionattribute1 Атрибут расширения 1.
user extensionattribute2 Атрибут расширения 2.
user extensionattribute3 Атрибут расширения 3.
user extensionattribute4 Атрибут расширения 4.
user extensionattribute5 Атрибут расширения 5.
user extensionattribute6 Атрибут расширения 6.
user extensionattribute7 Атрибут расширения 7.
user extensionattribute8 Атрибут расширения 8.
user extensionattribute9 Атрибут расширения 9.
user extensionattribute10 Атрибут расширения 10.
user extensionattribute11 Атрибут расширения 11.
user extensionattribute12 Атрибут расширения 12.
user extensionattribute13 Атрибут расширения 13.
user extensionattribute14 Атрибут расширения 14.
user extensionattribute15 Атрибут расширения 15.
user othermail Другая почта пользователя.
user country Страна или регион пользователя.
user city Город пользователя.
user state Область, республика, край, округ пользователя.
user jobtitle Название задания пользователя.
user employeeid Идентификатор сотрудника пользователя.
user facsimiletelephonenumber Номер телефона факсимиля пользователя.
user assignedroles Список ролей приложения, назначенных пользователю.
user accountEnabled Указывает, включена ли учетная запись пользователя.
user consentprovidedforminor Указывает, было ли предоставлено согласие для несовершеннолетнего.
user createddatetime Дата и время создания учетной записи пользователя.
user creationtype Указывает, как была создана учетная запись пользователя.
user lastpasswordchangedatetime Дата и время последнего изменения пароля.
user mobilephone Мобильный телефон пользователя.
user officelocation Расположение офиса пользователя.
user onpremisesdomainname Локальное доменное имя пользователя.
user onpremisesimmutableid Локальный неизменяемый идентификатор пользователя.
user onpremisessyncenabled Указывает, включена ли локальная синхронизация.
user preferreddatalocation Определяет предпочтительное расположение данных пользователя.
user proxyaddresses Адреса прокси-сервера пользователя.
user usertype Тип учетной записи пользователя.
user telephonenumber Бизнес или офисные телефоны пользователя.
application, resource, audience displayname Отображаемое имя объекта .
application, resource, audience objectid Идентификатор объекта .
application, resource, audience tags Тег субъекта-службы объекта.
company tenantcountry Страна или регион клиента.

Единственными доступными источниками утверждений с несколькими значениями в объекте пользователя являются многозначные атрибуты расширения, которые были синхронизированы из Подключение Active Directory. Другие свойства, такие как othermails и tags, являются многозначными, но при выборе в качестве источника создается только одно значение.

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

Фильтр группы

  • String — GroupFilter
  • Тип данных: — БОЛЬШОЙ двоичный объект JSON
  • Сводка . Используйте это свойство для применения фильтра к группам пользователей, которые будут включены в утверждение группы. Это свойство может быть полезным средством уменьшения размера маркера.
  • MatchOn: — определяет атрибут группы, к которому применяется фильтр. Задайте для свойства MatchOn одно из следующих значений:
    • displayname — отображаемое имя группы.
    • samaccountname — имя локальной учетной записи SAM.
  • Тип — определяет тип фильтра, примененного к атрибуту, выбранному свойством MatchOn . Задайте для свойства Type одно из следующих значений:
    • prefix — включите группы, в которых свойство MatchOn начинается с предоставленного свойства Value .
    • suffix Включите группы, в которых свойство MatchOn заканчивается указанным свойством Value .
    • contains — Включите группы, в которых свойство MatchOn содержит указанное свойство Value .

Преобразование утверждений

  • String — ClaimsTransformation
  • Тип данных — большой двоичный объект JSON с одним или несколькими записями преобразования
  • Сводка . Используйте это свойство для применения общих преобразований к исходным данным для создания выходных данных для утверждений, указанных в схеме утверждений.
  • Идентификатор . Ссылается на запись преобразования в записи схемы утверждений TransformationID. Это значение должно быть уникальным для каждой записи преобразования в этой политике.
  • TransformationMethod — определяет операцию, выполняемую для создания данных для утверждения.

В зависимости от выбранного метода ожидается набор входных и выходных данных. Определите входные и выходные данные с помощью элементов InputClaims, InputParameters и OutputClaims.

TransformationMethod Ожидаемые входные данные Ожидаемые выходные данные Description
Присоединение строка 1, строка 2, разделитель Утверждение выходных данных Объединение входных строк с помощью разделителя между ними. Например, string1: , string2:foo@bar.comsandbox , разделитель:. приводит к выходному утверждению:foo@bar.com.sandbox.
ExtractMailPrefix Адрес электронной почты или имя участника-пользователя извлеченная строка Атрибуты расширения 1–15 или любые другие расширения каталога, которые хранят значение имени участника-пользователя или адреса электронной почты для пользователя. Например, johndoe@contoso.com. Извлекает локальную часть адреса электронной почты. Например, почта:foo@bar.com приводит к выходному утверждению:foo. Если знак @отсутствует, возвращается исходная входная строка.
ToLowerCase строка выходная строка Преобразует символы выбранного атрибута в символы нижнего регистра.
ToUpperCase строка выходная строка Преобразует символы выбранного атрибута в символы верхнего регистра.
RegexReplace() Преобразование RegexReplace() принимает в качестве входных параметров:
— "Параметр 1": атрибут пользователя в качестве входных данных регулярного выражения.
— Вариант доверия источнику как источнику с несколькими значениями.
— Шаблон регулярного выражения.
— Шаблон замены. Шаблон замены может содержать статический текстовый формат, а также ссылку, указывающую на регулярные выходные группы и дополнительные входные параметры.
  • InputClaims — используется для передачи данных из записи схемы утверждения в преобразование. Он имеет три атрибута: ClaimTypeReferenceId, TransformationClaimType и TreatAsMultiValue.
    • ClaimTypeReferenceId — присоединен к элементу идентификатора записи схемы утверждений, чтобы найти соответствующее входное утверждение.
    • TransformationClaimType предоставляет уникальное имя для этого входного данных. Это имя должно соответствовать одному из ожидаемых входных данных для метода преобразования.
    • TreatAsMultiValue — это логический флаг, указывающий, следует ли применять преобразование ко всем значениям или только к первому. По умолчанию преобразования применяются только к первому элементу в утверждении с несколькими значениями. Если задать значение true, оно применяется ко всем. ProxyAddresses и группы являются двумя примерами входных утверждений, которые, скорее всего, следует рассматривать как многозначное утверждение.
  • InputParameters — передает константное значение в преобразование. Он имеет два атрибута: Value и ID.
    • Value — это фактическое значение константы для передачи.
    • Идентификатор используется для предоставления уникального имени для входных данных. Это имя должно соответствовать одному из ожидаемых входных данных для метода преобразования.
  • OutputClaims — содержит данные, созданные преобразованием, и связывает его с записью схемы утверждения. Он имеет два атрибута: ClaimTypeReferenceId и TransformationClaimType.
    • ClaimTypeReferenceId соединяется с элементом ID записи схемы утверждения для поиска соответствующего выходного утверждения.
    • TransformationClaimType используется для предоставления уникального имени для выходных данных. Это имя должно соответствовать одному из ожидаемых выходных данных для метода преобразования.

Исключения и ограничения

SAML NameID и UPN — атрибуты, из которых вы источнике значений NameID и UPN , а также разрешенные преобразования утверждений ограничены.

Оригинал Идентификатор Description
user mail Адрес электронной почты пользователя.
user userprincipalname Имя участника-пользователя.
user onpremisessamaccountname Локальное имя учетной записи Sam
user employeeid Идентификатор сотрудника пользователя.
user telephonenumber Бизнес или офисные телефоны пользователя.
user extensionattribute1 Атрибут расширения 1.
user extensionattribute2 Атрибут расширения 2.
user extensionattribute3 Атрибут расширения 3.
user extensionattribute4 Атрибут расширения 4.
user extensionattribute5 Атрибут расширения 5.
user extensionattribute6 Атрибут расширения 6.
user extensionattribute7 Атрибут расширения 7.
user extensionattribute8 Атрибут расширения 8.
user extensionattribute9 Атрибут расширения 9.
user extensionattribute10 Атрибут расширения 10.
user extensionattribute11 Атрибут расширения 11.
user extensionattribute12 Атрибут расширения 12.
user extensionattribute13 Атрибут расширения 13.
user extensionattribute14 Атрибут расширения 14.
User extensionattribute15 Атрибут расширения 15.

Методы преобразования, перечисленные в следующей таблице, разрешены для SAML NameID.

TransformationMethod Ограничения
ExtractMailPrefix нет
Присоединиться Присоединяемый суффикс должен быть подтвержденным доменом клиента ресурса.

Издатель с идентификатором приложения

  • String — issuerWithApplicationId
  • Тип данных — логический (True или False)
    • Если задано значение True, идентификатор приложения добавляется в утверждение издателя в токенах, затронутых политикой.
    • Если задано значение False, идентификатор приложения не добавляется в утверждение издателя в токенах, затронутых политикой. (по умолчанию)
  • Сводка . Позволяет включить идентификатор приложения в утверждение издателя. Гарантирует, что несколько экземпляров одного приложения имеют уникальное значение утверждения для каждого экземпляра. Этот параметр игнорируется, если для приложения не настроен пользовательский ключ подписывания.

Переопределение аудитории

  • String — audienceOverride
  • Тип данных — Строка
  • Сводка . Позволяет переопределить утверждение аудитории, отправленное приложению. Предоставленное значение должно быть допустимым абсолютным URI. Этот параметр игнорируется, если для приложения не настроен пользовательский ключ подписывания.

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