セキュリティ レルム : 全般
コンフィグレーション オプション 詳細なコンフィグレーション オプション 関連タスク 関連トピック
このページでは、このセキュリティ レルムの全般的な動作をコンフィグレーションします。
- 注意 :
- JACC (Java Authorization Contract for Containers、JSR 115 に定義) を使用してセキュリティを実装する場合は、[DD のみ] セキュリティ モデルを使用する必要があります。その他の WebLogic Server モデルは使用できません。Administration Console で Web アプリケーションと EJB のセキュリティ機能は無効になっています。
セキュリティ レルムは、監査、認証、認可、資格マッピング、および ロール マッピングのすべてのサービスを WebLogic Server デプロイメント に提供します。1 つの WebLogic Server デプロイメント内に複数の セキュリティ レルムをコンフィグレーションすることができます。デフォルト セキュリティ レルムとして指定できるのは 1 つだけです。
どのようなセキュリティ レルムであれ、それが有効であるためには、次の種類のセキュリティ プロバイダをそれぞれ (任意の順序で) コンフィグレーションする必要があります。
- 認証
- 認可
- 裁決
- 資格マッピング
- ロール マッピング
- 証明書パス ビルダ
セキュリティ レルム内の少なくとも 1 つの認可プロバイダおよびロール マッピング プロバイダが
DeployableAuthorizationProvider
およびDeployableRoleProvider
セキュリティ サービス プロバイダ インタフェース (SSPI) をそれぞれ実装している必要があります。これらの SSPI により、プロバイダはデプロイメント記述子からの情報を格納 (取得ではなく) できます。コンフィグレーション オプション
名前 説明 名前 このセキュリティ レルムの名前。
セキュリティ モデルのデフォルト このセキュリティ レルムによって保護される Web アプリケーションまたは EJB のデフォルトのセキュリティ モデルを指定します。このデフォルト値は、デプロイメント時にオーバーライドできます。
- 注意 :
ドメインの
config.xml
ファイルを修正し、サーバを再起動することによってモジュールをデプロイし、かつconfig.xml
でモジュールのセキュリティ モデル値を指定しない場合、モジュールはAppDeploymentMBean SecurityDDModel
属性のデフォルト値で保護されます ( AppDeploymentMBean SecurityDDModel を参照)。次のセキュリティ モデルのうち 1 つを選択します。
デプロイメント記述子のみ ([DD のみ])
EJB および URL パターンについては、このモデルは J2EE デプロイメント記述子 (DD) 内のロールおよびポリシーのみを使用します。このデータは、Administration Console では読み取り専用です。このモデルを使用する場合、EJB および URL パターンは、よりスコープの広いロールおよびポリシー (Web アプリケーション全体をスコープとするポリシーなど) によっては保護されません。EJB または URL パターンが DD 内のロールまたはポリシーで保護されていない場合、これらはまったく保護されず、誰でもアクセスできることになります。
EAR のアプリケーション スコープのロールについては、このモデルは WebLogic Server の DD 内で定義されているロールのみを使用します。このデータは、Administration Console では読み取り専用です。WebLogic Server の DD でロールが定義されていない場合、アプリケーション スコープのロールはその EAR に対して定義されていないことになります。
それ以外の種類のリソースについては、Administration Console を使用してロールまたはポリシーを作成できます。たとえば、このモデルでは、Administration Console を使用して EAR のためのアプリケーション スコープのポリシーを作成できます。
デプロイメントの生存時間について適用されます。別のモデルを使用する場合は、デプロイメントを削除して再インストールする必要があります。
ロールのみをカスタマイズ ([カスタム ロール])
EJB および URL パターンについては、このモデルは J2EE デプロイメント記述子 (DD) 内のポリシーのみを使用します。EJB および URL パターンは、よりスコープの広いポリシー (Web アプリケーション全体をスコープとするポリシーなど) によっては保護されません。このモデルは、DD 内に定義されているロールはすべて無視します。管理者は、Administration Console を使用してロール マッピングを行います。
それ以外の種類のリソースについては、Administration Console を使用してロールまたはポリシーを作成できます。たとえば、このモデルでは、Administration Console を使用して EAR のためのアプリケーション スコープのポリシーまたはロールを作成できます。
デプロイメントの生存時間について適用されます。別のモデルを使用する場合は、デプロイメントを削除して再インストールする必要があります。
ロールおよびポリシーをカスタマイズ ([カスタム ロールおよびポリシー])
デプロイメント記述子内に定義されているロールおよびポリシーをすべて無視します。管理者は、Administration Console を使用してリソースを保護します。
モジュール内のすべての URL または EJB メソッドに対してセキュリティ チェックを実行します。
デプロイメントの生存時間について適用されます。別のモデルを使用する場合は、デプロイメントを削除して再インストールする必要があります。
詳細 ([詳細])
以下のオプションの値を設定することで、このモデルの動作をコンフィグレーションします。
[Web アプリケーションまたは EJB のデプロイ時]
- 注意 :
WebLogic Scripting Tool または JMX API を使用している場合、この設定の MBean 属性は単一にはなりません。
RealmMBean
のDeployPolicyIgnored
属性およびDeployRoleIgnored
属性について値を設定する必要があります。[ロールとポリシーのチェック] (FullyDelegateAuthorization)
[ロール マッピングの組み合わせを有効化] (CombinedRoleMappingEnabled)
このモデルのコンフィグレーションは変更可能です。いかなる変更も、詳細モデルを使用するすべてのモジュールに直ちに適用されます。たとえば、このモデルを使用するすべてのモジュールが、デプロイメント時にデプロイメント記述子から適切なプロバイダ データベースにロールおよびポリシーをコピーするように指定するとします。すべてのモジュールをデプロイしたら、この動作を、モジュールを再デプロイする際にロールおよびポリシーが再コピーされないよう、デプロイメント記述子内のロールおよびポリシーを無視するものに変更できます。
- 注意 :
WebLogic Server バージョン 9.0 より前までは、使用できるセキュリティ モデルは詳細モデルのみでした。EJB および Web アプリケーションを、引き続き 9.0 より前のリリースと同様に保護する場合は、このモデルを使用します。
MBean 属性:
RealmMBean.SecurityDDModel
ロール マッピングの組み合わせを有効化 エンタープライズ アプリケーション、Web アプリケーション、および EJB コンテナ内のロール マッピングがどのように対話するかを決定します。この設定は、詳細セキュリティ モデルを使用し、デプロイメント記述子からのロールを初期化する Web アプリケーションおよび EJB についてのみ有効です。
有効化された場合は次のようになります。
アプリケーション ロール マッピングが EJB および Web アプリケーションと組み合わせられることで、すべてのプリンシパル マッピングが含まれるようになります。セキュリティ サービスでは、ロール マッピングが論理
OR
演算子と組み合わせられます。
web.xml
ファイル内の 1 つまたは複数のポリシーで、weblogic.xml
ファイル内にマッピングが存在しないロールが指定されている場合、Web アプリケーション コンテナは未定義のロールに対して空のマップを作成します (つまり、ロールはプリンシパルを含まないものとして明示的に定義されます)。したがって、そのようなポリシーで保護される URL パターンには、アクセスすることができません。
ejb-jar.xml
ファイル内の 1 つまたは複数のポリシーで、weblogic-ejb-jar.xml
ファイル内にマッピングが存在しないロールが指定されている場合、EJB コンテナは未定義のロールに対して空のマップを作成します (つまり、ロールはプリンシパルを含まないものとして明示的に定義されます)。したがって、そのようなポリシーで保護されるメソッドには、アクセスすることができません。無効化された場合は次のようになります。
各コンテナのロール マッピングは、
<externally-defined>
記述子要素で定義されていない限り、他のコンテナに対して排他的なものとなります。
web.xml
ファイル内の 1 つまたは複数のポリシーで、weblogic.xml
ファイル内にロール マッピングが存在しないロールが指定されている場合、Web アプリケーション コンテナは未定義のロールがプリンシパルの名前であると想定します。したがって、想定されたプリンシパルが、ロール名にマップされます。たとえば、web.xml
ファイルのポリシーの 1 つの中に、以下のスタンザ
<auth-constraint> <role-name>PrivilegedUser</role-name> </auth-constraint>
が格納されているが、weblogic.xml
ファイルにはPrivilegedUser
に対するロール マッピングがない場合、Web アプリケーション コンテナは、以下のスタンザと等しいメモリ上のマッピングを作成します。
<security-role-assignment> <role-name>PrivilegedUser</role-name> <principal-name>PrivilegedUser</principal-name> </security-role-assignment>
EJB メソッドのロール マッピングは、
weblogic-ejb-jar.xml
ファイルで定義する必要があります。その他のコンテナで定義されたロール マッピングは、<externally-defined>
記述子要素で定義されていない限り、使用されません。
- 注意 :
バージョン 8.1 およびアップグレードされたバージョン 9.x でこれまでデプロイされていたすべてのアプリケーションにおいて、組み合わせられたロール マッピングは、デフォルトでは無効化されています。
MBean 属性:
RealmMBean.CombinedRoleMappingEnabled
認可プロバイダを使用して JMX アクセスを保護 MBean 属性にアクセスするパーミッションまたは MBean 操作を呼び出すパーミッションが JMX クライアントにあるかどうかを、セキュリティ レルムの認可プロバイダを使用して判断するように WebLogic Server MBean サーバをコンフィグレーションします。
WebLogic Server のデフォルトのセキュリティ設定をそのまま使用することも、必要に応じてデフォルト設定を変更することもできます。
認可プロセスをレルムの認可プロバイダに委託しない場合、WebLogic MBean サーバでは、4 つのデフォルト セキュリティ ロール (Admin、Deployer、Operator、および Monitor) に対する、WebLogic Server のデフォルト セキュリティ設定で指定されたアクセスのみが許可されます。
MBean 属性:
RealmMBean.DelegateMBeanAuthorization
詳細なコンフィグレーション オプション
名前 説明 ロールとポリシーのチェック セキュリティ サービスが、Web アプリケーションおよびエンタープライズ Java Bean (EJB) へのアクセス認可をいつチェックするかを指定します。この設定は、詳細セキュリティ モデルを使用する Web アプリケーションおよび EJB でのみ有効です。
以下のいずれか 1 つを行うように WebLogic セキュリティ サービスをコンフィグレーションします。
- [
すべての Web アプリケーションと EJB
]。クライアントが Web アプリケーションの任意の URL、または EJB の任意のメソッドへのアクセスを試みたときに認可がチェックされます。- [
デプロイメント記述子で保護された Web アプリケーションと EJB
]。クライアントが、Web アプリケーションまたは EJB のデプロイメント記述子のポリシーによって保護される URL または EJB メソッドへのアクセスを試みたときに認可がチェックされます。これを選択すると、詳細モデルは Web アプリケーションまたは EJB のデプロイメント記述子に定義されたロールとポリシーだけを使用し、レルムのプロバイダ データベース内のセキュリティ データはすべて無視されます。
MBean 属性:
RealmMBean.FullyDelegateAuthorization
Web アプリケーションまたは EJB のデプロイ時 Web アプリケーションまたは EJB がデプロイされるたびに、セキュリティ サービスによって、セキュリティ データがデプロイメント記述子から適切なセキュリティ プロバイダ データベースにコピーされるかどうかを指定します。この設定は、[
ロールとポリシーのチェック
] が [すべての Web アプリケーションと EJB
] に設定されている場合に限り、詳細セキュリティ モデルを使用する Web アプリケーションおよび EJB でのみ有効です。以下のいずれか 1 つを行うように WebLogic セキュリティ サービスをコンフィグレーションします。
- [
デプロイメント記述子のロールとポリシーを初期化
]。詳細セキュリティ モデルを使用する Web アプリケーションおよび EJB をデプロイするときに、モジュールのデプロイメント記述子に指定されているロールおよびポリシーが適切なセキュリティ プロバイダ データベースにコピーされます。衝突の解決方法、およびデプロイメント記述子から削除されたロールを削除するかどうかは、ロール マッパー プロバイダと認証プロバイダによって異なります。WebLogic Server ロール マッパーでは、最後に行われた変更を受け入れることで衝突が解決され、デプロイメント記述子から削除されたロールが削除されます。
- [
デプロイメント記述子のロールとポリシーを無視
]。詳細セキュリティ モデルを使用する Web アプリケーションおよび EJB をデプロイするときに、デプロイメント記述子のすべてのロールおよびポリシーが無視されます。