Principtyp för anspråksmappning

Ett principobjekt representerar en uppsättning regler som tillämpas på enskilda program eller på alla program i en organisation. Varje typ av princip har en unik struktur, med en uppsättning egenskaper som sedan tillämpas på objekt som de tilldelas till.

En princip för anspråksmappning är en typ av principobjekt som ändrar anspråken som ingår i token. Mer information finns i Anpassa anspråk som utfärdats i SAML-token för företagsprogram.

Anspråksuppsättningar

I följande tabell visas de uppsättningar med anspråk som definierar hur och när de används i token.

Anspråksuppsättning beskrivning
Grundläggande anspråksuppsättning Finns i varje token oavsett princip. Dessa anspråk betraktas också som begränsade och kan inte ändras.
Grundläggande anspråksuppsättning Innehåller de anspråk som ingår som standard för token utöver den grundläggande anspråksuppsättningen. Du kan utelämna eller ändra grundläggande anspråk med hjälp av principerna för anspråksmappning.
Begränsad anspråksuppsättning Det går inte att ändra med hjälp av en princip. Datakällan kan inte ändras och ingen transformering tillämpas när du genererar sådana anspråk.

JSON-webbtoken (JWT) begränsad anspråksuppsättning

Följande anspråk finns i den begränsade anspråksuppsättningen för en 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

Kommentar

Alla anspråk som börjar med xms_ är begränsade.

SAML-begränsad anspråksuppsättning

I följande tabell visas de SAML-anspråk som finns i den begränsade anspråksuppsättningen.

