Weblogic Serverでは、SSOにSAMLを使用するWebアプリケーションのデバッグを有効にするために様々な方法が用意されています。デバッグを構成するには、ServerDebug MBeanで属性を設定します。
この章には次のトピックが含まれます:
SAML 1.1および2.0用にWebLogic Serverで提供される登録済のデバッグ・スコープと属性について学習します。
表25-1 SAML 1.1デバッグ・スコープおよび属性
スコープ | 属性 | 説明 |
---|---|---|
weblogic.security.saml.atn |
DebugSecuritySAMLAtn |
SAML 1.1認証プロバイダ処理に関する情報を出力します。 |
weblogic.security.saml.credmap |
DebugSecuritySAMLCredMap |
SAML 1.1資格証明マッピング・プロバイダ処理に関する情報を出力します。 |
weblogic.security.saml.lib |
DebugSecuritySAMLLib |
SAML 1.1ライブラリ処理に関する情報を出力します。 |
weblogic.security.saml.service |
DebugSecuritySAMLService |
SAML 1.1 SSOプロファイル・サービスに関する情報を出力します。 |
表25-2 SAML 2.0デバッグ・スコープおよび属性
スコープ | 属性 | 説明 |
---|---|---|
weblogic.security.saml2.atn |
DebugSecuritySAML2Atn |
SAML 2.0認証プロバイダ処理に関する情報を出力します。 |
weblogic.security.saml2.credmap |
DebugSecuritySAML2CredMap |
SAML 2.0資格証明マッピング・プロバイダ処理に関する情報を出力します。 |
weblogic.security.saml2.lib |
DebugSecuritySAML2Lib |
SAML 2.0ライブラリ処理に関する情報を出力します。 |
weblogic.security.saml2.service |
DebugSecuritySAML2Service |
SAML 2.0 SSOプロファイル・サービスに関する情報を出力します。 |
デバッグ・スコープまたは属性は、WebLogic Serverサーバーを起動するコマンドのオプションとして受け渡すことによって有効化できます。SAMLデバッグを有効化するためにこの方法は静的なもので、サーバー起動時にのみ使用可能です。
属性ごとのSAMLデバッグの有効化に使用できるコマンド・ライン・オプションは、表25-3にリストされています。
表25-3 SAMLデバッグのコマンドライン・オプション
SAMLバージョン | デバッグに使用可能なコマンドライン・オプション |
---|---|
SAML 1.1 |
-Dweblogic.debug.DebugSecuritySAMLAtn=true -Dweblogic.debug.DebugSecuritySAMLCredMap=true -Dweblogic.debug.DebugSecuritySAMLLib=true -Dweblogic.debug.DebugSecuritySAMLService=true |
SAML 2.0 |
-Dweblogic.debug.DebugSecuritySAML2Atn=true -Dweblogic.debug.DebugSecuritySAML2CredMap=true -Dweblogic.debug.DebugSecuritySAML2Lib=true -Dweblogic.debug.DebugSecuritySAML2Service=true |
WebLogic Server管理コンソールを使用して、SAMLデバッグを有効にできます。SAMLデバッグを有効化/無効化するためのWebLogic Server管理コンソールの使用は動的で、サーバーの稼働中に使用できます。
WebLogic Server管理コンソールを使用してSAMLデバッグを構成するには、次のステップを実行します。
SAMLデバッグ・スコープおよび属性への変更はただちに実行され、再起動する必要はありません。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのデバッグ設定の定義に関する項を参照してください。
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()
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); } } }