Generate LTPA Token (ltpa-generate)
IBM® API Connect の Generate LTPA Token セキュリティー・ポリシーは、LTPA (Lightweight Third Party Authentication) トークンを生成するために使用します。
概要
LTPA (Lightweight Third Party Authentication) は、WebSphere® Application Server で Cookie またはバイナリー・セキュリティー・トークン・ベースの認証メカニズムを提供する IBM プロトコルです。これは、シングル・サインオン (SSO) テクノロジーをサポートしており、分散された複数のアプリケーション・サーバーおよびマシンによる環境で使用することを意図しています。
Generate LTPA Token ポリシーをアセンブリーに適用すると、WebSphere Application Server にホストされたアプリケーションまたはサービスに安全に API を認証させることができます。実行時には、ポリシーによって生成された LTPA トークンが、HTTP Cookie ヘッダーで (デフォルトのオプション)、あるいは SOAP メッセージ内の WS-Security ヘッダーにラップして (SOAP ペイロードまたは XML ペイロードの場合) WebSphere Application Server バックエンド・サービスに送信されます。
- REST
- SOAP
前提条件
- Generate LTPA Token ポリシーを API 定義に適用するには、LTPA 鍵を LTPA ピア (WebSphere Application Server) から API Manager にインポートする必要があります。詳しくは、『LTPA 鍵 (LTPA keys)』を参照してください。
- IBM DataPower の最小レベルはバージョン 7.5.1 です。
プロパティー
以下の表に、このポリシーのプロパティーをリストします。表には、プロパティーが必須かどうか、入力用の有効な値とデフォルト値、および値のデータ型が示されています。
プロパティー・ラベル | プロパティー名 | 必須 | 説明 | データ型 |
---|---|---|---|---|
タイトル | title | はい | ポリシーのタイトル。 デフォルト値は、ltpa-generate です。 |
ストリング |
説明 | description | いいえ | ポリシーの説明。 | ストリング |
LTPA 鍵 | key | はい | LTPA トークンの生成に使用する LTPA 鍵の名前。 以下のいずれかの構文オプションを使用して、LTPA 鍵の名前を入力します。
ドロップダウン・メニューから「LTPA 鍵」を選択します。各 LTPA 鍵には、バージョン固有でないオプション (例えば、my-ltpa-key、latest version) があります。使用する LTPA 鍵がポリシーによって実行時に選択されるようにする場合は、このオプションを選択してください。 それ以外の場合は、特定のバージョンを選択します。 注: バージョンの自動選択機能は、version.release.modification
version というバージョン番号付け方式に従ったバージョン番号を指定して LTPA 鍵が構成されていることに依存します。
|
LTPAKey |
認証済みユーザー名 | authenticatedUserName | はい | 認証済みユーザーの名前を保持するランタイム変数。LTPA トークンは、このプロパティーをユーザーに設定して生成されます。 例えば、API が基本認証セキュリティー定義で構成されている場合は、認証済みユーザー名を $(client.app.id) と指定できます。API が OAuth セキュリティー定義で構成されている場合は、認証済みユーザー名を $(oauth.resource-owner) と指定できます。あるいは、Generate LTPA Token ポリシーの前に set-variable ポリシーを構成して、ランタイム変数に特定のユーザー名を設定し、そのランタイム変数を認証済みユーザー名として指定することもできます。 |
ストリング |
トークンのバージョン | tokenVersion | はい | LTPA トークンのバージョン。次の値から選択します。
|
ストリング |
トークンの出力 (Token Output) | tokenOutput | はい | 生成された LTPA トークンをポリシーが格納する出力ソース内の場所を定義します。次のオプションから選択します。
デフォルトのオプションは「Cookie ヘッダー (In Cookie Header)」です。 注: 「WSSec ヘッダー (In WSSec Header)」は、メッセージのメディア・タイプが XML または SOAP の場合にのみ選択してください。
|
enum |
トークンの有効期限 | tokenExpiry | はい | LTPA 鍵を有効と見なす期間として現在の日時に加算する時間の長さ (秒)。 デフォルト値は、600 です。 |
整数 |
例
- ltpa-generate:
title: ltpa-generate
tokenVersion: WebSphereVersion2
tokenOutput: in-cookie-header
tokenExpiry: 600
key: 'my-first-ltpa-key:1.0.0'
エラー
- LTPAGenerateError - ポリシーの実行中に発生するすべてのエラーをキャプチャーするエラー。失敗すると、詳細なエラー・メッセージがランタイム変数 ltpa-generate.error-message に代入されるため、catch で取得することができます。
- IBM DataPower のファームウェアがバージョン 7.5.1 以降であることを確認する。
- LTPA 鍵に設定されているパスワードが正しいことを確認する。
- 「トークンの出力」プロパティーで「WSSec ヘッダー (In WSSec Header)」を選択した場合は、メッセージのペイロードに XML または SOAP メディア・タイプが含まれていることを確認する。
- 入力が XML である場合、ポリシーは SOAP エンベロープを作成し、SOAP セキュリティー・ヘッダーに LTPA トークンを格納し、SOAP 本体に入力 XML を格納します。
- 入力が SOAP であるが、SOAP セキュリティー・ヘッダーがない場合、ポリシーは SOAP セキュリティー・ヘッダーを作成し、そのヘッダーに LTPA トークンを格納します。SOAP メッセージの他の部分は変更されません。
- 入力が SOAP であり、かつ既に SOAP セキュリティー・ヘッダーにバイナリー・セキュリティー・トークンが存在する場合、ポリシーは、新しく生成された LTPA トークンで既存のトークンを上書きします。SOAP メッセージの他の部分は変更されません。