2014年11月29日

[Java, Security] JSR 375: Java EE Security API

原文はこちら。
https://blogs.oracle.com/theaquarium/entry/jsr_375_java_ee_security

Java EEが長い間エンタープライズ・アプリケーションを安全に開発、実行のために使われてきました。明らかに、Java EEおよびそのコンテナはグローバルセキュリティ方程式の一部に過ぎません。Java EE層に注目すると、セキュリティ機能の一部が仕様に取り込まれていることがわかります。それに対し、他のセキュリティ機能はプロプライエタリで異なるJava EE実装に固有のものです。いくつかのセキュリティ機能は、外部アドオン(例えばサードパーティのライブラリ)でもあります。セキュリティは、自己完結するものではなく、異なるコンポーネント間の相互作用を要求することがよくあります(例えばJava EE Application ServerはLDAPサーバーと対話する必要があります)。オンプレミスでのデプロイからクラウドベースのデプロイに移行する際には、状況も変わります。最終的には、セキュリティに関しては移植性がシンプルになることはありません。

Java EEが意味のある存在でいるためには進化が必要です。 Java EE 8コミュニティサーベイからのフィードバックを見れば、明らかにセキュリティは改善されるべき領域です。
Final Results from our Java EE 8 Community Survey
http://glassfish.org/survey
そして、それこそがつい先頃レビューのためにJCPに提出されたJSR 375(Java EE Security API)のゴールです。
The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 375
https://jcp.org/en/jsr/detail?id=375
JSR 375は、Java EE8に含められる予定ですが、その最初のスコープは、コミュニティ・サーベイのフィードバック、Java EE仕様に対する課題やRFE(機能拡張依頼)、EG(Expert Group)メンバーによる長時間にわたるやりとり、コンファレンスでの非公式の議論などに基づきます。

このJSR 375では、達成目標の詳細を提供しています。手短に言うと、JSR 375のゴールは、様々な領域のプラットフォームにわたり、セキュリティAPIをシンプルにし、標準化、近代化することです。
  • User Management(ユーザー管理)「ユーザー・サービス」APIを標準化し、アプリケーションが(たとえばユーザーの作成などの)ユーザー管理操作を実現できるようにします。この「ユーザー・サービス」は、(LDAPやデータベースなどの)物理ユーザーストアを抽象化したユーザーソースを信頼します。ユーザーサービスはデプロイ要件に合うよう構成可能になる予定です。

  • Password Aliasing(パスワードエイリアス)(セキュアな)パスワード・リポジトリに保存されたパスワードに(別名)を指すための構文を標準化します。このパスワード・リポジトリは、その後アプリケーションにバンドルされることがあります(例えば、クラウドへのデプロイメントを考えてください)。
  • Role Mapping(ロール・マッピング)「ロール・サービス」APIを定義、標準化し、アプリケーションが(例えば、グループロールを照会するような)様々なロール・マッピング操作を実施できるようにします。これは、環境のニーズに基づいて適応可能な、異なるロールマッパー(例えばLDAPやファイル)を介して行われます。

  • Authorization(認可)CDIインターセプタ・アノテーションを定義し、メソッドレベルでアプリケーションドメインのルールを事前に決定するために使います。
  • Authentication(認証)認証まわりでいくつか機能強化が予定されています(Webアプリケーションが様々な認証方法を提供できるようにする、とか)
これは初期スコープの概要に過ぎません。また、Expert Groupは、これらの新しいAPIを簡単に利用するために、一部のJava EEの直交テクノロジ(Java EE orthogonal technology、例えばCDIイベントや式言語など)をどうやって活用できるか、を調べる必要もあります。このJSRのについてもっと知りたいという方は、JSR 375をお読みください。また、JavaOneでLinda Demichielが話したJava EE Overviewの動画をご覧いただくこともできます。セッションの中で、そうした考えに触れています。
JavaOne Replay: 'Java EE 8 Overview' by Linda DeMichiel
https://blogs.oracle.com/theaquarium/entry/javaone_replay_java_ee_8
JSR 375はJCPレビュー期間に入りました。その後の次のステップは承認投票期間になるはずです。
JCP 2: Process Document
2. INITIATE A NEW OR REVISED SPECIFICATION
2.2 JSR REVIEW
https://jcp.org/en/procedures/jcp2#2.2
そして、この投票を通過すれば、Expert Groupを形成し、実際の作業(ならびに議論)がスタートする予定です。そんなわけで、現在我々はちょうどこの取り組みの端緒にいますが、Java EE 8の様々な部分の準備を整えるさまを見ることができうれしいです。

0 件のコメント:

コメントを投稿