セキュリティーの概要


Red Hat build of Quarkus 3.8

Red Hat Customer Content Services

概要

Quarkus Security は、多様な認証方法、ロールベースのアクセス制御 (RBAC)、SSL/TLS などの機能を組み込んだ、Java アプリケーションセキュリティーの完全なフレームワークを提供します。このガイドでは、Quarkus アプリケーションにセキュリティーを統合する開発者を対象に、主な機能、セットアップ、テストを説明します。

Red Hat build of Quarkus ドキュメントへのフィードバックの提供

エラーを報告したり、ドキュメントを改善したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. 次のリンクをクリックして チケットを作成します
  2. Summary に課題の簡単な説明を入力します。
  3. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
  4. Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Quarkus Security の概要

Quarkus Security は、安全で本番品質の Java アプリケーションを構築するためのアーキテクチャー、複数の認証および承認メカニズム、およびその他のツールを提供するフレームワークです。

Quarkus アプリケーションにセキュリティーを組み込む前に、Quarkus Security アーキテクチャー と、使用できるさまざまな認証メカニズムと機能について理解する必要があります。

1.1. Quarkus Security の主な機能

Quarkus Security フレームワークは、基本認証、フォームベース認証、相互 TLS (mTLS) 認証用の組み込みセキュリティー認証メカニズムを提供します。OpenID Connect (OIDC) などの他のよく知られた 認証メカニズム を使用することもできます。認証メカニズムは、認証情報を検証し、ユーザー名、ロール、元の認証情報、およびその他の属性を使用して SecurityIdentity インスタンスにマッピングするために、アイデンティティープロバイダー に依存します。

Red Hat build of Quarkus には、REST エンドポイントの一般的なセキュリティーアノテーション @RolesAllowed@DenyAll@PermitAll と、コンテキストと依存性注入 (CDI) Bean に基づくロールベースのアクセス制御 (RBAC) を可能にする組み込みセキュリティーも含まれています。詳細は、Quarkus の Web エンドポイントの認可 ガイドを参照してください。

Quarkus Security は次の機能もサポートしています。

Quarkus Security も高度にカスタマイズ可能です。詳細は、Quarkus Security tips and tricks ガイドを参照してください。

1.2. Quarkus Security を使い始める

Quarkus でセキュリティーを開始するには、組み込みの Quarkus Basic 認証 と Jakarta Persistence アイデンティティープロバイダーを使用して Quarkus アプリケーションエンドポイントを保護し、ロールベースのアクセス制御を有効にすることを検討してください。

Basic 認証と Jakarta Persistence を使用したセキュリティーの開始チュートリアル の手順を完了します。

Basic 認証を使用して Quarkus アプリケーションを正常に保護した後、Quarkus OpenID Connect (OIDC) 認可コードフローメカニズム ガイドなどのより高度な認証メカニズムを追加することで、セキュリティーをさらに強化できます。

1.3. Quarkus Security のテスト

Quarkus Security の機能のテストと Quarkus アプリケーションが安全に保護されていることを確認するためのガイダンスについては、セキュリティーテスト ガイドを参照してください。

1.4. Quarkus のセキュリティー機能の詳細

1.4.1. Cross-Origin Resource Sharing

Quarkus アプリケーションを別のドメインで実行している別のアプリケーションからアクセスできるようにするには、Cross-Origin Resource Sharing (CORS) を設定する必要があります。Quarkus が提供する CORS フィルターの詳細は、Quarkus の「Cross-Origin Resource Sharing 共有」ガイドの CORS フィルター のセクションを参照してください。

1.4.2. クロスサイトリクエストフォージェリ (CSRF) 防止

Quarkus Security は、クロスサイトリクエストフォージェリ 攻撃からアプリケーションを保護できる RESTEasy Reactive フィルターを提供します。詳細は、Quarkus の クロスサイトリクエストフォージェリ防止 ガイドを参照してください。

1.4.3. SameSite クッキー

Quarkus エンドポイントによって設定された任意の Cookie に SameSite Cookie プロパティーを追加できます。詳細は、Quarkus の「HTTP リファレンス」ガイドの SameSite Cookie セクションを参照してください。

1.4.4. シークレットエンジン

Quarkus でシークレットエンジンを使用して、データを保存、生成、または暗号化できます。

Quarkus は、Quarkus や HashiCorp Vault など、認証情報を安全に保存するための追加の拡張機能を Quarkiverse に提供します。

1.5. 環境プロパティーの秘密

Quarkus は、環境プロパティーにシークレットを保存するためのサポートを提供します。詳細は、Quarkus の 環境プロパティーファイルにシークレットを保存する ガイドを参照してください。

1.5.1. 安全なシリアル化

Quarkus Security アーキテクチャーに RESTEasy Reactive と Jackson が含まれている場合、Quarkus は設定されたセキュリティーに基づいて JSON シリアル化に含まれるフィールドを制限できます。詳細は、「Writing REST services with RESTEasy Reactive」ガイドの JSON serialization セクションを参照してください。

1.5.2. Panache による REST Data による自動生成リソースの保護

REST Data with Panache エクステンションを使用してリソースを自動生成する場合でも、パッケージ jakarta.annotation.security 内のセキュリティーアノテーションを使用できます。詳細は、Quarkus の「Generating Jakarta REST resources with Panache」ガイドの Securing endpoints セクションを参照してください。

1.6. セキュリティー脆弱性検出

ほとんどの Quarkus タグは、米国の National Vulnerability Database (NVD) に報告されます。セキュリティーの脆弱性の詳細は、Quarkus でのセキュリティーの脆弱性の検出とレポート ガイドを参照してください。

1.7. 参考資料

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.