要求のマッピング ポリシーの種類

ポリシー オブジェクトは、組織の個々のアプリケーションまたはすべてのアプリケーションに適用される規則のセットを表しています。 それぞれのポリシーの種類は、割り当てられているオブジェクトに適用されるプロパティのセットを含む一意の構造体を持ちます。

要求マッピング ポリシーは、トークンに含まれる要求を変更する、ポリシー オブジェクトの一種です。 詳細については、エンタープライズ アプリケーションの SAML トークンで発行された要求のカスタマイズに関するページを参照してください。

要求セット

次の表に示す要求セットは、トークンで要求をいつ、どのように使用するかを定義したものです。

要求セット 説明
コア要求セット ポリシーに関係なく、すべてのトークンに存在します。 また、この要求は制限付きと見なされ、変更できません。
基本要求セット コア要求セットに加えて、既定でトークンに含められる要求が入っています。 要求のマッピング ポリシーを使用して基本要求を省略したり変更したりできます。
制限付き要求セット ポリシーを使用して変更することはできません。 データ ソースを変更できず、要求を生成するときに変換が適用されません。

JSON Web トークン (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

Note

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

要求のマッピング ポリシーのプロパティ

含める要求と、データのソースを制御するには、要求マッピング ポリシーのプロパティを使用します。 ポリシーがない場合、システムは、次の要求が含まれるトークンを発行します。

  • コア要求セット。
  • 基本要求セット。
  • アプリケーションが受信することを選択した、省略可能な要求

注意

コア要求セット内の要求については、このプロパティの設定に関係なく、すべてのトークンに提示されます。

String データ型 まとめ
IncludeBasicClaimSet ブール値 (True または False) このポリシーの影響を受けるトークンに、基本要求セットを含めるかどうかを決定します。 True に設定されている場合、基本要求セット内のすべての要求が、ポリシーの影響を受けるトークンに出力されます。 False に設定されている場合、基本要求セット内の要求は、同じポリシーの要求スキーマ プロパティに個別に追加されない限り、トークンに追加されません。
ClaimsSchema 1 つ以上の要求スキーマ エントリを含む JSON BLOB 基本要求セットおよびコア要求セットに加えて、このポリシーの影響を受けるトークンに含める要求を定義します。 このプロパティで定義されている要求スキーマ エントリごとに、特定の情報が必要です。 データのソース (ValueSource/ID ペア、または Source/ExtensionID ペア) と、要求の種類 (JWTClaimType または SamlClaimType として出力される) を指定します。

要求スキーマ エントリ要素

  • Value - 要求で出力されるデータとして静的な値を定義します。
  • 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/ID ペア - 要求のデータのソースを定義します。
  • Source/ExtensionID ペア - 要求のデータのソースであるディレクトリ拡張属性を定義します。 詳細については、「要求でディレクトリ拡張属性を使用する」を参照してください。
  • 要求の種類 - JwtClaimType および SamlClaimType 要素は、この要求スキーマ エントリが、どの要求を参照するかを定義します。
    • JwtClaimType には、JWT で出力される要求の名前を含める必要があります。
    • SamlClaimType には、SAML トークンで出力される要求の URI を含める必要があります。

Source 要素を、次の表のいずれかの値に設定します。

送信元の値 要求内のデータ
user User オブジェクトのプロパティ。
application アプリケーション (クライアント) サービス プリンシパルのプロパティ。
resource リソース サービス プリンシパルのプロパティ。
audience トークンのオーディエンスであるサービス プリンシパル (クライアントまたはリソースのサービス プリンシパル) のプロパティ。
company リソース テナントの Company オブジェクトのプロパティ。
transformation 要求の変換。 この要求を使用する場合、TransformationID 要素を、要求の定義に含める必要があります。 TransformationID 要素は、この要求のデータを生成する方法を定義する、ClaimsTransformation プロパティの変換エントリの ID 要素と一致する必要があります。

ID 要素は、要求の値を提供するソースのプロパティを特定します。 次の表に、Source の各値に対する ID 要素の値を示します。

source id 説明
user surname ユーザーの姓。
user givenname ユーザーの姓名の名。
user displayname ユーザーの表示名です。
user objectid ユーザーのオブジェクト ID。
user mail ユーザーのメール アドレス。
user userprincipalname ユーザーのユーザー プリンシパル名。
user department ユーザーの部署。
user onpremisessamaccountname ユーザーのオンプレミスの SAM アカウント名。
user netbiosname ユーザーの NetBios 名。
user dnsdomainname ユーザーの DNS ドメイン名。
user onpremisesecurityidentifier ユーザーのオンプレミスのセキュリティ ID。
user companyname ユーザーの組織名。
user streetaddress ユーザーの番地。
user postalcode ユーザーの郵便番号。
user preferredlanguage ユーザーの、優先する言語。
user onpremisesuserprincipalname ユーザーのオンプレミスの UPN。 代替 ID を使用する場合、オンプレミスの属性 userPrincipalNameonPremisesUserPrincipalName 属性と同期されます。 この属性は、代替 ID が構成されている場合にのみ使用できます。
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 ユーザーの従業員 ID。
user facsimiletelephonenumber ユーザーのファックスの電話番号。
user assignedroles ユーザーに割り当てられたアプリ ロールの一覧。
user accountEnabled ユーザー アカウントが有効かどうかを示します。
user consentprovidedforminor 未成年者に対する同意が提供されたかどうかを示します。
user createddatetime ユーザー アカウントが作成された日時。
user creationtype ユーザー アカウントがどのように作成されたかを示します。
user lastpasswordchangedatetime パスワードが最後に変更された日時。
user mobilephone ユーザーの携帯電話。
user officelocation ユーザーのオフィスの所在地。
user onpremisesdomainname ユーザーのオンプレミスのドメイン名。
user onpremisesimmutableid ユーザーのオンプレミスの不変 ID。
user onpremisessyncenabled オンプレミスの同期が有効かどうかを示します。
user preferreddatalocation ユーザーの、優先されるデータの場所を定義します。
user proxyaddresses ユーザーのプロキシ アドレス。
user usertype ユーザー アカウントの種類。
user telephonenumber ユーザーの会社またはオフィスの電話。
application, resource, audience displayname オブジェクトの表示名。
application, resource, audience objectid オブジェクトの ID。
application, resource, audience tags オブジェクトのサービス プリンシパル タグ。
company tenantcountry テナントの国/地域。

ユーザー オブジェクトで利用可能な複数値の要求のソースは、Active Directory Connect から同期された複数値の拡張属性のみです。 その他のプロパティ (othermailstags など) は、複数値ではありますが、ソースとして選択されたときに出力される値は 1 つだけです。

制限付き要求セット内の要求の名前と URI は、要求の種類の要素に使用することはできません。

グループ フィルター

  • 文字列 - GroupFilter
  • データ型: - JSON BLOB
  • 概要 - このプロパティを使用して、グループ要求に含めるユーザーのグループにフィルターを適用します。 このプロパティは、トークンのサイズを小さくする便利な方法です。
  • MatchOn: - フィルターを適用するグループ属性を特定します。 MatchOn プロパティは、次のいずれかの値に設定します。
    • displayname - グループの表示名。
    • samaccountname - オンプレミスの SAM アカウント名。
  • Type - MatchOn プロパティで選択された属性に適用するフィルターの種類を定義します。 Type プロパティは、次のいずれかの値に設定します。
    • prefix - MatchOn プロパティの先頭が、指定された Value プロパティであるグループを含めます。
    • suffix - MatchOn プロパティの末尾が、指定された Value プロパティであるグループを含めます。
    • contains - MatchOn プロパティに、指定された Value プロパティが含まれるグループを含めます。

要求の変換

  • 文字列 - ClaimsTransformation
  • データ型 - 1 つ以上の変換エントリを含む JSON BLOB
  • 概要 - このプロパティを使用して、共通の変換をソース データに適用し、要求スキーマで指定された要求の出力データを生成します。
  • ID - TransformationID 要求スキーマ エントリの変換エントリを参照します。 この値は、このポリシー内の変換エントリごとに一意である必要があります。
  • TransformationMethod - 要求のデータを生成するときに実行される操作を特定します。

選択した方法に基づいて、一連の入力と出力が想定されます。 InputClaims 要素、InputParameters 要素、OutputClaims 要素を使用して入出力を定義します。

TransformationMethod 想定される入力 想定される出力 説明
Join string1, string2, separator 出力要求 入力文字列の間に区切り記号を使用して、その文字列を結合します。 例えば、string1:foo@bar.com、string2:sandbox、separator:. の結果は、出力要求: foo@bar.com.sandbox になります。
ExtractMailPrefix 電子メールまたは UPN 抽出された文字列 ユーザーの UPN またはメール アドレスの値を格納する、拡張属性 1-15 または他のディレクトリ拡張。 たとえば、「 johndoe@contoso.com 」のように入力します。 メール アドレスのローカル部分を抽出します。 例えば、mail:foo@bar.com の結果は、出力要求: foo になります。 @ 記号がない場合、元の入力文字列が返されます。
ToLowercase() string 出力文字列 選択した属性の文字を小文字に変換します。
ToUppercase() string 出力文字列 選択した属性の文字を大文字に変換します。
RegexReplace() RegexReplace() 変換は、入力パラメーターとして次を受け入れます。
- パラメーター1:正規表現入力としてのユーザー属性
- ソースを複数値として信頼するオプション
‐正規表現パターン
‐置換パターン。 置換パターンには、正規表現出力グループを指す参照、および追加の入力パラメーターと共に、静的テキスト形式を含めることができます。
  • InputClaims - 要求スキーマ エントリから変換にデータを渡すために使用されます。 ClaimTypeReferenceIdTransformationClaimTypeTreatAsMultiValue という 3 つの属性があります。
    • ClaimTypeReferenceId - 要求スキーマ エントリの ID 要素と結合され、該当する入力要求を検索します。
    • TransformationClaimType は、この入力に一意の名前を指定します。 この名前は、変換方法に対する想定される入力のいずれかと一致する必要があります。
    • TreatAsMultiValue は、変換の適用対象がすべての値か、それとも最初の値のみかを示すブール値のフラグです。 既定では、複数値の要求における、最初の要素にのみ変換が適用されます。 この値を true に設定すると、すべてに適用されます。 複数値の要求として処理する可能性が高い入力要求の例として、ProxyAddresses と groups の 2 つがあります。
  • InputParameters - 定数値を変換に渡します。 この要素には 2 つの属性があります。ValueID です。
    • Value は、渡される実際の定数値です。
    • ID は、入力に一意の名前を指定するときに使用されます。 この名前は、変換方法に対する想定される入力のいずれかと一致する必要があります。
  • OutputClaims - 変換によって生成されたデータを保持し、要求スキーマ エントリに関連付けます。 この要素には 2 つの属性があります。ClaimTypeReferenceIdTransformationClaimType です。
    • ClaimTypeReferenceId は要求スキーマ エントリの ID と結合され、該当する出力要求を検索します。
    • TransformationClaimType は、出力に一意の名前を指定するときに使用されます。 この名前は、変換方法に対する想定される出力のいずれかと一致する必要があります。

例外と制限事項

SAML NameID と UPN - NameID と UPN の値のソースとなる属性と、許可される要求変換には、制限があります。

source id 説明
user mail ユーザーのメール アドレス。
user userprincipalname ユーザーのユーザー プリンシパル名。
user onpremisessamaccountname オンプレミスの Sam アカウント名
user employeeid ユーザーの従業員 ID。
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 なし
Join 結合されているサフィックスは、リソース テナントの確認済みドメインである必要があります。

アプリケーション ID 付きの発行者

  • 文字列 - issuerWithApplicationId
  • データ型 - ブール値 (True または False)
    • True に設定した場合、ポリシーの影響を受けるトークンの発行者の要求にアプリケーション ID が追加されます。
    • False に設定した場合、ポリシーの影響を受けるトークンの発行者の要求にアプリケーション ID が追加されません。 (既定値)。
  • 概要 - 発行者の要求にアプリケーション ID を含めることができるようにします。 同じアプリケーションの複数のインスタンスが、各インスタンスで一意の要求値を持っていることを確認します。 アプリケーションのカスタム署名キーが構成されていない場合、この設定は無視されます。

対象ユーザーのオーバーライド

  • 文字列 - audienceOverride
  • データ型 - 文字列
  • 概要 - アプリケーションに送信されたオーディエンス要求のオーバーライドを可能にします。 指定した値は有効な絶対 URI である必要があります。 アプリケーションのカスタム署名キーが構成されていない場合、この設定は無視されます。

次の手順