Begränsad anspråkstyp (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

Dessa anspråk är begränsade som standard, men är inte begränsade om du har en anpassad signeringsnyckel. Undvik inställningen acceptMappedClaims i appmanifestet.

  • 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

Dessa anspråk är begränsade som standard, men är inte begränsade om du har en anpassad signeringsnyckel:

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

Principegenskaper för anspråksmappning

Om du vill kontrollera de anspråk som ingår och var data kommer från använder du egenskaperna för en princip för anspråksmappning. Utan en princip utfärdar systemet token med följande anspråk:

  • Den grundläggande anspråksuppsättningen.
  • Den grundläggande anspråksuppsättningen.
  • Eventuella valfria anspråk som programmet har valt att ta emot.

Kommentar

Anspråk i den grundläggande anspråksuppsättningen finns i varje token, oavsett vad den här egenskapen är inställd på.

String Datatyp Sammanfattning
IncludeBasicClaimSet Booleskt värde (sant eller falskt) Avgör om den grundläggande anspråksuppsättningen ingår i token som påverkas av den här principen. Om värdet är True genereras alla anspråk i den grundläggande anspråksuppsättningen i token som påverkas av principen. Om värdet är Falskt finns inte anspråk i den grundläggande anspråksuppsättningen i tokens, såvida de inte läggs till individuellt i anspråksschemaegenskapen för samma princip.
ClaimsSchema JSON-blob med en eller flera anspråksschemaposter Definierar vilka anspråk som finns i de token som påverkas av principen, förutom den grundläggande anspråksuppsättningen och den grundläggande anspråksuppsättningen. För varje anspråksschemapost som definieras i den här egenskapen krävs viss information. Ange var data kommer från (Värde, Käll-/ID-par eller Source/ExtensionID-par) och Anspråkstyp som genereras som (JWTClaimType eller SamlClaimType).

Postelement för anspråksschema

  • Värde – Definierar ett statiskt värde som de data som ska genereras i anspråket.
  • SAMLNameForm – Definierar värdet för attributet NameFormat för det här anspråket. Om de finns är de tillåtna värdena:
    • 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
  • Käll-/ID-par – Definierar var data i anspråket kommer från.
  • Source/ExtensionID pair – Definierar katalogtilläggsattributet där data i anspråket kommer från. Mer information finns i Använda katalogtilläggsattribut i anspråk.
  • Anspråkstyp – Elementen JwtClaimType och SamlClaimType definierar vilket anspråk som den här anspråksschemaposten refererar till.
    • JwtClaimType måste innehålla namnet på anspråket som ska genereras i JWTs.
    • SamlClaimType måste innehålla URI:n för anspråket som ska genereras i SAML-token.

Ange källelementet till ett av värdena i följande tabell.

Källvärde Data i anspråk
user Egenskap för användarobjektet.
application Egenskap för tjänstens huvudnamn för programmet (klienten).
resource Egenskap för resurstjänstens huvudnamn.
audience Egenskap för tjänstens huvudnamn som är målgruppen för token (antingen klienten eller resurstjänstens huvudnamn).
company Egenskap för resursklientorganisationens företagsobjekt.
transformation Anspråkstransformering. När du använder det här anspråket måste TransformationID-elementet inkluderas i anspråksdefinitionen. TransformationID-elementet måste matcha ID-elementet i transformeringsposten i egenskapen ClaimsTransformation som definierar hur data för anspråket genereras.

ID-elementet identifierar egenskapen på källan som tillhandahåller värdet för anspråket. I följande tabell visas värdena för ID-elementet för varje värde för Källan.

Källa ID beskrivning
user surname Användarens familjenamn.
user givenname Användarens förnamn.
user displayname Användarens visningsnamn.
user objectid Användarens objekt-ID.
user mail Användarens e-postadress.
user userprincipalname Användarens huvudnamn.
user department Användarens avdelning.
user onpremisessamaccountname Användarens lokala SAM-kontonamn.
user netbiosname NetBios-namnet på användaren.
user dnsdomainname Användarens DNS-domännamn.
user onpremisesecurityidentifier Den lokala säkerhetsidentifieraren för användaren.
user companyname Användarens organisationsnamn.
user streetaddress Användarens gatuadress.
user postalcode Postnummer för användaren.
user preferredlanguage Användarens föredragna språk.
user onpremisesuserprincipalname Användarens lokala UPN. När du använder ett alternativt ID synkroniseras det lokala attributet userPrincipalName med onPremisesUserPrincipalName attributet. Det här attributet är bara tillgängligt när alternativt ID har konfigurerats.
user mailnickname Användarens e-postnamn.
user extensionattribute1 Tilläggsattribut 1.
user extensionattribute2 Tilläggsattribut 2.
user extensionattribute3 Tilläggsattribut 3.
user extensionattribute4 Tilläggsattribut 4.
user extensionattribute5 Tilläggsattribut 5.
user extensionattribute6 Tilläggsattribut 6.
user extensionattribute7 Tilläggsattribut 7.
user extensionattribute8 Tilläggsattribut 8.
user extensionattribute9 Tilläggsattribut 9.
user extensionattribute10 Tilläggsattribut 10.
user extensionattribute11 Tilläggsattribut 11.
user extensionattribute12 Tilläggsattribut 12.
user extensionattribute13 Tilläggsattribut 13.
user extensionattribute14 Tilläggsattribut 14.
user extensionattribute15 Tilläggsattribut 15.
user othermail Användarens andra e-post.
user country Användarens land/region.
user city Användarens stad.
user state Stat/län för användaren.
user jobtitle Användarens jobbrubrik.
user employeeid Användarens medarbetar-ID.
user facsimiletelephonenumber Användarens faxtelefonnummer.
user assignedroles Listan över approller som tilldelats användaren.
user accountEnabled Anger om användarkontot är aktiverat.
user consentprovidedforminor Anger om medgivande har angetts för en minderårig.
user createddatetime Datum och tid då användarkontot skapades.
user creationtype Anger hur användarkontot skapades.
user lastpasswordchangedatetime Senaste datum och tid då lösenordet ändrades.
user mobilephone Användarens mobiltelefon.
user officelocation Användarens kontorsplats.
user onpremisesdomainname Användarens lokala domännamn.
user onpremisesimmutableid Det lokala oföränderliga ID:t för användaren.
user onpremisessyncenabled Anger om lokal synkronisering är aktiverad.
user preferreddatalocation Definierar användarens önskade dataplats.
user proxyaddresses Proxyadresserna för användaren.
user usertype Typ av användarkonto.
user telephonenumber Användarens företags- eller kontorstelefoner.
application, resource, audience displayname Objektets visningsnamn.
application, resource, audience objectid Objektets ID.
application, resource, audience tags Objektets huvudnamntagg för tjänsten.
company tenantcountry Klientorganisationens land/region.

De enda tillgängliga anspråkskällorna för flera värden i ett användarobjekt är tilläggsattribut med flera värden som har synkroniserats från Active Directory Anslut. Andra egenskaper, till exempel othermails och tags, är flervärdesvärden, men endast ett värde genereras när det väljs som källa.

Namn och URI:er för anspråk i den begränsade anspråksuppsättningen kan inte användas för anspråkstypelementen.

Gruppfilter

  • Sträng – GroupFilter
  • Datatyp: – JSON-blob
  • Sammanfattning – Använd den här egenskapen för att tillämpa ett filter på användarens grupper som ska ingå i gruppanspråket. Den här egenskapen kan vara ett användbart sätt att minska tokenstorleken.
  • MatchOn: – Identifierar det gruppattribut som filtret ska tillämpas på. Ange egenskapen MatchOn till något av följande värden:
    • displayname – Gruppens visningsnamn.
    • samaccountname – Det lokala SAM-kontonamnet.
  • Typ – Definierar vilken typ av filter som tillämpas på det attribut som valts av egenskapen MatchOn . Ange egenskapen Type till något av följande värden:
    • prefix – Inkludera grupper där egenskapen MatchOn börjar med den angivna värdeegenskapen .
    • suffix Inkludera grupper där egenskapen MatchOn slutar med den angivna värdeegenskapen .
    • contains – Inkludera grupper där egenskapen MatchOn innehåller med den angivna värdeegenskapen .

Anspråkstransformering

  • Sträng – ClaimsTransformation
  • Datatyp – JSON-blob med en eller flera transformeringsposter
  • Sammanfattning – Använd den här egenskapen för att tillämpa vanliga transformeringar på källdata för att generera utdata för anspråk som anges i anspråksschemat.
  • ID – refererar till transformeringsposten i posten TransformationID Claims Schema. Det här värdet måste vara unikt för varje transformeringspost i den här principen.
  • TransformationMethod – Identifierar den åtgärd som utförs för att generera data för anspråket.

Baserat på den metod som valts förväntas en uppsättning indata och utdata. Definiera indata och utdata med hjälp av elementen InputClaims, InputParameters och OutputClaims .

TransformationMethod Förväntade indata Förväntad utdata beskrivning
Join string1, string2, separator utdataanspråk Kopplar indatasträngar med hjälp av en avgränsare däremellan. Till exempel string1:foo@bar.com , string2:sandbox , separator:. results in output claim:foo@bar.com.sandbox.
ExtractMailPrefix E-post eller UPN extraherad sträng Tilläggsattribut 1–15 eller andra katalogtillägg som lagrar ett UPN- eller e-postadressvärde för användaren. Exempel: johndoe@contoso.com Extraherar den lokala delen av en e-postadress. Till exempel e-post:foo@bar.com resulterar i utdataanspråk:foo. Om det inte finns något @-tecken returneras den ursprungliga indatasträngen.
ToLowercase() sträng utdatasträng Konverterar tecknen i det markerade attributet till gemener.
ToUppercase() sträng utdatasträng Konverterar tecknen i det markerade attributet till versaler.
RegexReplace() RegexReplace()-transformering accepterar som indataparametrar:
– Parameter 1: ett användarattribut som regex-indata
– Ett alternativ för att lita på källan som flervärdes
– Regex-mönster
- Ersättningsmönster. Ersättningsmönstret kan innehålla statiskt textformat tillsammans med en referens som pekar på regex-utdatagrupper och fler indataparametrar.
  • InputClaims – Används för att skicka data från en anspråksschemapost till en transformering. Den har tre attribut: ClaimTypeReferenceId, TransformationClaimType och TreatAsMultiValue.
    • ClaimTypeReferenceId – Ansluten med ID-elementet i anspråksschemaposten för att hitta rätt indataanspråk.
    • TransformationClaimType Ger det här indata ett unikt namn. Det här namnet måste matcha en av de förväntade indata för transformeringsmetoden.
    • TreatAsMultiValue är en boolesk flagga som anger om transformeringen ska tillämpas på alla värden eller bara den första. Som standard tillämpas transformeringar endast på det första elementet i ett anspråk med flera värden. Om du ställer in det här värdet på sant ser du till att det tillämpas på alla. ProxyAddresses och grupper är två exempel på indataanspråk som du sannolikt vill behandla som ett anspråk med flera värden.
  • InputParameters – skickar ett konstant värde till en transformering. Den har två attribut: Värde och ID.
    • Värdet är det faktiska konstantvärde som ska skickas.
    • ID används för att ge indata ett unikt namn. Namnet måste matcha en av de förväntade indata för transformeringsmetoden.
  • OutputClaims – innehåller data som genereras av en transformering och kopplar dem till en post i anspråksschemat. Den har två attribut: ClaimTypeReferenceId och TransformationClaimType.
    • ClaimTypeReferenceId är kopplat till ID:t för anspråksschemaposten för att hitta rätt utdataanspråk.
    • TransformationClaimType används för att ge utdata ett unikt namn. Namnet måste matcha ett av de förväntade utdata för transformeringsmetoden.

Undantag och begränsningar

SAML NameID och UPN – de attribut från vilka du hämtar värdena NameID och UPN samt de anspråksomvandlingar som tillåts är begränsade.

Källa ID beskrivning
user mail Användarens e-postadress.
user userprincipalname Användarens huvudnamn.
user onpremisessamaccountname Lokalt Sam-kontonamn
user employeeid Användarens medarbetar-ID.
user telephonenumber Användarens företags- eller kontorstelefoner.
user extensionattribute1 Tilläggsattribut 1.
user extensionattribute2 Tilläggsattribut 2.
user extensionattribute3 Tilläggsattribut 3.
user extensionattribute4 Tilläggsattribut 4.
user extensionattribute5 Tilläggsattribut 5.
user extensionattribute6 Tilläggsattribut 6.
user extensionattribute7 Tilläggsattribut 7.
user extensionattribute8 Tilläggsattribut 8.
user extensionattribute9 Tilläggsattribut 9.
user extensionattribute10 Tilläggsattribut 10.
user extensionattribute11 Tilläggsattribut 11.
user extensionattribute12 Tilläggsattribut 12.
user extensionattribute13 Tilläggsattribut 13.
user extensionattribute14 Tilläggsattribut 14.
User extensionattribute15 Tilläggsattribut 15.

Transformeringsmetoderna som anges i följande tabell är tillåtna för SAML NameID.

TransformationMethod Begränsningar
ExtractMailPrefix Ingen
Anslut Suffixet som ansluts måste vara en verifierad domän för resursklientorganisationen.

Utfärdare med program-ID

  • String – issuerWithApplicationId
  • Datatyp – booleskt värde (sant eller falskt)
    • Om det är inställt Truepå läggs program-ID:t till i utfärdaranspråket i token som påverkas av principen.
    • Om det är inställt Falsepå läggs inte program-ID:t till i utfärdaranspråket i token som påverkas av principen. (standard)
  • Sammanfattning – Gör att program-ID:t kan inkluderas i utfärdaranspråket. Säkerställer att flera instanser av samma program har ett unikt anspråksvärde för varje instans. Den här inställningen ignoreras om en anpassad signeringsnyckel inte har konfigurerats för programmet.

Åsidosättning av målgrupp

  • Sträng – audienceOverride
  • Datatyp – sträng
  • Sammanfattning – Gör att du kan åsidosätta målgruppsanspråket som skickas till programmet. Det angivna värdet måste vara en giltig absolut URI. Den här inställningen ignoreras om ingen anpassad signeringsnyckel har konfigurerats för programmet.

Nästa steg