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

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

要求のマッピング ポリシーは、ポリシー オブジェクトの一種であり、これで、特定のアプリケーションに対して発行されたトークンに出力される要求を変更します。

要求セット

トークンで使用する方法とタイミングを定義する要求のセットがあります。

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

このセクションのリスト*は次の通りです:

表 1:JSON Web トークン (JWT) 制限付き要求セット

注意

"xms_" で始まる要求は制限されます。

要求の種類 (名前)
.
_claim_names
_claim_sources
aai
access_token
account_type
acct
acr
acrs
actor
ageGroup
aio
altsecid
amr
app_chain
app_displayname
app_res
appctx
appctxsender
appid
appidacr
at_hash
auth_time
azp
azpacr
c_hash
ca_enf
ca_policy_result
capolids_latebind
capolids
cc
cnf
code
controls_auds
controls
credential_keys
ctry
deviceid
domain_dns_name
domain_netbios_name
e_exp
email
endpoint
enfpolids
expires_on
fido_auth_data
fwd_appidacr
fwd
graph
group_sids
groups
hasgroups
haswids
home_oid
home_puid
home_tid
identityprovider
idp
idtyp
in_corp
instance
inviteTicket
ipaddr
isbrowserhostedapp
isViral
login_hint
mam_compliance_url
mam_enrollment_url
mam_terms_of_use_url
mdm_compliance_url
mdm_enrollment_url
mdm_terms_of_use_url
msproxy
nameid
nickname
nonce
oid
on_prem_id
onprem_sam_account_name
onprem_sid
openid2_id
origin_header
platf
polids
pop_jwk
preferred_username
primary_sid
prov_data
puid
pwd_exp
pwd_url
rdp_bt
refresh_token_issued_on
refreshtoken
rh
roles
rt_type
scp
secaud
sid
sid
signin_state
source_anchor
src1
src2
sub
target_deviceid
tbid
tbidv2
tenant_ctry
tenant_display_name
tenant_region_scope
tenant_region_sub_scope
thumbnail_photo
tid
tokenAutologonEnabled
trustedfordelegation
ttr
unique_name
upn
user_setting_sync_url
uti
ver
verified_primary_email
verified_secondary_email
vnet
wamcompat_client_info
wamcompat_id_token
wamcompat_scopes
wids
xcb2b_rclient
xcb2b_rcloud
xcb2b_rtenant
ztdid

表 2: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/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/expiration
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
http://schemas.microsoft.com/ws/2008/06/identity/claims/role
http://schemas.microsoft.com/ws/2008/06/identity/claims/wids
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
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

これらの要求*は既定では*制限されますが、AcceptMappedClaims プロパティ*の設定trueアプリ マニフェスト*内に行うか、カスタム署名キー*持っている場合は制限されません:

  • 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

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

出力される要求内容とデータの送信元を制御するには、要求のマッピング ポリシーのプロパティを使用します。 ポリシーが設定されていない場合は、アプリケーションが受信するように選んだコア要求セット、基本要求セット、省略可能な要求を含むトークンが発行されます。

注意

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

Include 基本要求セット

文字列: IncludeBasicClaimSet

データ型: ブール値 (True または False)

概要: このプロパティは、基本要求セットが、このポリシーの影響を受けるトークンに含まれるかどうかを判断します。

  • True に設定されている場合、基本要求セット内のすべての要求が、ポリシーの影響を受けるトークンに出力されます。
  • False に設定されている場合、基本要求セット内の要求は、同じポリシーの要求スキーマ プロパティに個別に追加されない限り、トークンに追加されません。

要求スキーマ

文字列: ClaimsSchema

データ型: 1 つ以上の要求スキーマ エントリを含む JSON BLOB

概要: このプロパティは、基本要求セットやコア要求セットのほか、ポリシーの影響を受けるトークンにどの要求を提示するかを定義します。 このプロパティで定義されている要求スキーマ エントリごとに、特定の情報が必要です。 データのソース (ValueSource/ID ペア、またはSource/ExtensionID ペア) と、どの要求としてデータを出力するか (要求の種類) を指定します。

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

値: 値要素では、静的な値が、要求に出力されるデータとして定義されます。

SAMLNameFormat: SAML 名形式プロパティは、この要求の "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

ソース/ID ペア: ソース要素と ID 要素では、要求内のデータのソースが定義されます。

Source/ExtensionID ペア: Source と ExtensionID 要素は、要求内のデータのソースであるディレクトリ拡張属性を定義します。 詳細については、「要求でディレクトリ拡張属性を使用する」を参照してください。

ソース要素を次のいずれかの値に設定します。

  • "user":要求のデータは、ユーザー オブジェクトのプロパティです。
  • "application":要求のデータは、アプリケーション (クライアント) のサービス プリンシパルのプロパティです。
  • "resource":要求のデータは、リソースのサービス プリンシパルのプロパティです。
  • "audience":要求のデータは、トークン (クライアントかリソースのいずれかのサービス プリンシパル) の対象ユーザーであるサービス プリンシパルのプロパティです。
  • "company":要求のデータは、リソース テナントの会社のオブジェクトのプロパティです。
  • "transformation":要求のデータは、要求からの変換です (この記事の後述の「要求の変換」セクションを参照してください)。

ソースが transformation の場合、TransformationID 要素も、この要求の定義に含める必要があります。

ID 要素により、ソースのどのプロパティが要求の値を提供するかが特定されます。 次の表は、ソースの各値に対して有効な ID の値を示しています。

警告

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

表 3:ソースごとに有効な ID 値

source id 説明
User surname surname
User givenname
User displayName 表示名
User objectid ObjectID
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
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 City
User state State
User jobtitle 役職
User employeeid 従業員 ID
User facsimiletelephonenumber ファックスの電話番号
User assignedroles ユーザーに割り当てられたアプリ ロールの一覧
ユーザー accountEnabled アカウント*は有効です
ユーザー consentprovidedforminor 未成年者に対する同意
ユーザー createddatetime 作成日時
ユーザー creationtype 作成タイプ*
ユーザー lastpasswordchangedatetime 前回のパスワード*変更日時
ユーザー mobilephone 携帯電話
ユーザー officelocation 事業所所在地
ユーザー onpremisesdomainname オンプレミスのドメイン名
ユーザー onpremisesimmutableid オンプレミスのイミュータブルな ID
ユーザー onpremisessyncenabled オンプレミスの同期が有効
ユーザー preferreddatalocation 優先されるデータの場所
ユーザー proxyaddresses proxy-Addresses
ユーザー usertype ユーザーの種類
ユーザー telephonenumber 勤務先電話番号/事務所の電話番号
アプリケーション、リソース、対象ユーザー displayName 表示名
アプリケーション、リソース、対象ユーザー objectid ObjectID
アプリケーション、リソース、対象ユーザー tags サービス プリンシパル タグ
[会社] tenantcountry テナントの国/リージョン

TransformationID: TransformationID 要素は、ソース要素が "transformation" に設定されている場合にのみ指定する必要があります。

  • この要素は、この要求のデータを生成する方法を定義する、ClaimsTransformation プロパティの変換エントリの ID 要素と一致する必要があります。

要求の種類:JwtClaimType 要素と SamlClaimType 要素は、この要求スキーマ エントリが、どの要求を参照するかを定義します。

  • JwtClaimType には、JWT に出力する要求の名前を含める必要があります。
  • SamlClaimType には、SAML トークンに出力する要求の URI を含める必要があります。
  • onPremisesUserPrincipalName 属性: 代替 ID を使用する場合、オンプレミスの userPrincipalName 属性は Azure AD の onPremisesUserPrincipalName 属性と同期されます。 この属性は、代替 ID が構成されている場合にのみ使用できます。

注意

制限付き要求セット内の要求の名前と URI を、要求の種類の要素に使用することはできません。 詳細については、この記事の後述の「例外と制限事項」セクションを参照してください。

グループ フィルター

文字列: GroupFilter

データ型: JSON BLOB

概要: このプロパティを使用して、グループ要求に含めるユーザーのグループにフィルターを適用します。 これは、トークン サイズを減らす便利な方法です。

MatchOn:MatchOn プロパティは、フィルターを適用するグループ属性を識別します。

MatchOn プロパティは、次のいずれかの値に設定します。

  • "displayname": グループの表示名。
  • "samaccountname": オンプレミスの SAM アカウント名

Type:Type プロパティは、MatchOn プロパティによって選択された属性に適用するフィルターのタイプを選択します。

