Interstage Application Server シングル・サインオン運用ガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの開発> 5.1 Javaアプリケーションの開発> 5.1.3 アプリケーション実行環境の設定

5.1.3.4 セキュリティポリシーファイルの作成

 アプリケーション運用管理者は、JavaアプリケーションがJAASの認可機能を使用する場合、セキュリティポリシーファイルを作成します。セキュリティポリシーファイルのファイル名は任意で作成でき、アプリケーション実行時にシステムプロパティでファイル名を指定します。セキュリティポリシーファイルには、認証された利用者の情報に基づいたリソースへのアクセス制御が設定されているアクセス権を記述します。アクセス権の記述およびセキュリティポリシーファイルの詳細については、Sun Microsystems,Inc.から提供されているJ2SDKやJAASのドキュメントを参照してください。

 セキュリティポリシーは基本的には以下の形式で記述します。

grant codeBase <URL>,
      principal <プリンシパルクラス名> "<プリンシパル名>",
      principal <プリンシパルクラス名> "<プリンシパル名>",
      ... {
    permission <アクセス権クラス名> "<ターゲット名>", "<アクション名>";
    permission <アクセス権クラス名> "<ターゲット名>", "<アクション名>";
    ...
};

 grantで始まるアクセス権を記述する際、<URL>にはアプリケーションが使用するjarファイルのURL形式を設定します。シングル・サインオンJavaAPIが使用するjarファイルに関しては“環境変数の設定”のCLASSPATHの設定部分を参照してください。

 認可を行う処理を含むjarファイルには、アクセス権を与える利用者の情報を指定します。指定には、principalで始まり、<プリンシパルクラス名>と利用者のユーザIDなどの<プリンシパル名>の組を1つ以上指定します。指定できるプリンシパルクラス名については“ユーザ情報の取得”を参照してください。

 アクセス権はpermissionで始まるアクセス権エントリを設定します。<アクセス権クラス名>には、java.util.PropertyPermissionやjava.io.FilePermissionなど、特定のアクセス権クラス名を指定します。アクセス権クラス名の後には必要に応じて<ターゲット名>および<アクション名>を記述します。例えば、java.util.PropertyPermissionでは、<ターゲット名>にシステムプロパティ名、<アクション名>には"read"、"write"などが指定できます。設定するアクセス権については、Sun Microsystems,Inc.から提供されているJ2SDKやJAASのドキュメントを参照してください。

JDK1.3の場合

 Javaアプリケーションのjarファイル:"isssojaas.jar"

grant codeBase "file:C:\\Interstage\\J2EE\\lib\\jsse.jar" {
grant codeBase "file:/opt/FJSVj2ee/lib/jsse.jar" {
permission java.security.AllPermission;
};

grant codeBase "file:C:\\Interstage\\J2EE\\lib\\jcert.jar" {
grant codeBase "file:/opt/FJSVj2ee/lib/jcert.jar" {
permission java.security.AllPermission;
};

grant codeBase "file:C:\\Interstage\\J2EE\\lib\\jnet.jar" {
grant codeBase "file: /opt/FJSVj2ee/lib/jnet.jar" {
permission java.security.AllPermission;
};

grant codeBase "file:C:\\Interstage\\J2EE\\lib\\isj2ee.jar" {
grant codeBase "file:/opt/FJSVj2ee/lib/isj2ee.jar" {
permission java.security.AllPermission;
};

grant codeBase "file:C:\\Interstage\\F3FMsso\\ssoatzag\\lib\\isssomod.jar" {
grant codeBase "file:/opt/FJSVssoaz/lib/isssomod.jar" {
permission java.lang.RuntimePermission "loadLibrary.F3FMssojdec";
・・・
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthorizationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
};

grant codeBase "file:isssojaas.jar" {
permission java.util.PropertyPermission "java.home","read";
permission java.util.PropertyPermission "user.home","read";
permission javax.security.auth.AuthPermission "createLoginContext";
permission javax.security.auth.AuthPermission "doAs";
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthenticationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthorizationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
};

 認証されたユーザに付加したアクセス権に従って処理を行うクラスを含むjarファイル:"isssoaction.jar"

grant codeBase "file:isssoaction.jar" ,
principal com.fujitsu.interstage.sso.auth.ISUserPrincipal "guest" {
permission java.util.PropertyPermission "java.home","read";
};

grant codeBase "file:isssoaction.jar" ,
principal com.fujitsu.interstage.sso.auth.ISRolePrincipal "administrator" {
permission java.util.PropertyPermission "user.home","read";
};

JDK1.4の場合

 Javaアプリケーションのjarファイル:"isssojaas.jar"
 認証されたユーザに付加したアクセス権に従って処理を行うクラスを含むjarファイル:"isssoaction.jar"

grant codeBase "file:isssoaction.jar" ,
principal com.fujitsu.interstage.sso.auth.ISUserPrincipal "guest" {
permission java.util.PropertyPermission "java.home","read";
};

grant codeBase "file:isssoaction.jar" ,
principal com.fujitsu.interstage.sso.auth.ISRolePrincipal "administrator" {
permission java.util.PropertyPermission "user.home","read";
};

grant codeBase "file:isssojaas.jar" {
permission java.util.PropertyPermission "java.home","read";
permission java.util.PropertyPermission "user.home","read";
permission javax.security.auth.AuthPermission
"createLoginContext.com.fujitsu.interstage.sso";
permission javax.security.auth.AuthPermission "doAs";
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthenticationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthorizationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
};

grant codeBase "file:C:\\Interstage\\F3FMsso\\ssoatzag\\lib\\isssomod14.jar " {
grant codeBase "file:/opt/FJSVssoaz/lib/isssomod14.jar " {
permission java.lang.RuntimePermission
"accessClassInPackage.sun.net.www.protocol.https";
・・・
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
permission javax.security.auth.PrivateCredentialPermission
"com.fujitsu.interstage.sso.auth.ISAuthorizationCredential
com.fujitsu.interstage.sso.auth.ISUserPrincipal \"*\"", "read";
};


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005