5.2.3. EJB 承認ポリシー


アプリケーションは、JACC (Java Authorization Contract for Containers) の承認モジュールを使用して、カスタム認証および承認検証を実装できます。JBoss EAP 7 では、JACC 承認モジュールは JAAS セキュリティードメインの一部を形成します。

5.2.3.1. elytron サブシステムを使用した JACC の有効化

レガシーセキュリティーサブシステムでの JACC の無効化

アプリケーションサーバーはデフォルトでレガシー security サブシステムを使用して、JACC ポリシープロバイダーおよびファクトリーを設定します。デフォルト設定は PicketBox から実装へマップします。

Elytron またはアプリケーションサーバーにインストールするその他のポリシーを使用して JACC 設定を管理するには、最初にレガシー security サブシステムで JACC を無効にする必要があります。これには、以下の管理 CLI コマンドを使用できます。

/subsystem=security:write-attribute(name=initialize-jacc, value=false)
Copy to Clipboard Toggle word wrap

この作業を怠ると、次のエラーメッセージがサーバーログに出力されます: MSC000004: Failure during stop of service org.wildfly.security.policy: java.lang.StackOverflowError

JACC ポリシープロバイダーの定義

elytron サブシステムは、JACC 仕様を基にして組み込みのポリシープロバイダーを提供します。ポリシープロバイダーを作成するには、以下の管理 CLI コマンドを実行します。

/subsystem=elytron/policy=jacc:add(jacc-policy={})

reload
Copy to Clipboard Toggle word wrap

Web デプロイメントに対する JACC の有効化

JACC ポリシープロバイダーを定義したら、以下のコマンドを実行して、web デプロイメントに対して JACC を有効にできます。

/subsystem=undertow/application-security-domain=other:write-attribute(name=enable-jacc,value=true)
Copy to Clipboard Toggle word wrap

上記のコマンドは、Undertow サブシステムの「その他の」application-security-domain の JACC を有効にします。

注記

「その他の」application-security-domain は、サーバー全体で Elytron を有効にするスクリプトを実行する際に追加されます。セキュリティー設定を参照してください。

重要

サーバー全体で Elytron を有効にするスクリプトを実行していない場合は、最初に以下のコマンドを実行する必要があります。

/subsystem=undertow/application-security-domain=other:add(security-domain=ApplicationDomain)
Copy to Clipboard Toggle word wrap

EJB デプロイメントに対する JACC の有効化

JACC ポリシープロバイダーを定義したら、以下のコマンドを実行して、EJB デプロイメントに対して JACC を有効にできます。

/subsystem=ejb3/application-security-domain=other:write-attribute(name=enable-jacc,value=true)
Copy to Clipboard Toggle word wrap

上記のコマンドは、EJB サブシステムの「その他の」application-security-domain の JACC を有効にします。

注記

「その他の」application-security-domain は、サーバー全体で Elytron を有効にするスクリプトを実行する際に追加されます。セキュリティー設定を参照してください。

重要

サーバー全体で Elytron を有効にするスクリプトを実行していない場合は、最初に以下のコマンドを実行する必要があります。

/subsystem=ejb3/application-security-domain=other:add(security-domain=ApplicationDomain)
Copy to Clipboard Toggle word wrap

カスタム Elytron ポリシープロバイダーの作成

パーミッションをチェックするために一部の外部承認サービスと統合したい場合など、カスタム java.security.Policy が必要なときにカスタムのポリシープロバイダーが使用されます。カスタムポリシープロバイダーを作成するには、java.security.Policy を実装し、実装でカスタムモジュールを作成およびプラグし、elytron サブシステムのモジュールから実装を使用します。

/subsystem=elytron/policy=policy-provider-a:add(custom-policy={class-name=MyPolicyProviderA, module=x.y.z})
Copy to Clipboard Toggle word wrap

詳細は、開発ガイドのポリシープロバイダープロパティーを参照してください。

注記

ほとんどの場合で、JACC ポリシープロバイダーを Java EE 対応のアプリケーションサーバーの一部として想定どおりに使用できます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat