Interstage Application Server シングル・サインオン運用ガイド
|
目次
索引
|
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のドキュメントを参照してください。
- 英数字と記号以外が使用されているロール名またはSSOリポジトリ内の一意の識別名を使用してJAASの認可を行う場合、JDK1.3は使用できません。JDK1.4を使用してください。その場合、セキュリティポリシーファイルは、UTF-8エンコーディング方式でエンコーディングしてください。
ポリシーファイルにパス名を記述する場合、ファイルセパレータは"\\"を指定します。
JDK1.3の場合
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";
}; |
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