2.8. セキュリティーサブシステム
security
サブシステムは Jakarta Authentication API をベースとし、アプリケーションのセキュリティーインフラストラクチャーを提供します。このサブシステムは現在のリクエストに関連するセキュリティーコンテキストを使用して、認証マネージャー、承認マネージャー、監査マネージャー、およびマッピングマネージャーの性能を関係のあるコンテナーに公開します。
認証および承認マネージャーは認証および承認を処理します。マッピングマネージャーは、情報をアプリケーションに渡す前に、プリンシパル、ロール、または属性に対してその情報を追加、変更、または削除します。監査マネージャーは、ユーザーがプリバイダーモジュールを設定して、セキュリティーイベントの報告方法を制御できるようにします。
ほとんどの場合、security
サブシステムの設定の更新では、管理者はセキュリティードメインの設定のみに集中する必要があります。セキュリティードメインの外部では、変更が必要になる場合があるセキュリティー要素は deep-copy-subject-mode
のみです。ディープコピーサブジェクトモードに関する詳細は、セキュリティー管理 を参照してください。
2.8.1. セキュリティードメイン
セキュリティードメインは Jakarta Authentication の宣言的なセキュリティー設定で、認証、承認、監査、およびマッピングを制御するために 1 つ以上のアプリケーションによって使用されます。デフォルトでは、jboss-ejb-policy
、jboss-web-policy
、other
、および jaspitest
の 4 つのセキュリティードメインが含まれます。jboss-ejb-policy
および jboss-web-policy
セキュリティードメインは、JBoss EAP インスタンスのデフォルトの承認メカニズムです。これらはアプリケーションの設定済みのセキュリティードメインが認証方法を全く定義しない場合に使用されます。これらのセキュリティードメインと other
は、認証のために JBoss EAP の内部でも使用され、操作の修正に必要です。jaspitest
セキュリティードメインは、開発用に含まれる簡単な Jakarta Authentication セキュリティードメインです。
セキュリティードメインは、認証、承認、セキュリティーマッピング、および監査向けの設定で設定されます。セキュリティードメインは、JBoss EAP security
サブシステムの一部で、ドメインコントローラーまたはスタンドアロンサーバーによって一元管理されます。ユーザーは、アプリケーションの要件に応じて必要な数のセキュリティードメインを作成できます。
また、cache-type
属性を使用して、セキュリティードメインによって使用される認証キャッシュのタイプを設定することもできます。この属性を削除するとキャッシュは使用されません。このプロパティーに使用できる値は default
または infinispan
です。
Elytron セキュリティードメインと PickeBox セキュリティードメインの比較
デプロイメントを単一の Elytron セキュリティードメインか、1 つ以上のレガシー PicketBox セキュリティードメインと関連付ける必要があります。デプロイメントを Elytron と PicketBox の両方に関連付けしてはなりません。これは無効な設定です。
デプロイメントを複数の Elytron セキュリティードメインと関連付けると例外が発生しますが、レガシーセキュリティードメインの場合は複数関連付けることが可能です。
PicketBox の場合、セキュリティードメインは基礎のアイデンティティーストアへのアクセスと承認決定のマッピングの両方をカプセル化します。そのため、PicketBox に複数のストアがある場合は、ソースごとに異なるセキュリティードメインを使用する必要があります。
Elytron では、これら 2 つの機能が分離されています。ストアへのアクセスはセキュリティーレルムで処理され、承認のマッピングはセキュリティードメインによって処理されます。
そのため、独立した PicketBox セキュリティードメインが必要なデプロイメントは、独立した Elytron セキュリティードメインを必ずしも必要としません。