Microsoft ID プラットフォームでは、アプリケーション ギャラリーとカスタム アプリケーションのほとんどの事前に統合されたアプリケーションで シングル サインオン (SSO) がサポートされています。 ユーザーが SAML 2.0 プロトコルを使用して Microsoft ID プラットフォーム経由でアプリケーションに対する認証を行うと、アプリケーションにトークンが送信されます。 アプリケーションはトークンを検証し、ユーザー名とパスワードの入力を求める代わりに、そのトークンを使ってユーザーをサインインさせます。
これらの SAML トークンには、クレームと呼ばれるユーザーに関する情報が含 まれています。 要求とは、そのユーザーに発行するトークンの中にあるユーザーに関する ID プロバイダーが提示した情報を指します。 SAML トークンでは、通常、"クレーム" のデータは SAML 属性ステートメントに含まれています。 通常、ユーザーの一意の ID は、名前識別子 (nameID
) とも呼ばれる SAML サブジェクトで表されます。
既定では、Microsoft ID プラットフォームにより、ユーザーを一意に識別できるユーザー名 (別名: ユーザー プリンシパル名) を値として持つクレームを含む SAML トークンがアプリケーションに対して発行されます。 また、SAML トークンには、ユーザーのメール アドレスや姓名を含む他のクレームも含まれています。
クレームを表示または編集する
アプリケーションの SAML トークンで発行されたクレームを表示または編集するには、次の手順に従います。
- Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
- [Entra ID]>[エンタープライズ アプリ]>[すべてのアプリケーション] を参照します。
- アプリケーションを選択し、左側のメニューで [シングル サインオン] を選択し、[属性と要求] セクションで [編集] を選択します。
次の理由から、SAML トークンで発行されたクレームを編集することが必要な場合があります。
- そのアプリケーションでは、
NameIdentifier
またはnameID
クレームが、ユーザー名 (ユーザー プリンシパル名) 以外のものである必要がある。 - アプリケーションが、別の要求 URI または要求値のセットを必要とするように記述されている。
nameID
を編集します
名前識別子の値クレームを編集するには、次の手順に従います。
- [名前識別子の値] ページを開きます。
- 属性または属性に適用する変換を選択します。 必要に応じて、
nameID
クレームの形式を指定できます。
NameID の形式
SAML 要求に特定の形式の NameIDPolicy
要素が含まれている場合、Microsoft ID プラットフォームではその要求の形式が優先されます。
SAML 要求に NameIDPolicy
要素が含まれていない場合は、Microsoft ID プラットフォームによって、ユーザーが指定した形式の nameID
が発行されます。 形式を指定しないと、Microsoft ID プラットフォームでは、選択されたクレーム ソースに関連付けられている既定のソース形式が使われます。 変換の結果が null または無効な値である場合、Microsoft Entra ID によって、nameID
内の永続的なペアワイズ識別子が送信されます。
[ 名前識別子の形式の選択 ] ドロップダウンから、次の表のいずれかのオプションを選択します。
nameID の形式 |
説明 |
---|---|
デフォルト | Microsoft ID プラットフォームでは既定のソース形式が使われます。 |
粘り強い | Microsoft ID プラットフォームでは、nameID の形式として Persistent が使用されます。 |
アドレス | Microsoft ID プラットフォームでは、nameID の形式として EmailAddress が使用されます。 |
未指定 | Microsoft ID プラットフォームでは、nameID の形式として Unspecified が使用されます。 |
Windows domain qualified name (Windows ドメイン修飾名) | Microsoft ID プラットフォームでは、WindowsDomainQualifiedName の形式が使用されます。 |
一時的な nameID
もサポートされていますが、ドロップダウンで選択できず、Azure 側では構成できません。 NameIDPolicy
属性の詳細については、「シングル サインオン SAML プロトコル」を参照してください。
属性
NameIdentifier
(または nameID
) クレームの目的のソースを選択します。 次の表のオプションから選択できます。
名前 | 説明 |
---|---|
Email |
ユーザーのメール アドレス。 |
userprincipalName |
ユーザーのユーザー プリンシパル名 (UPN)。 |
onpremisessamaccountname |
オンプレミスの Microsoft Entra ID から同期された SAM アカウント名。 |
objectid |
Microsoft Entra ID のユーザーのオブジェクト ID。 |
employeeid |
ユーザーの従業員 ID。 |
Directory extensions |
Microsoft Entra Connect Sync を使用してオンプレミスの Active Directory から同期されたディレクトリ拡張機能。 |
Extension Attributes 1-15 |
Microsoft Entra スキーマを拡張するために使用されるオンプレミス拡張属性。 |
pairwiseid |
永続的な形式のユーザー識別子。 |
識別子の値の詳細については、このページで後述するソースごとの有効な ID 値を示す表を参照してください。
任意の定数値 (静的な値) を任意のクレームに割り当てることができます。 定数値を割り当てるには、次の手順に従います。
- [ 属性と要求 ] ブレードで、変更する必要な要求を選択します。
- 組織に従って ソース属性 に引用符なしで定数値を入力し、[ 保存] を選択します。 定数値が表示されます。
ディレクトリ スキーマ拡張
ディレクトリ スキーマ拡張属性を非条件付き/条件付き属性として構成することもできます。 単一値または複数値のディレクトリ スキーマ拡張属性をクレームとして構成するには、次の手順に従います。
- [ 属性と要求 ] ブレードで、[ 新しい要求の追加 ] を選択するか、既存の要求を編集します。
- アプリケーション ピッカーから、拡張プロパティが定義されているソース アプリケーションを選択します。
- [ 追加] を選択して、選択内容を要求に追加します。
- [ 保存] をクリックして変更をコミットします。
特別なクレームの変換
特別なクレームの変換関数を使用できます。
Function | 説明 |
---|---|
ExtractMailPrefix() | メール アドレスまたはユーザー プリンシパル名からドメイン サフィックスを除去します。 この関数は、渡されたユーザー名の最初の部分のみを抽出します (例: joe_smith@contoso.com ではなく "joe_smith")。 |
ToLower() | 選択した属性の文字を小文字に変換します。 |
ToUpper() | 選択した属性の文字を大文字に変換します。 |
アプリケーション固有のクレームを追加する
アプリケーション固有の要求を追加するには:
- [ 属性と要求 ] ブレードで、[ 新しい要求の追加 ] を選択して、[ ユーザー要求の管理 ] ページを開きます。
- 要求の 名前 を入力します。 値は、SAML 仕様に従って URI パターンに厳密に従う必要はありません。URI パターンが必要な場合は、[ 名前空間] フィールドに配置できます。
- 要求の値を取得する ソース を選択します。 ソース属性のドロップダウンからユーザー属性を選択するか、または要求として生成する前にユーザー属性に変換を適用することができます。
グループ要求を追加する
グループ クレームは、アプリまたはサービス プロバイダーがリソースにアクセスする際の承認の決定に使用されます。 グループ クレームを追加するには、次の手順に従います。
- [アプリの登録] に移動し、グループ要求を追加するアプリを選択します。
- [ グループ要求の追加] を選択します。
- トークンに含めるグループの種類を選択します。 セキュリティ グループ、ディレクトリ グループ、または特定のアプリケーションに割り当てられたグループを追加できます。
- グループ要求に含める値を選択し、[ 追加] を選択します。
要求の変換
ユーザー属性に変換を適用するには、次の手順を行います。
- [ 要求の管理] で、要求ソースとして [変換 ] を選択し、[ 変換の管理 ] ページを開きます。
- 変換ドロップダウンから関数を選択します。 選択した関数に応じて、変換で評価するパラメーターと定数値を指定します。
- 適切なラジオ ボタンをクリックして、属性のソースを選択します。
- 属性名をドロップダウンから選択します。
- ソースを複数値として扱う チェックボックスは、変換をすべての値に適用するか、最初の値のみに適用するかを示すチェック ボックスです。 既定では、変換は複数値クレームの最初の要素にのみ適用されます。このチェックボックスをオンにすると、すべてに適用されます。 このチェックボックスは、複数の値を持つ属性に対してのみ有効になります (例:
user.proxyaddresses
)。 - 複数の変換を適用するには、[ 変換の追加] を選択します。 要求には、最大 2 つの変換を適用できます。 たとえば、最初に
user.mail
のメール プレフィックスを抽出できます。 次に、文字列を大文字にします。
次の関数を使用して、要求を変換できます。
Function | 説明 |
---|---|
ExtractMailPrefix() | メール アドレスまたはユーザー プリンシパル名からドメイン サフィックスを除去します。 この関数は、渡されるユーザー名の最初の部分のみを抽出します。 たとえば、joe_smith@contoso.com の代わりに joe_smith となります。 |
Join() | 2 つの属性を結合することで、新しい値を作成します。 必要に応じて、2 つの属性の間に区切り記号を使用できます。 nameID 要求変換の場合、変換入力にドメイン部分がある場合、Join() 関数には特定の動作があります。 入力からドメイン部分を削除した後、区切り記号および選択されたパラメーターを結合します。 たとえば、変換の入力が joe_smith@contoso.com 、区切り記号が @ 、パラメーターが fabrikam.com の場合、この入力の組み合わせでは joe_smith@fabrikam.com という結果になります。 |
ToLowercase() | 選択した属性の文字を小文字に変換します。 |
ToUppercase() | 選択した属性の文字を大文字に変換します。 |
Contains() | 入力が指定した値と一致する場合、属性または定数を出力します。 一致しない場合は、別の出力を指定できます。 たとえば、値がユーザーのメール アドレスで、そこに @contoso.com というドメインが含まれる場合、そのクレームは出力し、それ以外の場合はユーザーのプリンシパル名を出力したいとします。 この関数を実行するには、Parameter 1(input): user.email 、Value: "@contoso.com" 、Parameter 2 (output): user.email 、Parameter 3 (output if there's no match): user.userprincipalname の各値を構成します。 |
EndWith() | 入力が指定した値で終わっている場合、属性または定数を出力します。 一致しない場合は、別の出力を指定できます。 たとえば、ユーザーの従業員 ID が 000 で終わっている場合は従業員 ID を値とするクレームを出力し、それ以外の場合は拡張属性を出力するとします。 この関数を実行するには、Parameter 1(input): user.employeeid 、Value: "000" 、Parameter 2 (output): user.employeeid 、Parameter 3 (output if there's no match): user.extensionattribute1 の各値を構成します。 |
StartWith() | 入力が指定した値で始まっている場合、属性または定数を出力します。 一致しない場合は、別の出力を指定できます。 たとえば、国または地域が US で始まっている場合はユーザーの従業員 ID を値とするクレームを出力し、それ以外の場合は拡張属性を出力するとします。 この関数を実行するには、Parameter 1(input): user.country 、Value: "US" 、Parameter 2 (output): user.employeeid 、Parameter 3 (output if there's no match): user.extensionattribute1 の各値を構成します。 |
Extract() - 照合後 | 指定した値との一致より後の部分文字列を返します。 たとえば、入力の値が Finance_BSimon で、一致する値が Finance_ の場合、クレームの出力は BSimon です。 |
Extract() - 照合する前 | 指定した値との一致より前の部分文字列を返します。 たとえば、入力の値が BSimon_US で、一致する値が _US の場合、クレームの出力は BSimon です。 |
Extract() - 一致の間 | 指定した値との一致より前の部分文字列を返します。 たとえば、入力の値が Finance_BSimon_US 、1 番目の一致する値が Finance_ 、2 番目の一致する値が _US の場合、クレームの出力は BSimon です。 |
ExtractAlpha() - プレフィックス | 文字列のプレフィックスのアルファベット部分を返します。 たとえば、入力の値が BSimon_123 の場合、BSimon が返されます。 |
ExtractAlpha() - サフィックス | 文字列のサフィックスのアルファベット部分を返します。 たとえば、入力の値が 123_Simon の場合、Simon が返されます。 |
ExtractNumeric() - プレフィックス | 文字列のプレフィックスの数字部分を返します。 たとえば、入力の値が 123_BSimon の場合、123 が返されます。 |
ExtractNumeric() - サフィックス | 文字列のサフィックスの数字部分を返します。 たとえば、入力の値が BSimon_123 の場合、123 が返されます。 |
IfEmpty() | 入力が null または空の場合、属性または定数を出力します。 たとえば、ユーザーの従業員 ID が空の場合に、拡張属性に格納されている属性を出力するとします。 この関数を実行するには、Parameter 1(input): user.employeeid 、Parameter 2 (output): user.extensionattribute1 、Parameter 3 (output if there's no match): user.employeeid の各値を構成します。 |
IfNotEmpty() | 入力が null または空ではない場合、属性または定数を出力します。 たとえば、ユーザーの従業員 ID が空ではない場合に、拡張属性に格納されている属性を出力するとします。 この関数を実行するには、Parameter 1(input): user.employeeid 、Parameter 2 (output): user.extensionattribute1 の各値を構成します。 |
Substring() - 固定長 | 指定した位置にある文字から始まる文字列要求の種類の一部が抽出され、指定した文字数が返されます。 sourceClaim は、実行する必要がある変換のクレーム ソースです。 StartIndex は、このインスタンス内の substring の 0 から始まる開始文字位置です。 Length は、substring の文字の長さです。 たとえば、sourceClaim - PleaseExtractThisNow 、StartIndex - 6 、Length - 11 の場合、ExtractThis という出力が生成されます。 |
Substring() - EndOfString | 指定した位置にある文字から始まる文字列要求の種類の一部が抽出され、指定した開始インデックスから要求の残りが返されます。 sourceClaim は、実行する必要がある変換のクレーム ソースです。 StartIndex は、このインスタンス内の substring の 0 から始まる開始文字位置です。 たとえば、sourceClaim - PleaseExtractThisNow 、StartIndex - 6 の場合、ExtractThisNow という出力が生成されます。 |
RegexReplace() | 正規表現ベースのクレーム変換の詳細については、次のセクションを参照してください。 |
正規表現ベースのクレーム変換
次の画像は、変換の第 1 レベルの例を示したものです。
次の表に示すアクションは、変換の第 1 レベルに関する情報を提供します。これらは前の画像のラベルに対応しています。 [ 編集] を 選択して要求変換ブレードを開きます。
アクション | フィールド | 説明 |
---|---|---|
1 |
Transformation |
[変換] オプションから RegexReplace() オプションを選択して、要求変換に正規表現ベースの要求変換メソッドを使用します。 |
2 |
Parameter 1 |
正規表現変換の入力。 たとえば、admin@fabrikam.com のようなユーザー メール アドレスを含む user.mail。 |
3 |
Treat source as multivalued |
一部の入力ユーザー属性は、複数値のユーザー属性になれます。 選択したユーザー属性が複数の値をサポートしていて、変換に複数の値を使用する場合は、[ ソースを複数値として扱う] を選択する必要があります。 オンにした場合は、すべての値が正規表現の照合に使われ、オフにした場合は、最初の値のみが使われます。 |
4 |
Regex pattern |
"パラメーター 1" として選ばれたユーザー属性の値に対して評価される正規表現。 たとえば、ユーザーのメール アドレスからユーザー エイリアスを抽出する正規表現は、(?'domain'^.*?)(?i)(\@fabrikam\.com)$ と表されます。 |
5 |
Add additional parameter |
複数のユーザー属性を変換に使用できます。 その場合、属性の値は正規表現の変換出力とマージされます。 最大 5 つの追加パラメーターがサポートされています。 |
6 |
Replacement pattern |
置換パターンは、正規表現の結果に対するプレースホルダーを含むテキスト テンプレートです。 {group-name} のように、すべてのグループ名を中かっこで囲む必要があります。 たとえば、管理者は他のドメイン名 (例: xyz.com ) と共にユーザーの別名を使い、国名をそれとマージしたいとします。 このケースでは、置換パターンは {country}.{domain}@xyz.com になります。{country} は入力パラメーターの値であり、{domain} は正規表現の評価からのグループ出力です。 このようなケースでは、予想される結果は US.swmal@xyz.com になります。 |
次の画像は、変換の 2 番目のレベルの例を示したものです。
次の表では、変換の 2 番目のレベルに関する情報を示します。 表に示されているアクションは、前の画像のラベルに対応しています。
アクション | フィールド | 説明 |
---|---|---|
1 |
Transformation |
正規表現ベースのクレーム変換は、第 1 の変換に限定されず、第 2 レベルの変換としても使用できます。 その他のいかなる変換方法も、最初の変換として使用できます。 |
2 |
Parameter 1 |
RegexReplace() が第 2 レベル変換として選択されている場合、第 1 レベル変換の出力が第 2 レベル変換の入力として使用されます。 変換を適用するには、第 2 レベルの正規表現式が、第 1 の変換の出力と一致する必要があります。 |
3 |
Regex pattern |
正規表現パターン は、第 2 レベル変換の正規表現です。 |
4 |
Parameter input |
第 2 レベルの変換に対するユーザー属性の入力。 |
5 |
Parameter input |
パラメーターが不要になった場合、管理者は選んだ入力パラメーターを削除できます。 |
6 |
Replacement pattern |
置換パターンは、正規表現の結果グループ名、入力パラメーター グループ名、静的テキスト値のプレースホルダーを含むテキスト テンプレートです。 {group-name} のように、すべてのグループ名を中かっこで囲む必要があります。 たとえば、管理者は他のドメイン名 (例: xyz.com ) と共にユーザーの別名を使い、国名をそれとマージしたいとします。 このケースでは、置換パターンは {country}.{domain}@xyz.com になります。{country} は入力パラメーターの値であり、{domain} は正規表現の評価からのグループ出力です。 このようなケースでは、予想される結果は US.swmal@xyz.com になります。 |
7 |
Test transformation |
RegexReplace() 変換は、 パラメーター 1 に対して選択されたユーザー属性の値が 、Regex パターン テキスト ボックスに指定された正規表現と一致する場合にのみ評価されます。 一致しない場合は、既定のクレーム値がトークンに追加されます。 入力パラメーター値に対して正規表現を検証するには、変換ブレード内でテスト エクスペリエンスを使用できます。 このテスト エクスペリエンスはダミー値でのみ動作します。 追加の入力パラメーターを使うと、実際の値ではなく、パラメーターの名前がテスト結果に追加されます。 テスト セクションにアクセスするには、[ テスト変換] を選択します。 |
次の図は、変換のテストの例を示したものです。
次の表では、変換のテストに関する情報を示します。 表に示されているアクションは、前の画像のラベルに対応しています。
アクション | フィールド | 説明 |
---|---|---|
1 |
Test transformation |
[閉じる] または [(X)] ボタンを選択してテスト セクションを非表示にし、ブレードで [ テスト変換 ] ボタンをもう一度レンダリングします。 |
2 |
Test regex input |
正規表現テストの評価に使われる入力を受け入れます。 正規表現ベースのクレーム変換が第 2 レベルの変換として構成されている場合、第 1 の変換の予想される出力を値として指定します。 |
3 |
Run test |
テスト正規表現入力が指定され、 Regex パターン、 置換パターン 、 および入力パラメーター が構成されたら、[ テストの実行] を選択して式を評価できます。 |
4 |
Test transformation result |
評価に成功すると、テスト変換の出力が テスト変換の結果 ラベルに対してレンダリングされます。 |
5 |
Remove transformation |
2 番目のレベルの変換は、[変換の 削除] を選択して削除できます。 |
6 |
Specify output if no match |
正規表現と一致しないパラメーター 1 に対して正規表現入力値が構成されている場合、変換はスキップされます。 このような場合は、代替ユーザー属性を構成できます。これは、 一致しない場合に出力を指定するチェック をオンにして、要求のトークンに追加されます。 |
7 |
Parameter 3 |
一致しない場合に「一致がない場合の出力を指定」が選択されているときに、代替ユーザー属性を返す必要がある場合は、ドロップダウンを使用して代替ユーザー属性を選択できます。 このドロップダウンは 、パラメーター 3 (一致しない場合の出力) に対して使用できます。 |
8 |
Summary |
ブレードの下部には、簡単なテキストで変換の意味を説明するフォーマットの概要が表示されます。 |
9 |
Add |
変換の構成設定が検証されたら、[ 追加] を選択して要求ポリシーに保存できます。 [要求の管理] ブレードで [保存] を選択して変更を保存します。 |
RegexReplace() 変換は、グループ要求変換でも使用できます。
RegexReplace() 変換の検証
[追加] または [テストの実行] を選択した後に次の条件が発生すると、問題に関する詳細情報を示すメッセージが表示されます。
- 重複するユーザー属性を持つ入力パラメーターは許可されません。
- 使われていない入力パラメーターが見つかりました。 定義された入力パラメーターは、置換パターン テキストでそれぞれ使用される必要があります。
- 指定されたテスト正規表現入力が、指定された正規表現と一致しません。
- 置換パターンへのグループのソースが見つかりません。
SAML トークンへの UPN 要求の追加
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
要求は、SAML 制限付き要求セットの一部です。 カスタム署名キーが構成されている場合は、[ 属性] と [要求 ] セクションで追加できます。
カスタム署名キーが構成されていない場合は、 SAML 制限付き要求セットを参照してください。 Azure portal のアプリ登録を使用して、オプションの要求として追加できます。
[アプリの登録] でアプリケーションを開き、[トークンの構成] を選択し、[省略可能な要求の追加] を選択します。 SAML トークンの種類を選択し、一覧から upn を選択し、[追加] をクリックしてトークンに要求を追加します。
[属性と要求] セクションでカスタマイズを行うと、[アプリの登録] の省略可能な要求が上書きされる可能性があります。
条件に基づいてクレームを出力する
ユーザーの種類とユーザーが属するグループに基づいて、要求のソースを指定することができます。
ユーザーの種類は次のとおりです。
- Any - すべてのユーザーがアプリケーションにアクセスできます。
- メンバー: テナントのネイティブ メンバー
- すべてのゲスト: ユーザーは、Microsoft Entra ID の有無にかかわらず、外部組織から引き継がれる。
- Microsoft Entra ゲスト: ゲスト ユーザーは、Microsoft Entra ID を使用して別の組織に属しています。
- 外部ゲスト: ゲスト ユーザーは、Microsoft Entra ID を持たない外部組織に属しています。
ユーザーの種類が役立つのは、クレームのソースが、ゲストとアプリケーションにアクセスする従業員とで異なる場合です。 ユーザーが従業員である場合は NameID を user.email から取得するように指定できます。 ユーザーがゲストの場合は、NameID は user.extensionattribute1 から取得されます。
要求条件を追加するには、次の手順を行います。
- [ 要求の管理] で、[要求の条件] を展開します。
- ユーザーの種類を選択します。
- ユーザーが属するグループを選択します。 特定のアプリケーションに対するすべての要求で、最大 50 個の一意のグループを選択できます。
- 要求の値を取得する ソース を選択します。 ソース属性のドロップダウンからユーザー属性を選択することも、そのユーザー属性に変換を適用することもできます。 また、クレームとして出力する前に、ディレクトリ スキーマ拡張を選択することもできます。
条件を追加する順序は重要です。 Microsoft Entra では、まず、すべての条件をソース Attribute
で評価し、次に、すべての条件をソース Transformation
で評価して、クレームに出力する値を決定します。 ソースが同じ条件は、上から下に評価されます。 式と一致する最後の値がクレームに出力されます。 IsNotEmpty
や Contains
などの変換は、制限のように機能します。
たとえば、Britta Simon は Contoso テナントのゲスト ユーザーです。 Britta は、Microsoft Entra ID も使用する別の組織に属しています。 Fabrikam アプリケーションが次のように構成されている場合、Britta が Fabrikam にサインインしようとすると、Microsoft ID プラットフォームで条件が評価されます。
まず、Microsoft ID プラットフォームは、Britta のユーザーの種類が [すべてのゲスト] であるかどうかを確認します。 種類は [すべてのゲスト] であるため、Microsoft ID プラットフォームは要求のソースを user.extensionattribute1
に割り当てます。 次に、Microsoft ID プラットフォームは、Britta のユーザーの種類が Microsoft Entra ゲストであるかどうかを確認します。 種類は [すべてのゲスト] であるため、Microsoft ID プラットフォームは要求のソースを user.mail
に割り当てます。 最終的に、クレームは Britta の user.mail
の値を使って出力されます。
もう 1 つの例として、Britta Simon がサインインを試み、次の構成が使用される場合について考えてみます。 まず、すべての条件が Attribute
のソースで評価されます。 Britta のユーザーの種類は Microsoft Entra ゲストであるため、 user.mail
は要求のソースとして割り当てられます。 次に、変換が評価されます。 Britta はゲストなので、user.extensionattribute1
がクレームの新しいソースです。 Britta は Microsoft Entra ゲストにあるため、 user.othermail
がこの要求のソースになりました。 最終的に、クレームは Britta の user.othermail
の値を使って出力されます。
最後の例として、Britta の user.othermail
が構成されていない場合、または空の場合にどうなるかを考えます。 どちらの場合も、条件の入力は無視され、クレームは代わりに user.extensionattribute1
にフォールバックします。
SAML クレームの詳細オプション
SAML2.0 アプリケーションで OIDC トークンと同じクレームを公開するように、クレームの詳細オプションを構成できます。また、SAML2.0 と OIDC の両方の応答トークンで同じクレーム使用するアプリケーションの場合は、その逆に構成できます。
高度な要求オプションは、[要求の管理] ブレードの [高度な SAML 要求オプション] の下にあるチェック ボックスをオンにして構成できます。
次の表は、アプリケーション用に構成できる他の詳細オプションの一覧です。
回答内容 | 説明 |
---|---|
発行者にアプリケーション ID を付加する | 発行者の要求にアプリケーション ID を自動的に追加します。 このオプションでは、同じアプリケーションのインスタンスが複数ある場合に、各インスタンスに対して一意の要求値が保証されます。 アプリケーションのカスタム署名キーが構成されていない場合、この設定は無視されます。 |
対象ユーザーのクレームをオーバーライドする | アプリケーションに送信された対象ユーザーのクレームのオーバーライドを許可します。 指定した値は有効な絶対 URI である必要があります。 アプリケーションのカスタム署名キーが構成されていない場合、この設定は無視されます。 |
属性名の形式を含める | 選択した場合、Microsoft Entra ID によって、アプリケーションの制限付き、コア、オプションの各クレームに、名前の形式を記述する NameFormat という属性が追加されます。 詳細については、「要求マッピング ポリシーの種類」を参照してください。 |