#### SAMLv2 アイデンティティープロバイダのカスタマイズ

SAMLv2 アイデンティティープロバイダには、次の属性グループが含まれています。

- 「表明コンテンツ」

- 「表明処理」

- 「ローカル設定」

- 「サービス」

- 「拡張」

##### 表明コンテンツ

- 「要求/応答署名」

- 「暗号化」

- 「証明書エイリアス」

- 「名前 ID の形式」

- 「名前 ID の値マップ」

- 「認証コンテキスト」

- 「表明時間」

- 「基本認証」

- 「表明キャッシュ」

- 「ブートストラップ」

##### 要求/応答署名

次のフラグを設定すると、サービスプロバイダによる特定メッセージの署名方法がアイデンティティープロバイダに指示されます。

認証要求 | このアイデンティティープロバイダによって受信されるすべての認証要求が署名済みである必要があります。
アーティファクト解決処理 | サービスプロバイダは、`ArtifactResolve` 要素に署名する必要があります。
ログアウト要求 | サービスプロバイダは、`LogoutRequest` 要素に署名する必要があります。
ログアウト応答 | サービスプロバイダは、`LogoutResponse` 要素に署名する必要があります。
名前 ID 要求の管理 | サービスプロバイダは、`ManageNameIDRequst` 要素に署名する必要があります。
名前 ID 応答の管理 | サービスプロバイダは、`ManageNameIDResponse` 要素に署名する必要があります。

##### 暗号化

次の要素の暗号化を有効にするチェックボックスをオンにします。

NameID | サービスプロバイダは、すべての `NameID` 要素を暗号化する必要があります。

##### 証明書エイリアス

この属性は、アイデンティティープロバイダ用の証明書エイリアス要素を定義します。「`署名`」は、キーストアで正しい署名証明書を見つけるために使用されるプロバイダ証明書エイリアスを指定します。「`暗号化`」は、キーストアで正しい暗号化証明書を見つけるために使用されるプロバイダ証明書エイリアスを指定します。

##### 名前 ID の形式

アイデンティティープロバイダによってサポートされる名前 ID の形式を定義します。名前 ID は、プロバイダがユーザーに関して相互に通信するための手段です。シングルサインオンの対話では、次のタイプの識別子がサポートされます。

- `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`

- `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`

持続識別子は、特定のユーザーのデータストアエントリに 2 つの属性の値として保存されます。一時識別子は一時的なものであり、ユーザーの永続的なデータストアにデータは書き込まれません。

##### 名前 ID の値マップ

この属性は、「名前 ID の形式」属性とユーザープロファイル属性とのマッピングを指定します。定義済みの名前 ID の形式がプロトコルで使用される場合は、対象の形式に対する名前 ID の値としてこのプロファイル属性値が使用されます。各エントリの構文は次のとおりです。

``名前 ID の形式`=`ユーザープロファイル属性``

次に例を示します。

`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress=mail`

新しい名前 ID 形式を追加するには、「名前 ID の値マップ」属性を対応するエントリで更新する必要があります。ただし、`persistent`、`transient`、および `unspecified` は例外です。`persistent` および `transient` の場合、名前 ID の値はランダムに生成されます。この属性では、`unspecified` は省略可能です。指定された場合、名前 ID の値はユーザープロファイル属性の値になります。指定されなかった場合は、乱数が生成されます。

##### 認証コンテキスト

この属性は、SAMLv2 で定義されている認証コンテキストクラスをアイデンティティープロバイダ側で利用可能な認証方法にマップします。

マッパー

  要求された認証コンテキストを作成するために使用される `IDPAuthnContextMapper` インタフェースの実装を指定します。デフォルトの実装は、`com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper` です。

デフォルト認証コンテキスト

  サービスプロバイダが認証コンテキスト要求を送信しなかった場合に、アイデンティティープロバイダが使用するデフォルトの認証コンテキストタイプを指定します。

サポート

  アイデンティティープロバイダによるサポートがある場合は、認証コンテキストクラスの横にあるチェックボックスをオンにします。

コンテキスト参照

  SAMLv2 で定義されている認証コンテキストクラスは、次のとおりです。

  - InternetProtocol

  - InternetProtocolPassword

  - Kerberos

  - MobileOneFactorUnregistered

  - MobileTwoFactorUnregistered

  - MobileOneFactorContract

  - MobileTwoFactorContract

  - Password

  - PasswordProtectedTransport

  - Previous-Session

  - X509

  - PGP

  - SPKI

  - XMLDSig

  - Smartcard

  - Smartcard-PKI

  - Software-PKI

  - Telephony

  - NomadTelephony

  - PersonalTelephony

  - AuthenticaionTelephony

  - SecureRemotePassword

  - TLSClient

  - Time-Sync-Token

  - Unspecified

キー

  コンテキストをマップする OpenSSO 認証タイプを選択します。

値

  OpenSSO 認証オプションを入力します。

レベル

  値として、OpenSSO の認証フレームワークで定義されている認証レベルに対応する正数を取ります。認証レベルは、認証方法がどの程度信頼できるかを示します。

  このフレームワークでは、デフォルトの認証コンテキスト (優先される認証方法) を使用して各アイデンティティープロバイダが設定されます。ただし、プロバイダは割り当てられた認証コンテキストを定義された認証レベルに基づく認証コンテキストに変更することがあります。たとえば、プロバイダ B は認証レベルが 3 のローカルセッションを生成する必要があるため、そのレベルが割り当てられた認証コンテキストを使用してユーザーを認証するようにアイデンティティープロバイダに要求します。このクエリーパラメータの値は、アイデンティティープロバイダが使用する認証コンテキストを決定します。

##### 表明時間