Type プロパティは、次のいずれかの値に設定します。

  • "prefix": 指定された Value プロパティで MatchOn プロパティが始まるグループを含めます。
  • "suffix": 指定された Value プロパティで MatchOn プロパティが終わるグループを含めます。
  • "contains": 指定された Value プロパティが MatchOn プロパティに含まれるグループを含めます。

要求の変換

文字列: ClaimsTransformation

データ型: 1 つ以上の変換エントリを含む JSON BLOB

概要: このプロパティを使用して、共通の変換をソース データに適用し、要求スキーマで指定された要求の出力データを生成します。

ID: ID 要素を使用して、TransformationID 要求スキーマ エントリのこの変換エントリを参照します。 この値は、このポリシー内の変換エントリごとに一意である必要があります。

TransformationMethod: TransformationMethod 要素は、要求のデータを生成するときに実行される操作を特定します。

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

表 4:変換方法と想定される入出力

TransformationMethod 想定される入力 想定される出力 説明
Join string1, string2, separator outputClaim 入力文字列の間に区切り記号を使用して、その文字列を結合します。 例: string1:"foo@bar.com" , string2:"sandbox" , separator:"." の結果は outputClaim:"foo@bar.com.sandbox" になります
ExtractMailPrefix 電子メールまたは UPN 抽出された文字列 ExtensionAttributes 1-15、または UPN やユーザーのメール アドレス値 (johndoe@contoso.com など) を格納するその他の任意のディレクトリ拡張。 メール アドレスのローカル部分を抽出します。 例: mail:"foo@bar.com" の結果は outputClaim:"foo" になります。 @ 記号がない場合、元の入力文字列がそのまま返されます。

InputClaims: InputClaims 要素を使用して、要求スキーマ エントリから変換にデータを渡します。 ClaimTypeReferenceIdTransformationClaimTypeTreatAsMultiValue という 3 つの属性があります

  • ClaimTypeReferenceId は要求スキーマ エントリの ID 要素と結合され、該当する入力要求を検索します。
  • TransformationClaimType は、この入力に一意の名前を指定するときに使用されます。 この名前は、変換方法に対する想定される入力のいずれかと一致する必要があります。
  • TreatAsMultiValue は、変換をすべての値に適用するか、最初の値のみに適用するかを示すブール値フラグです。 既定では、変換は複数値要求の最初の要素にのみ適用されます。この値を true に設定にすると、すべての要素に確実に適用されます。 ProxyAddresses とグループは、複数の値として扱う可能性が高い入力要求の 2 つの例です。

InputParameters: InputParameters 要素を使用して、定数値を変換に渡します。 この要素には 2 つの属性があります。ValueID です。

  • Value は、渡される実際の定数値です。
  • ID は、入力に一意の名前を指定するときに使用されます。 この名前は、変換方法に対する想定される入力のいずれかと一致する必要があります。

OutputClaims: OutputClaims 要素を使用して、変換によって生成されたデータを保持し、そのデータを要求スキーマ エントリに関連付けます。 この要素には 2 つの属性があります。ClaimTypeReferenceIdTransformationClaimType です。

  • ClaimTypeReferenceId は要求スキーマ エントリの ID と結合され、該当する出力要求を検索します。
  • TransformationClaimType は、出力に一意の名前を指定するときに使用されます。 この名前は、変換方法に対する想定される出力のいずれかと一致する必要があります。

例外と制限事項

SAML NameID と UPN: NameID と UPN の値のソース属性と、許可される要求変換には、制限があります。 表 5 と表 6 を参照して、使用できる値を確認してください。

表 5:SAML NameID のデータ ソースとして許可されている属性

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

表 6:SAML NameID の許可されている変換方法

TransformationMethod 制限
ExtractMailPrefix なし
Join 結合されているサフィックスは、リソース テナントの確認済みドメインである必要があります。

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

文字列: issuerWithApplicationId
データ型: ブール値 (True または False)
概要: このプロパティを使用すると、発行者の要求にアプリケーション ID を追加できます。 同じアプリケーションの複数のインスタンスが、各インスタンスで一意の要求値を持っていることを確認します。 アプリケーションのカスタム署名キーが構成されていない場合、この設定は無視されます。

  • True に設定した場合、ポリシーの影響を受けるトークンの発行者の要求にアプリケーション ID が追加されます。
  • False に設定した場合、ポリシーの影響を受けるトークンの発行者の要求にアプリケーション ID が追加されません。 (既定値)。

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

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

次の手順