WebSphere® Message Broker では、ID とは個人を一意的に識別できる、または検証可能なアサーションのセットを提供する、セキュリティー・トークンです。
SecurityPEP ノードまたはサポートされる入力ノードがセキュリティー・プロファイルを使用して構成されると、抽出された ID は、ブローカー内ではメッセージ・ツリー構造の「プロパティー」フォルダー内の 8 つのプロパティーとして保持されます。 これらのプロパティーは、ブローカー内で、ソースとマップ済みの 2 つの ID を定義します。 ソース ID およびマップ済み ID の両方に対して、値は Type、Token、Password、および IssuedBy プロパティーについて保持されます。
セキュリティーが使用可能な入力ノードの「ID トークンのタイプ」プロパティーを値 Transport Default に設定できます。この値に設定すると、トランスポートのデフォルト ID ヘッダーまたはフィールドからトークン・タイプが作成されます。 WebSphere MQ の場合は、Transport Default によって Username の ID タイプを指定します。 HTTP の場合、Transport Default によって Username and Password の ID タイプが提供されます。 SecurityPEP ノードの「ID トークン・タイプ」プロパティーを「現在のトークン」に設定することもできます。 その場合は、メッセージから新しい ID が抽出される代わりに、プロパティー・フォルダーのフィールドにある ID が使用されます。
さまざまなタイプのセキュリティー・トークンの抽出に関するサポート (メッセージ・フロー・セキュリティー・マネージャーと外部セキュリティー・プロバイダーで提供されるサポート) を以下の表にまとめます。 ID 伝搬がサポートされているトークン・タイプについては、ID およびセキュリティー・トークンの伝搬を参照してください。
トークンのタイプ (フォーマット) | トークンの抽出のブローカー・セキュリティー・マネージャーのサポート | 外部セキュリティー・プロバイダーのサポート |
---|---|---|
ユーザー名 | ユーザー名のトークンの抽出がサポートされているのは、以下のノードです。
トークンは、以下のいずれかのトランスポート・ヘッダーから取得されます。
ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java™ プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、username です。 |
LDAP: 許可 |
ユーザー名およびパスワード |
ユーザー名とパスワードのトークンの抽出がサポートされているのは、以下のノードです。
トークンは、以下のいずれかのトランスポート・ヘッダーから取得されます。
パスワードのトークンでは、平文パスワードまたは RACF パスチケットのいずれかを送信できます。 WS-Trust V1.3 STS (TFIM V6.2 など) を使用している場合は、Username and password としてトークン・タイプを指定することによって、RACF パスチケットの対応付け (発行) または検証を実行できます。 このサポートは、セキュリティーが有効になっている入力ノードと SecurityPEP ノードで利用できます。 ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、usernameAndPassword です。 |
LDAP:
|
SAML アサーション | SAML のトークンの抽出がサポートされているのは、以下のノードです。
トークンは、以下のいずれかの場所から取得されます。
ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、SAML です。 |
WS-Trust V1.3 STS (TFIM V6.2 を含む):
|
Kerberos GSS v5 AP_REQ | SecurityPEP ノードでは、メッセージ・フロー・セキュリティー・マネージャーによる Kerberos チケットの処理がサポートされています。 以下の SOAP ノードでは、WS-Security Kerberos トークン・プロファイルがサポートされていますが、この場合は、Kerberos 鍵配布センターとの直接の通信が行われ、Kerberos サブジェクトに相当するユーザー名トークンがプロパティー・フォルダーに取り込まれます。
トークンの場所が XPath 式または ESQL パスで指定されている場合は、SecurityPEP ノードのメッセージ・ツリーの任意の部分からトークンが取得されます。 ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、kerberosTicket です。 |
WS-Trust V1.3 STS (TFIM V6.2 を含む):
|
LTPA v2 トークン | LTPA のトークンの抽出がサポートされているのは、以下のノードです。
トークンの場所が XPath 式または ESQL パスで指定されている場合は、SecurityPEP ノードのメッセージ・ツリーの任意の部分からトークンが取得されます。 ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、LTPA です。 |
WS-Trust V1.3 STS (TFIM V6.2 を含む):
|
X.509 証明書 | X.509 のトークンの抽出がサポートされているのは、以下のノードです。
トークンは、以下のいずれかの場所から取得されます。
ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、X.509 です。 |
TFIM V6.1:
|
ユニバーサル WSSE トークン | ユニバーサル WSSE トークンの抽出がサポートされているのは、SecurityPEP ノードだけです。 トークンの場所が XPath 式または ESQL パスで指定されている場合は、SecurityPEP ノードのメッセージ・ツリーの任意の部分からトークンが取得されます。 ブローカーによって使用されるリテラル・ストリング値 (つまり、ESQL プログラムまたは Java プログラムでトークン・タイプを指定するために使用できるリテラル・ストリング値) は、UniversalWsse です。 |
WS-Trust V1.3 STS (TFIM V6.2 を含む):
|
セキュリティー・プロファイルがノードに関連付けられている場合、ソース ID は SecurityPEP または入力ノードによってのみ設定されます。 これらのフィールドに入力する情報は、一般にはメッセージのヘッダーにありますが、本体にあることもあります (ノードがさまざまなプロパティーに対する ESQL パスまたは XPath 参照で構成されている場合)。 複数の ID が入手可能な場合 (例えば、メッセージ集約を使用している場合)、最初の ID が使用されます。 トークン抽出はトランスポート固有であり、ID のフローをサポートするトランスポートを使用するだけで実行できます。 これらのトランスポートは、WebSphere MQ、HTTP(S)、および SOAP です。 詳細については、MQInput ノードおよびHTTPInput ノードを参照してください。
プロパティー内の値は変更可能です (例えば ESQL から)。ただし IdentitySource* 値には書き込まないでください。 例えば、IdentitySource* 値を使用してカスタム IdentityMapped* 値を作成することによって、ESQL または Java 内のカスタム ID マッピング・ルーチンを作成できます。
-- Parse the mapped SAML2.0 token in the properties folder and set it in the message body
CREATE LASTCHILD OF OutputRoot DOMAIN('XMLNSC') PARSE(InputRoot.Properties.IdentityMappedToken,
InputProperties.Encoding, InputProperties.CodedCharSetId);
プロパティー・フィールドで SAML トークンまたはユニバーサル WSSE トークンを設定するには、ESQL の ASBITSTREAM 関数などを使用して、ツリーのビット・ストリームを取得する必要があります。