> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# SAMLアサーションをカスタマイズする

> SAMLアサーションと、SAMLおよびWS-Fedのプロトコルパラメーターをカスタマイズする方法を説明します。

<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-1" href="/docs/ja-JP/ja-jp/glossary?term=security-assertion-markup-language" tip="Security Assertion Markup Language（SAML）: パスワードなしに二者間で認証情報を交換できる標準化プロトコル。" cta="用語集の表示">SAML</Tooltip>アサーションと、SAMLおよび<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-JP/ja-jp/glossary?term=ws-fed" tip="Webサービスフェデレーション（WS-Fed）: ドメイン全体でユーザーIDを管理するためのプロトコル。" cta="用語集の表示">WS-Fed</Tooltip>のプロトコルパラメーターはカスタマイズできます。

<div id="auth0-as-identity-provider">
  ## IDプロバイダーとしてのAuth0
</div>

Dashboardでアドオンを構成するか、ルールを使用して、Auth0がIDプロバイダーとして機能する際のSAMLアサーションをカスタマイズします。

<div id="use-the-dashboard">
  ### Dashboardの使用
</div>

1. [［Dashboard］>［Applications（アプリケーション）］>［Applications（アプリケーション）］](https://manage.auth0.com/#/applications/\{yourClientId}/addons)に移動し、アプリケーションの名前を選択して表示します。

2. **［Addons（アドオン）］** タブを選択します。

3. **［SAML2 Web App（SAML2 Webアプリ）］** を有効にして設定とオプションを表示します。

   <Frame>
     <img src="https://mintcdn.com/generaltranslationinc/UCtxRPLKKGiAgiWv/docs/images/ja-jp/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/0126f55506d82cfd73d0bcb7ebd6fa9f/2025-02-27_14-00-16.png?fit=max&auto=format&n=UCtxRPLKKGiAgiWv&q=85&s=f6e75cbd6c239e8d1c67c428e58775a0" alt="Dashboard アプリケーション アプリケーションアドオンタブ SAML2 Webアプリ 設定タブ" width="602" height="753" data-path="docs/images/ja-jp/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/0126f55506d82cfd73d0bcb7ebd6fa9f/2025-02-27_14-00-16.png" />
   </Frame>

4. **［Settings（設定）］** タブでは、以下のような何種類かのカスタマイズができます。

   * SAML要求のデフォルトの発行者以外のオーディエンスを指定する
   * 受信者を指定する
   * プロファイル属性を特定の属性ステートメントにマッピングする
   * 署名またはダイジェストアルゴリズムを変更する
   * アサーションのみに署名するのか、応答全体に署名するのかを指定する

<div id="use-actions">
  ### アクションを使用する
</div>

アクションを使用すると、SAML応答にさらに広範囲または動的なカスタマイズを追加できます。アクションで行われたカスタマイズは、Dashboardの **［Application Addons（アプリケーションアドオン）］** ビューを使ったカスタマイズをオーバーライドします。

デフォルトのSAML属性をオーバーライドするか、新しい属性を追加するためには、`api.samlResponse`オブジェクトを使用します。

<div id="example-changing-the-saml-token-lifetime-and-use-upn-as-nameid">
  #### 例：SAMLトークンのライフタイムを変更し、UPNをNameIDとして使用する
</div>

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
	api.samlResponse.setLifetimeInSeconds(36000);
	if (event.user.upn) {
		api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier', 'upn');
	}
};
```

<div id="example-include-user_metadata-attributes-in-an-assertion">
  #### 例：user\_metadata属性をアサーションに含む
</div>

```js lines theme={null}
exports.onExecutePostLogin = (event, api) => {
	event.user.user_metadata = event.user.user_metadata || {};
	event.user.user_metadata.color = 'purple';
	api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/color', event.user.user_metadata.color);
};
```

<div id="saml-assertion-attributes">
  ## SAMLアサーション属性
</div>

以下はSAMLアサーションのカスタマイズ属性のリストです。

<table class="table">
  <thead>
    <tr>
      <th><b>属性</b></th>
      <th><b>種類</b></th>
      <th><b>説明</b></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`audience`</td>
      <td>文字列</td>
      <td>SAMLアサーションのオーディエンスです。デフォルトは、SAMLRequestの発行者です。</td>
    </tr>

    <tr>
      <td>`recipient`</td>
      <td>文字列</td>
      <td>SAMLアサーション（`SubjectConfirmationData`）の受信者です。デフォルトは、SAMLRequestの`AssertionConsumerUrl`、またはSAMLRequestが送られなかった場合はCallback URLです。</td>
    </tr>

    <tr>
      <td>`issuer`</td>
      <td>文字列</td>
      <td>SAML IDプロバイダーの一意の識別子で、URLとして形式化されます。</td>
    </tr>

    <tr>
      <td>`mappings`</td>
      <td>オブジェクト</td>
      <td>Auth0プロファイルとSAMLアサーションの出力属性のマッピングです。デフォルトのマッピングについては、上記の説明を参照してください。</td>
    </tr>

    <tr>
      <td>`createUpnClaim`</td>
      <td>ブール値</td>
      <td>UPNクレームを作成するかどうかを指定します。デフォルトは`true`です。</td>
    </tr>

    <tr>
      <td>`passthroughClaimsWithNoMapping`</td>
      <td>ブール値</td>
      <td>`true`の場合（デフォルト）、共通プロファイルにマッピングされていない各クレームは、Auth0がそれらを通じて出力アサーションに渡します。`false`の場合、それらのクレームはマッピングされません。</td>
    </tr>

    <tr>
      <td>`mapUnknownClaimsAsIs`</td>
      <td>ブール値</td>
      <td>`passthroughClaimsWithNoMapping`が`true`で、これが`false`の場合（デフォルト）、共通プロファイルにマッピングされていない各クレームには、Auth0がプレフィックス「`http://schema.auth0.com`」を追加します。`true`の場合は、クレームをそのままパススルーします。</td>
    </tr>

    <tr>
      <td>`mapIdentities`</td>
      <td>ブール値</td>
      <td>`true`の場合（デフォルト）、これによりプロバイダー（Google、ADFS、ADなど）や、利用可能な場合アクセストークンなどの追加情報がトークンに付け足されます。</td>
    </tr>

    <tr>
      <td>`signatureAlgorithm`</td>
      <td>文字列</td>
      <td>SAMLアサーションまたは応答の署名に使用する署名アルゴリズムです。デフォルトは`rsa-sha1`です。</td>
    </tr>

    <tr>
      <td>`digestAlgorithm`</td>
      <td>文字列</td>
      <td>SAMLアサーションまたは応答のダイジェストを演算するダイジェストアルゴリズムです。デフォルトは`sha1`です。</td>
    </tr>

    <tr>
      <td>`destination`</td>
      <td>オブジェクト</td>
      <td>SAML応答の送信先です。指定されていない場合、SAMLRequest の`AssertionConsumerUrl`になり、SAMLRequestがない場合は、Callback URLになります。</td>
    </tr>

    <tr>
      <td>`lifetimeInSeconds`</td>
      <td>整数値</td>
      <td>トークンの有効期限です。デフォルトは、`3600`秒（1時間）です。</td>
    </tr>

    <tr>
      <td>`signResponse`</td>
      <td>ブール値</td>
      <td>SAML応答が署名されるべきかを指定します。デフォルトでは、SAMLアサーションは署名されますが、SAML応答は署名されません。`true`の場合、SAMLアサーションではなく、SAML応答が署名されます。</td>
    </tr>

    <tr>
      <td>`nameIdentifierFormat`</td>
      <td>文字列</td>
      <td>デフォルトは、`urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`です。</td>
    </tr>

    <tr>
      <td>`nameIdentifierProbes`</td>
      <td>配列</td>
      <td>Auth0はこの配列の各属性を順番に試します。その1つが値を持つ場合は、それを`Subject/NameID`に使用します。順番：`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier`（`user_id`からマッピング）、`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`（`email`からマッピング）、[http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\`（名前からマッピング）](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`（名前からマッピング）)</td>
    </tr>

    <tr>
      <td>`authnContextClassRef`</td>
      <td>文字列</td>
      <td>デフォルトは、`urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified`です。</td>
    </tr>

    <tr>
      <td>`typedAttributes`</td>
      <td>ブール値</td>
      <td>デフォルトは`true`です。`true`に設定すると、要素の`xs:type`を推測します。種類は`xs:string`、`xs:boolean`、`xs:double `、および`xs:anyType`です。`false`に設定すると、すべての`xs:type`が`xs:anyType`になります。</td>
    </tr>

    <tr>
      <td>`includeAttributeNameFormat`</td>
      <td>ブール値</td>
      <td>デフォルトは`true`です。`true`に設定すると、属性名を基に`NameFormat`を推測します。`NameFormat`の値は、`urn:oasis:names:tc:SAML:2.0:attrname-format:uri`、`urn:oasis:names:tc:SAML:2.0:attrname-format:basic`、および`urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified`です。`false`に設定すると、`NameFormat`属性はアサーションに設定されません。</td>
    </tr>

    <tr>
      <td>`logout`</td>
      <td>オブジェクト</td>
      <td>SAMLログアウトを制御します。2つのプロパティーを含むことができます。`callback`（文字列）には、サービスプロバイダー（クライアントアプリケーション）のシングルログアウトサービスURLが含まれ、Auth0はそこにログアウトの要求と応答を送信します。`slo_enabled`（ブール値）は、Auth0がサービスプロバイダーにセッション終了を通知するかを指定します。デフォルト値は`true`（プロバイダーに通知する）です。</td>
    </tr>

    <tr>
      <td>`binding`</td>
      <td>文字列</td>
      <td>SAMLログアウト応答に使用されるプロトコルバインディングを任意に示します。Auth0はデフォルトで`HTTP-POST`を使用しますが、`binding`を`urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect`に設定すると、`HTTP-Redirect`に変更することができます。</td>
    </tr>

    <tr>
      <td>`signingCert`</td>
      <td>文字列</td>
      <td>SAML要求の検証に使用される公開鍵証明書を任意に示します。設定された場合、SAML要求の署名が必要になります。サンプルの値は、「`-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END CERTIFICATE-----\n`」です。</td>
    </tr>
  </tbody>
</table>

<div id="learn-more">
  ## もっと詳しく
</div>

* [SAML構成のトラブルシューティング](/docs/ja-JP/ja-jp/troubleshoot/authentication-issues/troubleshoot-saml-configurations)
* [SAMLエラーのトラブルシューティング](/docs/ja-JP/ja-jp/troubleshoot/authentication-issues/saml-errors)
* [SAML IDプロバイダー起点のシングルサインオンを構成する](/docs/ja-JP/ja-jp/authenticate/protocols/saml/saml-sso-integrations/identity-provider-initiated-single-sign-on)
