24 SAML 1.1および2.0のデバッグの有効化
Oracle Weblogic Serverでは、SSOにSAMLを使用するWebアプリケーションのデバッグを有効にするために様々な方法が用意されています。デバッグを構成するには、ServerDebug MBeanで属性を設定します。
この章の内容は次のとおりです。
SAMLデバッグ・スコープおよび属性について
SAML 1.1および2.0用にWebLogic Serverで提供される登録済のデバッグ・スコープと属性について学習します。
表24-1 SAML 1.1デバッグ・スコープおよび属性
| スコープ | 属性 | 説明 |
|---|---|---|
|
|
|
SAML 1.1認証プロバイダ処理に関する情報を出力します。 |
|
|
|
SAML 1.1資格証明マッピング・プロバイダ処理に関する情報を出力します。 |
|
|
|
SAML 1.1ライブラリ処理に関する情報を出力します。 |
|
|
|
SAML 1.1 SSOプロファイル・サービスに関する情報を出力します。 |
表24-2 SAML 2.0デバッグ・スコープおよび属性
| スコープ | 属性 | 説明 |
|---|---|---|
|
|
|
SAML 2.0認証プロバイダ処理に関する情報を出力します。 |
|
|
|
SAML 2.0資格証明マッピング・プロバイダ処理に関する情報を出力します。 |
|
|
|
SAML 2.0ライブラリ処理に関する情報を出力します。 |
|
|
|
SAML 2.0 SSOプロファイル・サービスに関する情報を出力します。 |
コマンドラインを使用してデバッグの有効化
デバッグ・スコープまたは属性は、WebLogic Serverサーバーを起動するコマンドのオプションとして受け渡すことによって有効化できます。SAMLデバッグを有効化するためにこの方法は静的なもので、サーバー起動時にのみ使用可能です。
属性ごとのSAMLデバッグの有効化に使用できるコマンド・ライン・オプションは、表24-3にリストされています。
表24-3 SAMLデバッグのコマンドライン・オプション
| SAMLバージョン | デバッグに使用可能なコマンドライン・オプション |
|---|---|
|
SAML 1.1 |
|
|
SAML 2.0 |
|
WebLogic Server管理コンソールを使用してデバッグの有効化
WebLogic Server管理コンソールを使用して、SAMLデバッグを有効にできます。SAMLデバッグを有効化/無効化するためのWebLogic Server管理コンソールの使用は動的で、サーバーの稼働中に使用できます。
WebLogic Server管理コンソールを使用してSAMLデバッグを構成するには、次のステップを実行します。
SAMLデバッグ・スコープおよび属性への変更はただちに実行され、再起動する必要はありません。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのデバッグ設定の定義に関する項を参照してください。
WebLogic Scripting Toolを使用してデバッグの有効化
WebLogic Scripting Tool (WLST)を使用してSAMLデバッグ属性を構成できます。WLSTの使用は動的な手法であり、サーバーの実行中にデバッグを有効にする場合に使用できます。
たとえば、次のコマンドはdebug.pyというデバッグ属性の設定用プログラムを実行します。
java weblogic.WLST debug.py
debug.pyプログラムには、属性DebugSecuritySAMLAtnのデバッグを有効化する次のコードが含まれます。
user='user1' password='password' url='t3://localhost:7001' connect(user, password, url) edit() cd('Servers/myserver/ServerDebug/myserver') startEdit() set('DebugSecuritySAMLAtn','true') save() activate()
ノート:
明確にするために、このWLSTサンプル・スクリプトでは、ユーザー名およびパスワードをクリア・テキストで表示しています。通常はWLSTコマンドにクリア・テキストのパスワードを入力しないでください。特に、クリア・テキストのパスワードが含まれるWLSTスクリプトをディスクに保存することは避けてください。このような状況では、暗号化されたパスワードを渡すメカニズムをかわりに使用する必要があります。WebLogic Scripting Toolの理解のWLSTのセキュリティに関する項を参照してください。JavaからもWLSTを使用することができることに注意してください。次の例は、DebugSecuritySAMLAtnデバッグ属性を設定するJavaプログラムのソース・ファイルを示します。
import weblogic.management.scripting.utils.WLSTInterpreter;
import java.io.*;
import weblogic.jndi.Environment;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class test {
public static void main(String args[]) {
try {
WLSTInterpreter interpreter = null;
String user="user1";
String pass="pw12ab";
String url ="t3://localhost:7001";
Environment env = new Environment();
env.setProviderUrl(url);
env.setSecurityPrincipal(user);
env.setSecurityCredentials(pass);
Context ctx = env.getInitialContext();
interpreter = new WLSTInterpreter();
interpreter.exec
("connect('"+user+"','"+pass+"','"+url+"')");
interpreter.exec("edit()");
interpreter.exec("startEdit()");
interpreter.exec
("cd('Servers/myserver/ServerDebug/myserver')");
interpreter.exec("set('DebugSecuritySAMLAtn','true')");
interpreter.exec("save()");
interpreter.exec("activate()");
} catch (Exception e) {
System.out.println("Exception "+e);
}
}
}
標準出力へのデバッグ・メッセージの送信
StdoutSeverity=Debug属性を受け渡すことによって、デバッグ・メッセージを標準出力に送信することも可能です。たとえば、-Dweblogic.log.StdoutSeverity=Debugがあります。『Oracle WebLogic Serverコマンド・リファレンス』のメッセージの出力とロギングに関する項を参照してください。