1 REST APIについて

この章では、資格証明およびキーストアの管理のためのOracle Fusion Middleware Representational State Transfer (REST) APIの概要を示します。

次の内容について説明します。

1.1 REST APIの概要

資格証明およびキーストアを管理するREST APIは、ドメインおよびWebサービスの資格証明ストア、キーストアおよびトラスト・ストアを作成および構成するためのエンドポイントを提供します。

RESTエンドポイントには、Webブラウザとクライアント・アプリケーションからアクセスできます。

Oracle WSM RESTエンドポイントは、次のような言語で開発されたRESTクライアント・アプリケーションで使用することもできます。

  • JavaScript

  • Ruby

  • Perl

  • Java

  • JavaFX

REST APIを使用する前に、次の項で説明するいくつかの重要なコンセプトを理解する必要があります。

1.2 セキュリティ・ストアのURL構造

特定のURL構造を使用してセキュリティ・ストアを管理できます。

セキュリティ・ストアの管理には、次のURLを使用します。

http(s)://host:port/idaas/contextpath/admin/v1/resource

各要素の意味は次のとおりです。

  • host:port: Oracle Fusion Middlewareを実行しているホストおよびポート。

  • contextpath: RESTリソースのコンテキスト・パス。この値は、ドメイン全体に適用されるリソース(キーストア管理や資格証明管理のリソースなど)の場合はplatform、特定のWebサービスに適用されるリソース(信頼管理のリソースなど)の場合はwebserviceに設定できます。

  • resource: RESTリソースを定義する相対パス。詳細は、「REST APIリファレンス」を参照してください。Web Application Definition Language (WADL)ドキュメントにアクセスする場合は、application.wadlを指定します。

1.3 RESTを使用したOracle WSMインスタンスの作成と管理

Oracle WSM RESTエンドポイントは、Oracle WSMインスタンスを作成および管理するための標準メソッドをサポートします。

RESTメソッド タスク

GET

RESTリソースに関する情報を取得します。

POST

RESTリソースを追加します。

PUT

RESTリソースを更新します。

DELETE

RESTリソースを削除します。

1.4 RESTリソースの認証

Oracle Fusion Middleware RESTリソースにHTTPでアクセスできますが、Oracle WebLogic Server管理者のユーザー名とパスワードを入力する必要があります。

たとえば、cURLを使用して認証するには、-u cURLオプションを使用してユーザー名とパスワード(たとえば、SmithとPassword)を渡します。

curl -i -X GET -u Smith:Password http://myhost:7001/idaas/platform/admin/v1/keystore

リクエスト本文でデータを送信しないPOSTおよびDELETEメソッドでは、キーストアまたはキーがパスワードで保護されている場合、カスタム・ヘッダーで、Base64で暗号化されたキーストアおよびキーのパスワードを渡す必要があります。次に例を示します。

curl -i -X DELETE -u Smith:Password -H keystorePassword:Base64EncodedPassword -H keyPassword:Base64EncodedPassword  http://myhost:7001/idaas/platform/admin/v1/keystoreservice/certificates?"stripeName=myStripe&keystoreName=myKeystore&keyAlias=myAlias"

1.5 HTTPメソッドのHTTPステータス・コード

このトピックで説明するリソースの操作に使用するHTTPメソッドは、次のHTTPステータス・コードのいずれかを返します。

HTTPステータス・コード 説明

200 OK

リクエストは正常に完了しました。ステータス200は、GETまたはPOSTメソッドが成功した場合に返されます。

201 Created

要求が満たされ、新規リソースが作成されます。レスポンスには、新たに作成されたリソースの正規のURIを含むLocationヘッダーが含まれています。

ステータス201は、同期リソースの作成、またはレスポンスが返される前に完了した非同期リソースの作成から返されます。

202 Accepted

要求の処理は受け入れられましたが、処理は完了していません。要求は、実際に処理される時に拒否される可能性があるため、最終的に処理されない場合もあります。

非同期(__detached=true)リソースの作成(アプリケーションのデプロイ時など)または更新(アプリケーションの再デプロイ時など)を指定した場合、操作がまだ進行中である場合に202が返されます。__detached=falseの場合、基本となる操作が適切な時間内に完了しない場合に202が返されることがあります。

クライアントは、レスポンスに含まれるジョブ・リソースのLocationヘッダーを調べて、ジョブが終了した時期を確認する必要があります。ジョブの現在の状態を表すエンティティも返されます。

400 Bad Request

情報が欠落しているか不適切であるため(入力フィールドの検証エラー、必須値の欠落など)、リクエストを処理できませんでした。

401 Unauthorized

リクエストが認可されていません。このリクエストに認証資格証明がないか、または無効です。

403 Forbidden

ユーザーを認証できません。ユーザーにはこのリクエストを実行する権限がありません。

404 Not Found

リクエストには、存在しないリソースURIが含まれています。

405 Method Not Allowed

リクエストに指定されたHTTP動詞(DELETEGETPOSTPUT)は、このリクエストURIではサポートされていません。

406 Not Acceptable

このリクエストによって識別されたリソースは、リクエストのAcceptヘッダーのいずれかのメディア・タイプに対応する表現を生成できません。たとえば、クライアントのAcceptヘッダーがXMLを返すように要求しているが、リソースとして返すことができるのはJSONのみである場合。

415 Not Acceptable

クライアントのContentTypeヘッダーが正しくありません(たとえば、クライアントがXMLでリクエストを送信しようとしたが、リソースがJSONのみを受理できる場合)。

500 Internal Server Error

サーバーに予期せぬ状態が発生し、リクエストを処理できませんでした。

503 Service Unavailable

サーバーが一時的に高負荷の状態にあるかメンテナンス中であるため、リクエストを処理できません。Oracle WSM REST Webアプリケーションは現在実行されていません。