Quarkus Security overview
Quarkus Securityでは、開発者がQuarkusアプリケーションの商用品質のセキュリティーを構築するためのアーキテクチャ、複数の認証および認可メカニズム、その他のツールを提供しているフレームワークです。
Quarkusアプリケーションにセキュリティを組み込む前に、 Quarkus Securityアーキテクチャ と、使用できるさまざまな認証メカニズムと機能について学んでください。
Quarkus Securityの主な機能
Quarkusセキュリティフレームワークには、Basic認証、フォームベース認証、相互TLS(mTLS)認証の組み込み認証メカニズムが用意されています。OpenID Connect(OIDC)やWebAuthnなど、その他のよく知られた 認証メカニズム を使用することもできます。
認証メカニズムは、アイデンティティプロバイダー に依存して認証クレデンシャルを検証し、ユーザー名、ロール、元の認証クレデンシャル、およびその他の属性を持つ SecurityIdentity インスタンスにマッピングします。
また、Quarkusには、RESTエンドポイントやCDI Beanに共通のセキュリティアノテーション@RolesAllowed、@DenyAll、@PermitAllに基づくロールベースのアクセス制御(RBAC)を可能にするセキュリティが組み込まれています。 詳細については、 Webエンドポイントの認可 を参照してください。
Quarkus Securityは、以下の機能もサポートしています:
Quarkus Securityは、高度なカスタマイズも可能です。詳細については、Quarkus Securityの ヒントとトリック ガイドを参照してください。
Quarkus セキュリティー入門
Quarkusのセキュリティに入門するには、Quarkusに組み込まれている Basic認証 とJakarta Persistence IDプロバイダーを組み合わせて、ロールベースのアクセス制御(RBAC)を有効にすることを検討してください。 Quarkus アプリケーションをBasic認証で保護 するチュートリアルの手順を完了してください。
Basic 認証を使用して Quarkus アプリケーションを正しく保護した後、Quarkus OpenID Connect (OIDC) 認可コードフローメカニズム ガイドなどのより高度な認証メカニズムを追加することで、セキュリティーをさらに強化できます。
Quarkus Securityのテスト
Quarkus Securityの機能をテストし、Quarkusアプリケーションが安全に保護されていることを確認するためのガイダンスは、Quarkus セキュリティテストガイド に記載されています。
Quarkusのセキュリティ機能についての詳細
クロスオリジンリソース共有
Quarkusアプリケーションを別のドメインで実行されている別のアプリケーションからアクセスできるようにするには、CORS(Cross-Origin Resource Sharing)を設定する必要があります。 Quarkusが提供するCORSフィルターの詳細については、「HTTPリファレンス」ガイドのQuarkus CORSフィルター のセクションを参照してください。
クロスサイト・リクエスト・フォージェリ(CSRF)対策
Quarkus Securityでは、 クロスサイトリクエストフォージェリ 攻撃からアプリケーションを保護するRESTEasy Reactiveフィルタを提供しています。 詳細については、Quarkusの クロスサイトリクエストフォージェリ対策 ガイドを参照してください。
SameSite クッキー
Quarkus エンドポイントによって設定される Cookie に、SameSite Cookie プロパティーを追加できます。 詳細は、Quarkus「HTTP リファレンスガイド」の SameSite Cookie セクションを参照してください。
シークレットエンジン
シークレットエンジンは、データを保存、生成、暗号化するコンポーネントです。
Quarkus は、Quarkus や HashiCorp Vault など、認証情報をセキュアに保存するための追加のエクステンションを Quarkiverse に提供します。
セキュア・シリアライゼーション
If your Quarkus Security architecture includes RESTEasy Reactive and Jackson, Quarkus can limit the fields that are included in JSON serialization based on the configured security. For more information, see the JSON serialisation section of the Quarkus “Writing REST services with RESTEasy Reactive” guide.
自動生成されたリソースをREST Data with Panacheで保護
REST Data with Panache エクステンションを使用してリソースを自動生成する場合でも、パッケージ jakarta.annotation.security 内のセキュリティーアノテーションを使用できます。
詳細は、Quarkus の「Panache を使用した Jakarta REST リソースの生成」ガイドの エンドポイントのセキュア化 セクションを参照してください。
セキュリティ脆弱性の検出
ほとんどのQuarkusタグは、米国 国家脆弱性データベース(NVD )に報告されます。 セキュリティ脆弱性については、 Quarkusのセキュリティ脆弱性の検出と報告 に関するガイドを参照してください。