Oracle® Fusion Middleware Oracle Web Services ManagerによるWebサービスの保護のユース・ケース 12c (12.1.3) E59408-02 |
|
![]() 前 |
![]() 次 |
この章では、RESTful Webサービスでのセキュリティ・アイデンティティの伝播方法について説明します。
実行サマリー
ユース・ケース | RESTful Webサービスでセキュリティ・アイデンティティを伝播します。たとえば、ユーザーがブラウザ経由でWebポータルにアクセスし、資格証明の入力を求められた場合、Webポータルでユーザー・リクエストを完了するためにアクセスする必要があるバックエンド・サービスにこれらの資格証明が伝播される可能性があります。 |
実装サマリー | RESTful Webサービスおよびクライアントを作成し、Oracle Web Services Manager (OWSM) SAMLポリシーを使用して保護します。 |
コンポーネント |
|
必須ドキュメント | このユース・ケースを完了するには、次のドキュメント・リソースを参照してください。
|
この章には、次のセクションがあります。
このユース・ケースは、次の操作に必要な手順を示します。
JDeveloperを使用して簡単なHelloWorld
RESTful Webサービスを作成します。
javax.ws.rs.core.SecurityContext
を使用して、出力メッセージに認証済ユーザーの名前を表示します。
WARファイルとしてRESTful WebサービスをWebLogic Serverにデプロイします。
HelloWorld
RESTful Webサービスをテストします。
JDeveloperを使用して、RESTful WebサービスのRESTfulクライアント・プロキシを作成および保護します。
SAMLセキュリティに必要なキーストアおよび証明書を設定します。
RESTfulクライアント・プロキシを検証します。
このユース・ケースは次のタスクを含みます。
開始する前に、次のタスクが実行されていることを確認してください。
次の製品コンポーネントをダウンロードおよびインストールします。
Oracle Fusion Middleware - OWSMを含む
詳細は、Oracle Fusion MiddlewareのインストールのプランニングのOracle Fusion Middlewareインストールの準備に関する項を参照してください。
Oracle JDeveloper
これは、このドキュメントのユース・ケースのサブセットにのみ必要です。
Oracle Fusion Middlewareソフトウェアの入手先とダウンロードの詳細は、OTNでOracle Fusion Middlewareダウンロード、インストール、構成のReadmeファイルを参照してください。
WebLogicドメインを構成します。
完全な手順は、『構成ウィザードによるWebLogicドメインの作成』のWebLogicドメインの作成に関する項を参照してください。
ドメインの管理サーバーを起動します。
完全な手順は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動と停止に関する項を参照してください。
次の管理ツールにアクセスできることを確認します。
Oracle Enterprise Manager Fusion Middleware Control:
http://localhost:7001/em
Oracle WebLogic Server管理コンソール
http://localhost:7001/console
次のタスクを実行して、RESTful Webサービスを作成、保護およびデプロイします。
JDeveloperを使用した簡単なhelloworld RESTful Webサービスを作成するには:
注意: JDeveloperを使用する場合のヘルプは、[F1]を押すか、「ヘルプ」をクリックします。 |
JDeveloperを起動します。
完全な手順は、『Oracle Jdeveloperのインストール』のOracle JDeveloper Studioのインストール後の次の手順に関する項を参照してください。
「Javaデスクトップ・アプリケーション」ウィザードを使用して、アプリケーションとプロジェクトを作成します。
「ファイル」→「新規」→「アプリケーション」、「一般」→「アプリケーション」→「Javaデスクトップ・アプリケーション」の順に選択して、「Javaデスクトップ・アプリケーション」ウィザードを起動します。
次の特性を定義します。
アプリケーション名: rest-saml-idprop
アプリケーション・パッケージの接頭辞: examples.wsm.helloworld
プロジェクト名: service
デフォルト・パッケージ: examples.wsm.helloworld
他のすべての値は、デフォルトを使用します。
完全な手順は、『Oracle JDeveloperによるアプリケーションの開発』のアプリケーションとプロジェクトの作成に関する項を参照してください。
「Javaクラスの作成」
ウィザードを使用して、serviceプロジェクトに新しいJavaクラスを作成します。
serviceプロジェクトを右クリックして「新規」→「Javaクラス」を選択し、「Javaクラスの作成」ウィザードを起動します。
次の特性を定義します。
名前: HelloWorldIdPropSample
パッケージ: examples.wsm.helloworld
他のすべての値は、デフォルトを使用します。
HelloWorldIdPropSample.java
ファイルが作成され、JDeveloperで開きます。
完全な手順は、『Oracle Jdeveloperによるアプリケーションの開発』の新しいJavaクラスまたはインタフェースの作成方法に関する項を参照してください。
次の太字
に示されているように、hello()メソッドをJavaクラスに追加します。
package examples.wsm.helloworld; public class HelloWorldIdPropSample { public HelloWorldIdPropSample() { super(); } public String hello() { return "Hello"; } }
「JavaクラスからのRESTfulサービスの作成」ウィザードを使用して、JavaクラスからRESTfulサービスを作成します。
HelloWorldIdPropSample.javaを右クリックして「RESTfulサービスの作成」を選択し、「JavaクラスからのRESTfulサービスの作成」ウィザードを起動します。
次の特性を定義します。
プラットフォーム: JAX-RS 1.xスタイル
ルート・パス: helloworld
HTTPメソッドの構成: hello
メソッド: GET
生成: text/plain
パス: user
完全な手順は、『Oracle Jdeveloperによるアプリケーションの開発』のRESTful Webサービスの作成に関する項を参照してください。
コードが次のように更新されます。
package examples.wsm.helloworld; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @Path("helloworld") public class HelloWorldIdPropSample { public HelloWorldIdPropSample() { super(); } @GET @Produces("text/plain") @Path("user") public String hello() { return "Hello"; } }
次の手順は、javax.ws.rs.core.SecurityContext
を使用した認証済ユーザーの取得方法を示しています。詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』のSecurityContextを使用したRESTful Webサービスの保護に関する項を参照してください。
SecurityContext
を使用した認証済ユーザーを取得するには:
javax.ws.rs.core.Context
アノテーションを使用してインスタンスをクラス・フィールド、セッター・メソッドまたはメソッド・パラメータに注入することで、SecurityContext
にアクセスします。
前の手順で作成したhello()
メソッドを更新して、次のようにSecurityContext
を使用して取得した認証済ユーザー名を出力します。
package examples.wsm.helloworld; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.SecurityContext; import javax.ws.rs.core.Context; import java.security.Principal; @Path("helloworld") public class HelloWorldIdPropSample { public HelloWorldIdPropSample() { super(); } @GET @Produces("text/plain") @Path("user") public String hello(@Context SecurityContext sc) { String user = "No user"; if (sc != null) { Principal p = sc.getUserPrincipal(); if (p != null) { user = p.getName(); } } return "Hello " + user; } }
「タスク2: RESTful Webサービスの作成」の説明に従って「JavaクラスからのRESTfulサービスの作成」ウィザードを使用してRESTful Webサービスを作成した場合、JDeveloperにより、プロジェクトがWebプロジェクトに自動的に変更され、web.xml
ファイルが追加されました。デフォルトでは、Webプロジェクトのサーブレット名はjersey
です。
Web Content/WEB-INF
フォルダにあるweb.xml
ファイルを編集して、helloworldなどのわかりやすい名前を指定します。次に例を示します。
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
</web-app>
RESTful Webサービスを保護するために、いずれかのOWSM事前定義済セキュリティ・ポリシーをアタッチできます。OWSM事前定義済セキュリティ・ポリシーは、Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のRESTful WebサービスでサポートされているOWSMポリシーに関する項に記載されています。
「ポリシー」ウィザードを使用して次のポリシーをアタッチし、RESTful Webサービスを保護します: oracle/multi_token_rest_service_policy
web.xmlファイルを右クリックして「RESTfulアプリケーションの保護」
を選択し、「ポリシー」ウィザードを起動します。
セキュリティ・ポリシー構成がWeb Content/WEB-INF
フォルダの次に示すようなwsm-assembly.xml
デプロイメント・ディスクリプタ・ファイルに保存されます。wsm-assembly.xml
ファイルが存在しない場合は作成されます。
<orawsp:wsm-assembly xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"> <sca11:policySet xmlns:sca11="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="policySet" appliesTo="REST-RESOURCE()" attachTo="SERVICE('helloworld')" orawsp:highId="1" xml:id="REST-RESOURCE__SERVICE__helloworld__"> <wsp:PolicyReference xmlns:wsp="http://www.w3.org/ns/ws-policy" DigestAlgorithm="http://www.w3.org/ns/ws-policy/Sha1Exc" URI="oracle/multi_token_rest_service_policy" orawsp:status="enabled" orawsp:id="1"/> </sca11:policySet> </orawsp:wsm-assembly>
完全な手順は、『Oracle Jdeveloperによるアプリケーションの開発』のRESTfulサービスへのポリシーのアタッチに関する項を参照してください。
WARファイルとしてRESTful Webサービス・アプリケーションをWebLogic Serverにデプロイします。
RESTful Webサービスをデプロイするには:
Webアプリケーションのデプロイメント・プロファイルを作成します。
「デプロイメント・プロファイルの作成」ウィザードを使用して、プロファイルのタイプおよび名前を定義します。
serviceプロジェクトを右クリックして「デプロイ」→「新規デプロイメント・プロファイル」を選択して、「デプロイメント・プロファイルの作成」ウィザードを起動します。
次の特性を定義します。
- プロファイル・タイプ: WARファイル
- デプロイメント・プロファイル名: helloworld
「WARデプロイメント・プロファイルのプロパティの編集」ウィザードを使用して、Webアプリケーションのコンテキスト・ルートを定義します。
「デプロイメント・プロファイルの作成」ウィザードで「OK」をクリックすると、「WARデプロイメント・プロファイルのプロパティの編集」ウィザードが自動的に起動します。
次の特性を定義します。
- Java EE Webコンテキスト・ルートを指定: rest-saml-idprop
「<アプリケーション>のデプロイ」ウィザードを使用して、Webアプリケーションをデプロイします。
serviceアプリケーションを右クリックして「デプロイ」→「helloworld」を選択して、「<アプリケーション>のデプロイ」ウィザードを起動します。
次の特性を定義します。
デプロイメント・アクション: WARにデプロイ
構成されたプロジェクト・ディレクトリのWARファイルを表示します。次に例を示します。
c:\JDeveloper\mywork\rest-saml-idprop\service\deploy\helloworld.war
RESTful WebサービスをデプロイするWebLogic Serverを起動したことを確認してください。
Fusion Middleware Controlを起動し、WARファイルをデプロイします。
http://localhost:7001/em
Java EEアプリケーションのデプロイ・アシスタントを使用して、WARファイルをデプロイします。
Java EEアプリケーションのデプロイ・アシスタントにアクセスします。ナビゲーション・ペインの「WebLogicドメイン」→domainname→「AdminServer」を選択し、コンテンツ・ペインの「Weblogicサーバー」→「デプロイメント」を選択して、「デプロイ」をクリックすることで、Java EEアプリケーションのデプロイ・アシスタントにアクセスします。
詳細は、『Oracle Fusion Middlewareの管理』のJava EEアプリケーションのデプロイに関する項を参照してください。
Fusion Middleware Controlを使用して、RESTful Webサービス・アプリケーションをテストします。
RESTful Webサービスをテストするには:
Fusion Middleware Controlを起動します。
http://localhost:7001/em
RESTful Webサービス・アプリケーションのサマリー・ページを表示します。
ナビゲータ・ペインで、「アプリケーションのデプロイ」フォルダを開いてドメインのアプリケーションを開き、アプリケーションのデプロイを開き、helloworld (AdminServer)アプリケーション名を選択します。
コンテンツ・ペインで「アプリケーションのデプロイ」、「Webサービス」を順に選択します。
ページの「Webサービスの詳細」セクションで、「RESTfulサービス」タブをクリックし、アプリケーション名「helloworld」をクリックして「RESTfulサービス・アプリケーション」ページに移動します。
完全な手順は、『Webサービスの管理』のRESTfulサービス・アプリケーションの詳細の表示に関する項を参照してください。
「RESTfulサービスのテスト」をクリックします。
RESTful Webサービス・アプリケーションWADLファイルが自動的に解析されます。デフォルトでは、GET(hello)
メソッドが選択されます(これがアプリケーションで使用可能な唯一のメソッドであるため)。
テスト・クライアントを構成します。
「リクエスト」タブで、「OWSMセキュリティ・ポリシー」を選択します。
「クライアント・ポリシー」リストのoracle/wss_http_token_client_policyを選択します。
「構成プロパティのユーザー名とパスワード」フィールドにweblogicとwelcome1を入力します。
「Webサービスのテスト」をクリックします。
次の情報が「レスポンス」タブで戻されます。
Hello weblogic
詳細は、『Webサービスの管理』のWebサービスのテストに関する説明を参照してください。
次のタスクを実行して、RESTfulクライアントを作成および保護します。
JDeveloperを使用して簡単なRESTfulクライアントを作成するには:
「Webプロジェクト作成」ウィザードを使用して、新しいWebプロジェクトを作成します。
「ファイル」→「新規」→「プロジェクト」、「Webプロジェクト」の順に選択して、「Javaデスクトップ・アプリケーション」ウィザードを起動します。
次の特性を定義します。
場所
プロジェクト名: rest-client
Webアプリケーション
サーブレット3.0/JSP 2.2 (Java EE 6)
Webプロジェクト・プロファイル
Java EE Webアプリケーション名: rest-saml-idprop-client
Java EEコンテキスト・ルート: rest-saml-idprop-client
他のすべての値は、デフォルトを使用します。
完全な手順は、『Oracle JDeveloperによるアプリケーションの開発』のアプリケーションとプロジェクトの作成に関する項を参照してください。
「HTTPサーブレット作成」ウィザードを使用して、RESTfulクライアントとして機能するHTTPサーブレットを作成します。
rest-clientプロジェクトを右クリックして「新規」→「ギャラリから」、「Web層」→「サーブレット」→「HTTPサーブレット」の順に選択し、「HTTPサーブレット作成」ウィザードを起動します。
次の特性を定義します。
サーブレット情報
クラス: HelloWorldServlet
サーブレット・マッピング
URLパターン: /hellorestclient
他のすべての値は、デフォルトを使用します。
HelloWorldServlet.java
ファイルがプロジェクト・ディレクトリ内に作成され、JDeveloperで自動的に開きます。
完全な手順は、『Oracle JDeveloperによるアプリケーションの開発』のHTTPサーブレットの生成方法に関する項を参照してください。
RESTfulクライアントおよびプロキシの作成ウィザードを使用して、RESTfulクライアント・プロキシを作成します。
rest-clientプロジェクトを右クリックして「新規」→「ギャラリから」、「ビジネス層」→「Webサービス」→「RESTfulクライアントおよびプロキシ」の順に選択して、RESTfulクライアントおよびプロキシの作成ウィザードを起動します。
次の特性を定義します。
デプロイメント・プラットフォームの選択
Jersey 1.xスタイル
WADLの選択
URL: http://localhost:7001/rest-saml-idprop/resources/application.wadl
プロキシ名のカスタマイズ
クラス名: HelloWorldRestClient
クライアント・ポリシー構成
セキュリティ・ポリシー: oracle/http_saml20_token_bearer_client_policy
他のすべての値は、デフォルトを使用します。
完全な手順は、『Oracle Jdeveloperによるアプリケーションの開発』のRESTful Webサービス・クライアントの作成方法に関する項を参照してください。
次に太字で示されているように、HelloWorldServlet
HTTPサーブレットを変更して、RESTfulクライアントを呼び出します。
package examples.wsm.helloworld; ... import com.sun.jersey.api.client.Client; import examples.wsm.helloworld.HelloWorldRestClient.Helloworld; ... public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); Client client = HelloWorldRestClient.createClient(); HelloWorldRestClient.Helloworld hello = HelloWorldRestClient.helloworld(client); String output = hello.user().getAsTextPlain(String.class); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>HelloWorldServlet</title></head>"); out.println("<body>"); out.println("<p>The servlet has received a GET. This is the reply.</p>"); out.println("<p>Output from RESTful service:" + output + "</p>"); out.println("</body></html>"); out.close(); } }
次に示すようにWeb Content/WEB-INF
フォルダにあるrest-clientプロジェクトのweb.xml
ファイルを編集して、サーブレットWebアプリケーションを保護します。
「サーブレット」で、次のようにHelloWorldServletのエントリを追加します。
名前: HelloWorldServlet
タイプ: サーブレット・クラス
サーブレット・クラス/JSPファイル: examples.wsm.helloworld.HelloWorldServlet
「セキュリティ」で、次の値を構成します。
ログイン認証
HTTP基本認証
セキュリティ・ロール
webuser
セキュリティ制約: Webリソース収集
Webリソース名: 成功
適用先: すべてのHTTPメソッド
URLパターン: /hellorestclient
セキュリティ制約: 認可
権限: 有効
セキュリティ・ロール: webuser
web.xml
は、次のように更新されます。
<?xml version = '1.0' encoding = 'windows-1252'?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>examples.wsm.helloworld.HelloWorldServlet</servlet-class> </servlet> <security-constraint> <web-resource-collection> <web-resource-name>Success</web-resource-name> <url-pattern>/hellorestclient</url-pattern> </web-resource-collection> <auth-constraint> <role-name>webuser</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> </login-config> <security-role> <role-name>webuser</role-name> </security-role> </web-app>
weblogic.xml
デプロイメント・ディスクリプタを作成するには:
「WebLogicデプロイメント・ディスクリプタの作成」
ウィザードを使用して、weblogic.xmlデプロイメント・ディスクリプタを作成します。
rest-clientプロジェクトを右クリックして、「新規」→「ギャラリから」、「一般」→「デプロイメント・ディスクリプタ」→「WebLogicデプロイメント・ディスクリプタ」の順に選択して、「WebLogicデプロイメント・ディスクリプタの作成」ウィザードを起動します。
次の特性を定義します。
選択記述子
記述子: weblogic.xml
バージョンを選択
バージョン: 12.1.2
weblogic.xml
ファイルがWebContent/WEB-INF
フォルダに作成され、JDeveloperで自動的に開きます。
「セキュリティ」で、次の値を構成します。
ロール割当てとして実行
ロール名: webuser
プリンシパル: weblogic
weblogic.xml
ファイルが次のように作成されます。
<?xml version = '1.0' encoding = 'windows-1252'?> <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.5/weblogic-web-app.xsd" xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"> <security-role-assignment> <role-name>webuser</role-name> <principal-name>weblogic</principal-name> </security-role-assignment> </weblogic-web-app>
WARファイルとしてRESTfulクライアント・アプリケーションをWebLogic Serverにデプロイします。
クライアントをデプロイするには:
Webアプリケーションのデプロイメント・プロファイルを作成します。
「デプロイメント・プロファイルの作成」ウィザードを使用して、プロファイルのタイプおよび名前を定義します。
rest-clientプロジェクトを右クリックし、「デプロイ」→「新規デプロイメント・プロファイル」を選択して、「デプロイメント・プロファイルの作成」ウィザードを起動します。
次の特性を定義します。
- プロファイル・タイプ: WARファイル
- デプロイメント・プロファイル名: helloworld-restclient
「WARデプロイメント・プロファイルのプロパティの編集」ウィザードを使用して、Webアプリケーションのコンテキスト・ルートを定義します。
「デプロイメント・プロファイルの作成」ウィザードで「OK」をクリックすると、「WARデプロイメント・プロファイルのプロパティの編集」ウィザードが自動的に起動します。
次の特性を定義します。
- 一般: Java EE Webコンテキスト・ルートを指定: rest-saml-idprop-client
「<アプリケーション>のデプロイ」ウィザードを使用して、Webアプリケーションをデプロイします。
rest-clientアプリケーションを右クリックして、「デプロイ」→helloworld-restclientを選択して、「<アプリケーション>のデプロイ」ウィザードを起動します。
次の特性を定義します。
デプロイメント・アクション: WARにデプロイ
構成されたプロジェクト・ディレクトリのWARファイルを表示します。次に例を示します。
c:\JDeveloper\mywork\rest-saml-idprop\rest-client\deploy\helloworld-restclient.war
Fusion Middleware Controlを起動し、WARファイルをデプロイします。
http://localhost:7001/em
詳細は、『Oracle Fusion Middlewareの管理』のJava EEアプリケーションのデプロイに関する項を参照してください。
次の手順「タスク14: キーストア・サービス(KSS)の設定」の説明に従ってキーストア・サービス(KSS)が構成されるまで、RESTful Webサービス・クライアントへのアクセスが失敗します。
ブラウザでRESTful Webサービス・クライアントにアクセスするには、ブラウザで次のURLを入力して、RESTful Webサービスをテストします。
http://<host>:<port>/rest-saml-idprop-client/hellorestclient
プロンプトが表示されたら、WebLogic Serverのユーザー名とパスワードを入力します。たとえば、weblogicとwelcome1です。
次のエラーが戻されるので注意してください: Error 500--Internal Server Error.
次に、KSSを設定します。
OWSMは公開鍵暗号化を使用してSAMLベアラー・トークンに署名するため、キーストアの設定が必要です。鍵とキーストアにより、メッセージ保護を構成するための基本が提供されます。
KSSを使用する理由
KSSは、Oracle Platform Security Services (OPSS)によって提供されるサービスです。KSSには、JKSを介した次の利点があります:
統合されたツール
Fusion Middleware ControlまたはWLSTを使用して、KSSキーおよび証明書のCRUD操作を実行します。
CA署名キーと証明書を生成する内部CA。
向上したライフサイクル管理
複数のドメインで同じキーストアを共有する機能は、記憶域を一元化して簡略化されます(たとえば、データベース記憶域など)。
キーストアを分離する機能(たとえば、OWSMでは「ストライプ」の概念から独自のキーストアを持つことができます。)
パスワードがキーストアの秘密鍵にアクセスするために必要ない場合の簡略化された管理。
KSSの設定
KSSキーストアを設定するには:
Fusion Middleware Controlを起動します。
http://localhost:7001/em
「キーストア」ページからキーストアを作成します。
「キーストア」ページに移動するには、「WebLogicドメイン」→「セキュリティ」→「キーストア」を選択します。
「ストライプの作成」をクリックして、次の特性を定義します。
- ストライプ名: owsm
リストでowsmを選択して、「キーストアの作成」をクリックして、次の特性を定義します。
- キーストア名: keystore
- 保護: ポリシー
- 権限の付与: 無効
完全な手順は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のメッセージ保護のOPSSキーストア・サービスの使用に関する項を参照してください。
「鍵ペアの生成」ダイアログを使用して、鍵ペアを生成します。
「鍵ペアの生成」ダイアログに移動するには、「キーストア」ページのowsm→keystoreを選択し、「管理」、「鍵ペアの生成」の順にクリックします。
次の特性を定義します。
別名: orakey
共通名: orakey
組織単位: us
国: アメリカ合衆国
RSAキー・サイズ: 1024
完全な手順は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のメッセージ保護のOPSSキーストア・サービスの使用に関する項を参照してください。
democa
CA証明書をowsm
ストライプにインポートします。
デフォルトでは、鍵ペアはKSSに同梱されているdemoca
CAによって署名されます。
使用している証明書を表示するには、「キーストア」ページのowsm→keystoreを選択して、「管理」、orakey別名の順にクリックして、「別名: orakeyの証明書の詳細 」ダイアログを表示します。
OWSMエージェントが署名の証明書の証明書パスを検証できないため、CAをowsm
キーストアにインポートするまで、サーバー側の証明書の検証に失敗します。
system
ストライプ内のcastore
キーストアからdemoca
CA証明書をエクスポートし、owsm
ストライプ内のorakey
キーストアにインポートします。
democa
CA証明書をエクスポートするには、「キーストア」ページの「system」→castoreを選択し、「管理」をクリックし、democa別名を選択し、「エクスポート」をクリックします。
「証明書」ダイアログで、「証明書のエクスポート」をクリックしてローカル・ファイルに保存します(またはコンテンツを任意のファイルにコピーして貼り付けます)。
完全な手順は、『Oracle Platform Security Servicesによるアプリケーションの保護』のFusion Middleware Controlを使用した証明書または信頼できる証明書のエクスポートに関する項を参照してください。
democa
CA証明書をインポートするには、「キーストア」ページのowsm→keystoreを選択し、「管理」、「インポート」の順にクリックします。
次の特性を定義します。
- 証明書タイプ: 信頼できる証明書
- 別名: democa
- 証明書または証明連鎖を含むファイルの選択: 有効
「ファイルの選択」をクリックし、エクスポートされた証明書ファイルに移動し、「開く」をクリックし、「OK」をクリックして証明書をインポートします。
完全な手順は、『Oracle Platform Security Servicesによるアプリケーションの保護』のFusion Middleware Controlを使用した証明書または信頼できる証明書のインポートに関する項を参照してください。
テスト・ユーザーを作成するには:
WebLogic Server管理コンソールを起動します。次に例を示します。
http://localhost:7001/console
完全な手順は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの管理コンソールの起動に関する項を参照してください。
パスワードwelcome1を使用して、testuserという名前のユーザーを作成します。
完全な手順は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーの作成に関する項を参照してください。
JDeveloperで、Web Content/WEB-INF
フォルダにあるrest-client
プロジェクトのweblogic.xml
ファイルを編集して、testuser
をwebuser
ロールにマップします。
「セキュリティ」→「セキュリティ・ロールの割当て」で、webuserを選択して、有効なプリンシパルとしてtestuserを追加します。
ブラウザでRESTful Webサービス・クライアントにアクセスするには、ブラウザで次のURLを入力して、RESTful Webサービスをテストします。
http://<host>:<port>/rest-saml-idprop-client/hellorestclient
プロンプトが表示されたら、WebLogic Serverのユーザー名とパスワードを入力します。たとえば、weblogicとwelcome1またはtestuserとwelcome1です。
次のメッセージがブラウザで戻されます。
The servlet has received a GET. This is the reply. Output from RESTful service: Hello testuser
Fusion Middleware ControlのWeb Servicesテスト・クライアントまたは「Webサービスのテスト」ページを使用して、Webサービスの基本機能および拡張機能をテストできます。詳細は、『Webサービスの管理』のWebサービスのテストに関する説明を参照してください。