このチュートリアルでは、OPSSセキュリティを使用する既存のADFアプリケーションについて説明します。 アプリケーションの開発側のOPSSセキュリティ・アーチファクトを理解しておくと、このタイプのアプリケーションをWebLogic Serverにデプロイする際に、これらのアーチファクトを移行する方法を容易に理解できます。この移行方法については、『OPSSアプリケーションのデプロイ』のOBEで説明しており、この同じアプリケーションをデプロイしています。
この演習を完了すると、以下のことができるようになります。
約1時間以内
OPSSは、Java SE環境およびJava EE環境でセキュリティ・サービスを開発し、管理するためのオラクルのセキュリティ・フレームワークです。 このチュートリアルは、JDeveloperでのOpssADFDemoAppの確認です。
OBE環境のアーキテクチャ
これは、OPSS演習用のOBEチュートリアルで使用される環境のおおまかなアーキテクチャです。 この環境は、次の要素で構成されています。
JDeveloperでのOpssADFDemoAppの確認
このOBEでは、JDeveloperを使用して開発されたADFアプリケーションに含まれている、OPSSセキュリティの設定と構成について説明します。 この環境は、次の要素で構成されています。
要件は以下のとおりです。
このチュートリアルを始める前に、次の前提条件を完了しておく必要があります。
. |
このOBEを始める前に、『OPSS環境のセットアップ』のOBEを完了する必要があります。 |
|---|---|
. |
このOBEを始める前に、『WebLogicでのOID認証プロバイダの構成』のOBEを完了する必要があります。 |
JDeveloperを使用してOPSS対応のアプリケーションを確認するには、以下のステップを実行します。
. |
起動パネルの「 JDeveloperの起動時に、JDeveloperスプラッシュ・スクリーンが表示されます。 注: 使用するJDeveloperのバージョンが若干違っても、問題ありません。 仮想イメージのJDeveloperのバージョンは、11.1.1.2です。
|
|---|---|
. |
Select Roleウィンドウが表示されたら、Default Roleは選択されたままにして、「OK」をクリックします。 これで、すべてのJDeveloperテクノロジーを利用できるようになります。
|
. |
Tip of the Dayウィンドウが表示されたら、このウィンドウを閉じます。 このメッセージが再度表示されないようにするには、「Show tips at startup」チェック・ボックスをオフにします。
|
. |
アプリケーション・ナビゲータにNew Application...オプションとOpen Application...オプションが表示されたら、「Open Application...」を選択します。
/home/oracle/labs/apps/OpssADFDemoAppフォルダを参照し、「OpssADFDemoApp.jws」プロジェクト・ファイルを選択して、「Open」をクリックします。
|
. |
Projectsビューのすべてのツリー・ノードを展開して、プロジェクト内のすべてのファイルが表示されるようにします。
|
. |
Application Resourcesビューのすべてのツリー・ノードを展開して、プロジェクト内のすべてのデプロイメント・ディスクリプタ・ファイルが表示されるようにします。
OpssADFDemoAppアプリケーションが開いて、JDeveloper IDEで表示できるようになりました。このアプリケーションがOPSSでどのように動作するのか確認できます。
|
この項では、OPSSに関連するOpssADFDemoAppアプリケーションについて説明します。 これは開発者向けコースではないため、セキュリティ・ポリシーの作成方法については説明していません。 このコースでは、構成タスクと管理タスクに重点を置いています。 また、このコースは、ADFアプリケーションに関する一般的なコースではないため、アプリケーションをテストして動作を確認することはしていません。 必要に応じて、自由にアプリケーションを実行してテストしてみてください。
ADFアプリケーションでOPSSを構成および使用する方法を習得するには、以下の手順を実行します。
. |
Application Resourcesビューで「jps-config.xml」ファイルをダブルクリックして、エディタでファイルを開きます。 注: jps-config.xmlファイルはOpssADFDemoAppのMETA-INFフォルダ内にパッケージ化されているため、IDEでの開発時にこのアプリケーションのすべてのOPSS構成はJava SEに基づいたものになります。 アプリケーションがOPSS対応のサーバーにデプロイされると、適用されるOPSS構成はWebLogicドメインのjps-config.xmlファイルになります。
ファイルを選択していない場合は、「Overview」タブをクリックして、ファイルをグラフィカルに表示します。 このチュートリアルでは、このファイル表示を使用しています。 必要に応じて、「Source」タブを使用してファイルを確認することもできます。このタブでは、ファイルのXMLソース全体が表示されます。
次のような画面が表示されます。
この画面には、jps-config.xmlファイルの構成設定が表示されます。 次の構成設定が含まれています。 Security Contexts、Identity Store、Credential Store、Login Modules、Key Storeサービス。 上記に示すように、デフォルトのページではSecurity Contextsが選択されています。 OpssADFDemoAppとanonymousの2つのコンテキストがあります。 デフォルトのコンテキストはOpssADFDemoAppです。anonymousコンテキストは、システムでまだ認証されていないユーザー向けのログインを示すために構成します。 注: Anonymous Providerはなくなる予定です。UIでは無視してください。 Anonymous Providerの機能は、OPSSフレームワークの他の部分に実装されています。 まず、Security Contextsセクションについて確認します。
|
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
. |
セキュリティ・コンテキストの構成 Security Contextsタブには、環境に構成されているJPSコンテキストが表示されます。 OpssADFDemoAppコンテキストに重点を置いて説明します。 OpssADFDemoAppコンテキストの横にあるプラス記号をクリックし、ビューを展開します。コンテキストの構成が表示されます。
ここには、環境に構成されているさまざまなコンテキストが表示されます。 次のようなコンテキストが表示されます。
この環境のIDストアは、idstore.xmlという名前で参照されます。 この名前は任意の名前にできますが、この場合は、IDストアがファイルベースのXMLストアに含まれていることを示す、一般的なネーミング規則に従っています。 資格証明ストアは、credstoreという名前で参照されます。 この名前は、使用されているストアのタイプを示すものではありませんが、これはADF開発環境であるため、これもファイルベースであると想定できます。この構成では、cwallet.ssoファイルが参照されます。 すぐ後で、この構成について詳しく見てみます。 この環境にキー・ストアは構成されていないため、このパラメータには<no selection>と表示されています。 Login Modulesセクションのチェック・ボックスは、このJPSコンテキストに選択されているログイン・モジュールがidstore.loginmoduleであることを示しています。 IDストア構成について詳しく見てみます。
|
||||||||||||||||
. |
IDストアの構成 「Identity Store」タブをクリックし、idstore.xmlサービス・インスタンスの構成を表示します。
この場合、グラフィカルな表示には、IDストアの完全な構成は表示されません。 この環境のセキュリティ・レルムがjazn.comであることが表示されます。 完全な構成を表示するには、「Source」タブをクリックし、ファイル内で次のコード・スニペットのようなserviceInstanceを見つけます。 ヒント: Structureビューを使用すると、ファイル内の要素を簡単に見つけることができます。 「jpsConfig」ノードと「serviceInstances」ノードを展開し、最後のserviceInstanceの横の要素を選択します。この要素が、idstore.xmlインスタンスの正しい要素です。
<serviceInstance provider="idstore.xml.provider" name="idstore.xml"> ここには、IDストア構成について詳しく示されています。
この時点では、jazn-data.xmlファイルの確認については気にしないでください。 これについては、次の項で説明します。 Overviewタブに戻って、次のステップに進みます。
|
||||||||||||||||
. |
資格証明ストアの構成 「Credential Store」タブをクリックし、credstoreサービス・インスタンスの構成を表示します。
現在のところ、資格証明ストアが構成されていないため、場所のみ指定されています。 アプリケーションに関連付けられているか、アプリケーション内にパッケージ化されているcwallet.ssoファイルがないため、資格証明ストアがありません。 また、IDストアとポリシー・ストアがファイルベースのXMLファイルであるため、ブートトラップ資格証明ストアは不要です。 次に、ログイン・モジュールの構成について詳しく見てみます。
|
||||||||||||||||
. |
ログイン・モジュールの構成 「Login Modules 」タブをクリックし、ログイン・モジュールの構成を表示します。 idstore.loginmoduleエントリの横にあるプラス記号を展開し、idstore.loginmoduleサービス・インスタンスの構成を表示します。
スクリーンショットのパラメータの定義は次のとおりです。
次に、ADFセキュリティの構成方法について見てみます。
|
||||||||||||||||
. |
OPSSセキュリティを使用するためのADFの構成 JDeveloper IDEを使用して、ADFアプリケーションで使用するセキュリティのタイプを構成できます。 Application Navigatorタブでアプリケーションを右クリックし、「Secure」→「Configure ADF Security」を選択します。
注: 実際にはここで設定を変更しませんが、この構成を行う方法を示しています。 Configure ADF Securityウィザードが表示されます。 最初の画面で、アプリケーションのセキュリティ・モデルを選択できます。 次の3つから選択できます。
これらの各選択肢の詳しい説明を参照するには、ウィザードの最初のページに表示されている「ADF authentication and authorization」リンクをクリックします。 関連するJDeveloperインライン・ヘルプ・システムが開きます。 準備できたら、「Next」をクリックします。
ウィザードの次のステップで、アプリケーションのWebベースの側面で使用する認証のタイプを選択できます。 各選択肢の詳しい説明を参照するには、このウィザード・ページに表示されている「authentication type」リンクをクリックします。 これらの設定の関連するJDeveloperインライン・ヘルプ・システムが開きます。 準備できたら、「Next」をクリックします。
ウィザードの次のステップで、ポリシーによる権限許可をアプリケーションでどのように管理するのかを選択できます。 各選択肢の詳しい説明を参照するには、このウィザード・ページに表示される「ADF policy grants」リンクをクリックします。 これらの設定の関連するJDeveloperインライン・ヘルプ・システムが開きます。 準備できたら、「Next」をクリックします。
ウィザードの次のステップで、このアプリケーションで正しく認証されたユーザーに表示されるWelcomeページを選択できます。 何も構成せずに、すべてをデフォルト値のままにします。準備ができたら「Next」をクリックします。
ウィザードに、この時点までに行った構成の選択の概要が表示されます。 この画面に、ADF、Java EE、WebLogic拡張、およびOPSS構成ファイルの場所、およびアプリケーション内でこれらがパッケージ化されている場所が表示されます。 ADFセキュリティはすでに必要な内容に構成されているため、「Cancel」をクリックしてこれらの設定を無視します。
JDeveloperでADFアプリケーションにjps-config.xmlファイルを構成する方法について説明しました。 次に、OPSSファイルベースのストアjazn-data.xmlを見てみます。
|
. |
Application Resourcesビューで「jazn-data.xml」ファイルをダブルクリックし、エディタでファイルを開きます。 注: jazn-data.xmlファイルはOpssADFDemoAppのMETA-INFフォルダ内にパッケージ化されているため、OPSSセキュリティ・ストアはファイルベースになっています。 この手順を実行すると分かるように、このファイルも、アプリケーションのファイルベースのIDストアとして機能します。 そのため、ADF開発者は、LDAPベースのIDストアを実行、構成、または接続しなくても、ユーザー、グループ、ロールをすばやく容易に作成して、アプリケーションをテストできます。 また、LDAPまたはデータベース・セキュリティ・ストアを実行、構成、または接続しなくても、アプリケーションのセキュリティ・ポリシーをすばやく容易に作成できます。 すべてがアプリケーション内で自己完結しています。 アプリケーションがOPSS対応のサーバーにデプロイされると、OPSSセキュリティ・ストアのデータが、WebLogicドメインに構成されているOPSSセキュリティ・ストアにマージされます。 ユーザーとグループのデータは、一般に、環境によって異なるため、通常、IDストアのデータはマージされません。
ファイルを選択していない場合は、「Overview」タブをクリックして、ファイルをグラフィカルに表示します。 このチュートリアルでは、このファイル表示を使用しています。 必要に応じて、「Source」タブを使用してファイルを確認することもできます。このタブでは、ファイルのXMLソース全体が表示されます。
次のような画面が表示されます。
この画面には、jazn-data.xmlファイルの構成設定が表示されます。 次の構成設定が含まれています。 Users、Enterprise Roles(またはGroups)、Application Roles、Resource Grants、Entitlement Grants。 デフォルト・ページではUsersが選択されており、ここに示されているように表示されます。 開発の目的で、Jane Doe とJohn Smithの2つのユーザーがファイル内に構成されています。 まず、Usersタブを確認します。
|
|---|---|
. |
ユーザーの構成 Usersタブには、ADF開発環境に構成され、jazn.comセキュリティ・レルムの一部として定義されているユーザーが表示されます。 このページで、次のことを制御します。
少し時間をとってこのページを確認し、このページの内容を把握します。 準備ができたら、次のステップに進みます。
次に、エンタープライズ・ロールの構成について見てみます。
|
. |
エンタープライズ・ロールの構成 「Enterprise Roles」タブをクリックし、IDストアに構成されているエンタープライズ・ロールの構成を表示します。 このページで、次のことを制御します。
少し時間をとってこのページを確認し、このページの内容を把握します。また、以下の質問に回答してください。
次に、アプリケーション・ロールの構成について見てみます。
|
. |
アプリケーション・ロールの構成 「Application Roles」タブをクリックし、OPSSセキュリティ・ストアに構成されているアプリケーション・ロールの構成を表示します。 このページで、次のことを制御します。
次のスクリーンショットでは、Managerロールがすでに展開され、Developerロールが子ロールであることを示しています。 これは、アプリケーション・ロール階層の一例です。 Managerロールに作成されたポリシーは、Developerロールにも自動的に適用されます。 少し時間をとってこのページを確認し、このページの内容を把握します。また、以下の質問に回答してください。
回答
次に、リソース権限付与の構成について見てみます。
|
. |
リソース権限付与の構成 「Resource Grants」タブをクリックし、OPSSセキュリティ・ストアに構成されている、アプリケーション・リソースへのアクセス権を付与するポリシーの構成を表示します。 このページで、次のことを制御します。
このページで、taskFlowCall1タスク・フローの表示権限をauthenticated-roleのすべてのユーザーに付与するポリシーが定義されています。 ポリシー、つまりリソース権限付与が表示されない場合、「 少し時間をとってこのページを確認し、内容を把握したら、このステップを続行します。
JDeveloperによってこれがADFアプリケーションであることが認識されて、jazn-data.xml ファイルのグラフィカルな表示にADFフォーカスが追加されます。 そのままで使用できるリソース・タイプは、Task FlowとWeb Pageです。 これらのリソース・タイプのいずれかを選択すると、選択したリソース・タイプの利用可能なADFアプリケーション・リソースがビューに表示され、これらのADFアプリケーション・リソースにセキュリティ・ポリシーを構成できるようになります。 taskFlowCall1リソースのリソース権限付与を表示できるのと同様に、リソース・タイプをWeb Pageに変更できます。変更すると、以下のスナップショットに示すように、ADFアプリケーションのWebページが表示されます。 このアプリケーションのいずれのWebページにもポリシーが定義されていないことも確認できます。
Resource Typeとして「Web Page」を選択し、表示された各Webページを選択すると、ポリシー認可の権限付与がないことが分かります。 この画面のソース・プロジェクトは、現在、ViewControllerに設定されています。 Source Projectの横にある検索アイコンをクリックして、フィルタにModelソース・プロジェクトを追加すると、このプロジェクトのリソースを一覧に表示できます。 ただし、Modelプロジェクトにはソースは一切存在しないため、ここでは、この操作は時間の無駄になります。 また、Resource Typeドロップダウン・リストの横にある「 使用する予定がない場合でも、新しいリソース・タイプを作成してみます。
リソース・タイプは、OPSSによって保護できる実際のリソースではありません。リソース・インスタンスを取得するテンプレートのようなものです。 リソース・インスタンスは、OPSSによって保護できます。 また、Resource Grantsページで使用している設定に関係なく、使用するリソース・タイプと一致するリソースが表示されます。 これは、使用するリソース・タイプが、認識されているADFリソース・タイプでないためです。 Source Projectフィルタに<Not Applicable>と表示されることから、これが分かります。 つまり、このリソース・タイプに対して、独自のリソースを作成し、アプリケーション・コード内のOPSS APIを使用する必要があるこれらのリソースに、認可を適用する必要があります。 これは、ADF OPSSに対応していないJava EEアプリケーションが動作するしくみと同じです。 次に、新しいリソース・インスタンスを作成します。
リソース・インスタンスを作成しました。 次に、リソース権限付与を作成して、特定のユーザーがリソースで特定の権限を実行できるようにする必要があります。 新しいリソース権限付与を作成します。
<resource-types> 次に、エンタイトルメント権限付与の構成について見てみます。
|
. |
エンタイトルメント権限付与の構成 「Entitlement Grants」タブをクリックし、OPSSセキュリティ・ストアに構成されている、アプリケーション・リソースへのアクセス権を付与するポリシーの構成を表示します。 このページで、次のことを制御します。
このアプリケーションでは、現在、エンタイトルメントは使用されていません。 次のページでは、エンタイトルメント構成ツールの場所を示しています。 必要に応じて、Entitlementsセクションのプラス記号アイコンをクリックして、独自のエンタイトルメントを作成できます。
|
JDeveloperでのOpssADFDemoAppの確認のOBEを完了しました。
このチュートリアルで学習した内容は、以下のとおりです。
著者
![]()
|
Copyright © 2012, Oracle and/or its affiliates. All rights reserved |