表明は、一定の期間だけ有効であり、その前後は無効です。この属性は、`Not Before Time Skew` 値の猶予期間を秒単位で指定します。デフォルト値は `600` です。`notAfter` 値とは無関係です。

「`有効な時間`」は、表明の発行時間を起点とする表明の有効期間を秒単位で指定します。デフォルト値は `600` 秒です。

##### 基本認証

基本認証を有効にすると、SOAP エンドポイントを保護できます。SOAP エンドポイントにアクセスするプロバイダは、「`ユーザー名`」と「`パスワード`」の 2 つのプロパティーでユーザーとパスワードを定義する必要があります。

##### 表明キャッシュ

これが有効になっている場合、アイデンティティープロバイダは表明をあとで取得するためにキャッシュできます。

##### ブートストラップ

ブートストラップを目的とする Liberty ベースのシングルサインオンの処理中に ディスカバリサービス リソースオファリングを生成する場合は、このチェックボックスをオンにします。

##### 表明処理

- 「属性マッパー」

- 「アカウントマッパー」

##### 属性マッパー

デフォルトの属性マッパープラグインによって使用されるマッピングを定義する値を指定します。デフォルトのプラグインクラスは、`com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper` です。

マッピングは次の形式で設定してください。

SAML 属性=ローカル属性

たとえば、`EmailAddress=mail` や `Address=postaladdress` のようにします。「新しい値」としてマッピングを入力し、「追加」をクリックします。

##### アカウントマッパー

シングルサインオンを目的としてリモートユーザーアカウントをローカルユーザーアカウントにマップするために使用される `AccountMapper` インタフェースの実装を指定します。デフォルトの値は、`com.sun.identity.saml2.plugins.DefaultIDPAccountMapper` で、これはデフォルトの実装です。

##### ローカル設定

これらの属性には、OpenSSO インスタンスに固有の設定が含まれます。

##### 認証 URL

アイデンティティープロバイダが認証時にリダイレクトする認証 URL を定義します。

##### 外部アプリケーションログアウト URL

「外部アプリケーションログアウト URL」は、外部アプリケーション用のログアウト URL を定義します。サーバーがログアウト要求をリモートのパートナーから受け取ると、バックチャネル `HTTP POST` とすべての Cookie を使用してログアウト URL に要求が送信されます。オプションで、セッションプロパティー名に設定されたクエリーパラメータ `appsessionproperty` が URL に含まれる場合は、ユーザーセッションプロパティーを `HTTP ヘッダー`および `POST` パラメータとして送信できます。

##### サービス

- 「メタエイリアス」

- 「アーティファクト解決サービス」

- 「シングルログアウトサービス」

- 「名前 ID の管理サービス」

- 「シングルサインオンサービス」

##### メタエイリアス

設定するプロバイダの `metaAlias` を指定します。`metaAlias` は、プロバイダのエンティティー識別子と配置されている組織を特定するために使用されます。値は、レルムまたは組織 (OpenSSO に SAML v2 Plug-in for Federation Servicesがインストールされているかどうかによる) を表す文字列と、スラッシュ「/」およびプロバイダ名を組み合わせたものです。次に例を示します。`/suncorp/travelprovider`

注意 – `metaAlias` で使用する名前に `/` を含めることはできません。

##### アーティファクト解決サービス

アーティファクト解決プロファイルをサポートするエンドポイントを定義します。「`場所`」は、要求の送信先となるプロバイダの URL を指定します。「`インデックス`」は、プロトコルメッセージでエンドポイントを参照できるように、エンドポイントに対して一意の整数値を指定します。

##### シングルログアウトサービス

シングルログアウトサービスは、アイデンティティープロバイダが認証したすべてのセッションで、ログアウト機能の同期を取ります。

「`場所`」は、要求の送信先となるプロバイダの URL を指定します。「`応答場所`」は、応答の送信先となるプロバイダの URL を指定します。バインドのタイプは次のとおりです。

- HTTP リダイレクト

- POST

- SOAP

##### 名前 ID の管理サービス

このサービスは、主体の新しい名前 ID を指定するためにサービスプロバイダと通信するときに使用される URL を定義します。登録は、連携セッションが確立されたあとでのみ行われます。

「`場所`」は、要求の送信先となるプロバイダの URL を指定します。「`応答場所`」は、応答の送信先となるプロバイダの URL を指定します。バインドのタイプは次のとおりです。

- HTTP リダイレクト

- POST

- SOAP

##### シングルサインオンサービス

認証要求プロトコルのプロファイルをサポートするエンドポイントを定義します。すべてのアイデンティティープロバイダは、このようなエンドポイントを少なくとも 1 つサポートする必要があります。

「`場所`」は、要求の送信先となるプロバイダの URL を指定します。バインドのタイプは次のとおりです。

- HTTP リダイレクト

- POST

- SOAP

##### 拡張

- 「IDP URL」

- 「App シークレットリスト」

- 「IDP マッパーセッション」

##### IDP URL

SAE (Secure Attribute Exchange) の要求を処理できるアイデンティティープロバイダの URL エンドポイントを定義します。

##### App シークレットリスト

アプリケーションのセキュリティー設定を定義します。アプリケーションごとに 1 つのエントリが必要です。各エントリの形式は次のとおりです。

`url=IDPAppURL|type=`symmetric または Asymmetric`|secret=` ampassword でエンコードされた共有シークレット`` OR `or pubkeyalias=`IDP アプリケーション署名証明書``

##### IDP マッパーセッション

セッションマッパー SPI の実装クラスを定義します。このマッパーは、ECP プロファイルを持つアイデンティティープロバイダの HTTP サーブレット要求から有効なセッションを検出します。