1 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メソッド | タスク |
---|---|
|
RESTリソースに関する情報を取得します。 |
|
RESTリソースを追加します。 |
|
RESTリソースを更新します。 |
|
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は、 |
201 Created |
要求が満たされ、新規リソースが作成されます。レスポンスには、新たに作成されたリソースの正規のURIを含むLocationヘッダーが含まれています。 ステータス201は、同期リソースの作成、またはレスポンスが返される前に完了した非同期リソースの作成から返されます。 |
202 Accepted |
要求の処理は受け入れられましたが、処理は完了していません。要求は、実際に処理される時に拒否される可能性があるため、最終的に処理されない場合もあります。 非同期( クライアントは、レスポンスに含まれるジョブ・リソースのLocationヘッダーを調べて、ジョブが終了した時期を確認する必要があります。ジョブの現在の状態を表すエンティティも返されます。 |
400 Bad Request |
情報が欠落しているか不適切であるため(入力フィールドの検証エラー、必須値の欠落など)、リクエストを処理できませんでした。 |
401 Unauthorized |
リクエストが認可されていません。このリクエストに認証資格証明がないか、または無効です。 |
403 Forbidden |
ユーザーを認証できません。ユーザーにはこのリクエストを実行する権限がありません。 |
404 Not Found |
リクエストには、存在しないリソースURIが含まれています。 |
405 Method Not Allowed |
リクエストに指定されたHTTP動詞( |
406 Not Acceptable |
このリクエストによって識別されたリソースは、リクエストのAcceptヘッダーのいずれかのメディア・タイプに対応する表現を生成できません。たとえば、クライアントのAcceptヘッダーがXMLを返すように要求しているが、リソースとして返すことができるのはJSONのみである場合。 |
415 Not Acceptable |
クライアントのContentTypeヘッダーが正しくありません(たとえば、クライアントがXMLでリクエストを送信しようとしたが、リソースがJSONのみを受理できる場合)。 |
500 Internal Server Error |
サーバーに予期せぬ状態が発生し、リクエストを処理できませんでした。 |
503 Service Unavailable |
サーバーが一時的に高負荷の状態にあるかメンテナンス中であるため、リクエストを処理できません。Oracle WSM REST Webアプリケーションは現在実行されていません。 |