プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management開発者ガイド
11gリリース2 (11.1.2.3.0) for All Platforms
E67354-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

5 ポリシー・オブジェクトの管理

Access Managerでは、ポリシー・オブジェクトの作成、読取り、更新および削除(CRUD)の操作ができるポリシー管理APIを提供しています。この章では、このAPIについて説明するとともに、Access Managerポリシー管理のRESTful Webサービスの使用例を紹介します。

次の各項には、ポリシー管理APIに関する詳細が含まれます。

5.1 ポリシー管理APIについて

Oracle Policy Administration APIは、Representational State Transfer (REST)インタフェースをサポートしており、Access Managerポリシー・オブジェクトをRESTfulリソースとして管理できます。このAPIは、Java Specification Request (JSR) 311: JAX-RS 1.1仕様: Java API for RESTful Web Services 1.1に準拠しています。詳細は、http://download.oracle.com/otndocs/jcp/jaxrs-1.1-mrel-eval-oth-JSpec/を参照してください。

この項の内容は次のとおりです。

5.1.1 Access Managerポリシー・モデル

ポリシー管理APIは、Access Managerポリシー・モデル・オブジェクト(アーティファクトともいいます)をRESTfulクライアントに公開し、これらのオブジェクトに対する操作をモデル化して特定のURLおよび操作を含むHTTPリクエストにします。操作は、ポリシー検証と整合性を強制するAccess Managerポリシー管理ルールの対象となります。

図5-1に、ポリシー・モデルおよび管理可能なポリシー・オブジェクトの関係を示します。

図5-1 ポリシー・モデル

図5-1の説明が続きます
「図5-1 ポリシー・モデル」の説明

表5-1に、RESTfulインタフェースを使用して管理できるポリシー・オブジェクトの詳細を示します。各ポリシー・オブジェクトは、HTTP Uniform Resource Locator (URL)によってアクセス可能なHTTPリソースとして表現されます。

表5-1 ポリシー・オブジェクト

オブジェクト名 説明

アプリケーション・ドメイン

11gポリシー・モデルの最上位の構造。各アプリケーション・ドメインは、リソースおよびアクセス可能なユーザーを指示する関連付けられた認証および認可ポリシーの論理コンテナを提供します。

ホスト識別子

ホストに複数の名前を指定できます。Access ManagerがリソースのURLを認識するためには、そのリソースのホスト・コンピュータを参照するために使用される様々な方法を認識している必要があります。

リソース

リソースは、サーバーに格納されて多くのユーザーがアクセスできるドキュメント、エンティティまたは内容の一部を表します。クライアントは、(HTTPメソッドを使用して)サーバーと通信し、既存のリソース・タイプで定義されているリソースをリクエストします。

リソース・タイプ

リソース・タイプは、保護されるリソースの種類を示します。

認証ポリシー

認証ポリシーは、ユーザーの認証に使用される認証方式を指定します。ポリシーは、リソース・アクセスを保護する方法を定義します。

認可ポリシー

認可ポリシーは、サブジェクトまたはアイデンティティがリソースにアクセスできる条件を指定します。

トークン発行ポリシー

トークン発行ポリシーは、クライアントがリクエスタ・パートナであるかエンド・ユーザーであるかにかかわらず、そのクライアントのアイデンティティに基づいて、リソース(リライイング・パーティ・パートナ)に対してトークンを発行する際に従うルールを定義します。

認証スキーム

ユーザーの認証に必要なチャレンジ・メカニズム、信頼レベルおよび基礎となる認証モジュールを定義する名前の付いたコンポーネント。


図5-2に、Access Managerポリシーのコンテンツを示します。

図5-2 ポリシー・コンテンツ

図5-2の説明が続きます
「図5-2 ポリシー・コンテンツ」の説明

OAMサーバーのRESTfulインタフェースには、次のようなクライアント・アプリケーションでアクセスできます。

  • Webブラウザ

  • cURL

  • GNU Wget

5.1.2 セキュリティ・モデル

ポリシー管理REST APIは、管理ロールによって保護されます。RESTサービスは、必要なロールを強制するコンテナ・セキュリティによって保護されます。APIの強制ポリシー構成は、管理コンソールで実行するポリシー管理アクションのポリシー強制と似ています。たとえば、クライアント起動では、資格証明をHTTPリクエストの認可ヘッダーで供給することになっています。これにより、クライアント起動は、次のリクエスト例のようにステートレスのままになります。

appdomainrequest.pngの説明が続きます
appdomainrequest.pngの説明

次に示すのは、サンプルHTTPリクエストから返されたレスポンス内容の例で、これにはアプリケーション・ドメインのリストが格納されています。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ApplicationDomains>
<ApplicationDomain>
    <name>Demo Application Domain</name>
    <description>Policy objects enabling OAM Agent to protect deployed Demo applications</description>
</ApplicationDomain>
 
<ApplicationDomain>
    <name>Clear Vision Domain</name>
    <description>Policy objects enabling OAM Agents to protect Clear Vision applications</description>
</ApplicationDomain>
</ApplicationDomains>

ユーザー認証用の認証プロバイダは、Access Managerアプリケーション構成に基づいています。RESTサービスがWebgateで保護されている場合、WebgateはURLに関連付けられた認証スキームに基づいてアクセス・リクエストを判断します。これらのURLでは認証方式としてCookieless Basicを使用しています。Cookieless Basicスキームは変更しないで、複数のスキームで保護してください。その場合、Webgateはこれらのリソースへのアクセス・リクエストをパススルーとして扱い、リクエストの認可ヘッダーを保持します。Access Managerは、提供された認可ヘッダーに基づいてリクエストを処理します。

5.1.3 リソースURL

リソースURLは、Access Manager製品バージョン、RESTサービスで公開されるコンポーネント、および呼び出すリソースを含めて構成されます。リソースURLの基本構造は次のとおりです。

http(s)://host:port/oam/services/rest/path

説明:

  • hostは、OAMサーバーが稼働しているホストです。

  • portは、HTTPまたはHTTPSポートです。

  • pathは特定のリソースを識別する相対パス。pathの構造は/version/component/service/です。ここで:

    • version: Access Managerの製品バージョン(11.1.2.0.0など)。

    • component: RESTfulサービスで公開されるコンポーネント(ssa、ssoなど)

    • service: 特定のAPIのルート・リソース(ホスト識別子など)。

    pathの値の例: /oam/services/rest/11.1.2.0.0/ssa/policyadmin/hostidentifier/host_identifier_name

ポリシー管理REST Web Application Description Language (WADL)ファイルには、サポートされているポリシー・リソースおよびメソッドが列挙されています。ポリシー管理REST WADLドキュメントは、http://adminserver.example.com:adminport/oam/services/rest/11.1.2.0.0/ssa/policyadmin/application.wadlにあります。

リクエスト問合せパラメータを処理するには、追加パラメータが必要です。リソースURLは、いずれもOPTIONSメソッドをサポートしています。

ポリシー・オブジェクトは名前またはIDで識別できます。両方とも指定した場合は、IDが使用されます。

図5-1に示したポリシー・オブジェクトを管理可能にするために公開されるリソースURLを、表5-2にまとめます。この表は、次のように使用します。

  • IDENTIFERは、リクエストが参照するオブジェクトの名前またはIDです。

  • APPDOM_IDENTIFERは、既存のアプリケーション・ドメイン型オブジェクトをappidまたはappnameによって一意に識別します。

表5-2 リソースURL

ポリシー・オブジェクト URL アーティファクトの必須パラメータ

アプリケーション・ドメイン

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain

IDENTIFIER

ホスト識別子

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/hostidentifier

IDENTIFIER

リソース・タイプ

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/resourcetype

IDENTIFIER

リソース

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/resource

IDENTIFIER、APPDOM_IDENTIFIER

認証ポリシー

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnpolicy

IDENTIFIER、APPDOM_IDENTIFIER

認可ポリシー

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authzpolicy

IDENTIFIER、APPDOM_IDENTIFIER

トークン発行ポリシー

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/tokenpolicy

IDENTIFIER、APPDOM_IDENTIFIER


5.1.4 URLリソースおよびサポートされているHTTPメソッド

Access Managerポリシー・オブジェクトは、URLリソースにマップされています。各ポリシーはグローバル識別子(URI)で参照されます。

URLリソースへのアクセスはユーザー・ロールに基づいています。RESTfulサービスでは、ユーザー資格証明がBASICモードのHTTPリクエストの認証ヘッダー内にあると想定しています。認証されたユーザーがポリシー管理ロールを持っていれば、リクエストされたポリシー管理アクションが実行されます。

5.1.5 エラー処理

サービス・リクエストの結果として、無効なサービス呼出しからサーバー側の失敗まで様々なエラー状態が発生する可能性があります。失敗およびエラー・コードの状態は、説明メッセージ付きのHTTPリターン・コードとしてクライアントに報告されます。

表5-3に、HTTPリターン・コードとメッセージの対応関係を示します。

表5-3 エラー状態とHTTPリターン・コード

エラー状態 HTTPリターン・コード 内容

入力を解析でないか、入力が必須エンティティと一致しない。

400

Bad request

サービスが見つからない。

404

Not found

リクエストされたオブジェクトが見つからない。

404

Not found <見つからないオブジェクトを示す追加情報>

ユーザーにアクティビティの実行権限がない。

401

Unauthorized

リクエストされたメソッドがサポートされていない。

405

Method not allowed

作成されたコンテンツ・タイプをクライアントが受け付けない。

406

Not acceptable

リクエスト・パラメータのセマンティックが正しくない。

422

Unprocessable entity <エラーの性質に関する追加情報>

クライアント・メディア・タイプがサポートされていない。

415

Unsupported media type.

注意: サポートされているメディア・タイプはtext/xml (またはapplication/xml)およびapplication/jsonです。

依存性のエラーが発生した。

424

Failed dependency <エラーとなった依存性に関する追加情報>

汎用的なサーバー・エラー。

500

Internal server error


5.2 互換性

リリース・バージョン番号が、OAMサーバーで公開されるRESTサービスURLの一部として埋め込まれます。上位互換性はサポートされていません。新しいバージョンのクライアントが古いバージョンのOAMサーバーにリクエストを送信することはできず、新しいバージョンのオブジェクトが送り返されます。古いクライアントに対する下位互換性はサポートされています。

5.3 ポリシー・オブジェクトの管理

この項の内容は次のとおりです。

5.3.1 HTTPメソッド

表5-4に、サポートされているHTTPメソッドを示します。HTTPメソッドは、成功すると、xmlファイルであるポリシー・オブジェクト(リソース)の表現に影響を及ぼします。JavaScript Object Notation (JSON)オブジェクトが返されます。

表5-4 ポリシー・オブジェクトを管理するためのメソッド

メソッド 操作

GET

ポリシー・オブジェクトを取得します。

POST

ポリシー・オブジェクトを作成します。

PUT

ポリシー・オブジェクトを変更します。

DELETE

ポリシー・オブジェクトを削除します。


5.3.2 メディア・タイプ

サポートされているメディア・タイプは次のとおりです。

  • application/xml

  • application/json

  • text/xml

5.3.3 リソース一覧

表5-5に、各ポリシー・リソース、サポートされているHTTPメソッドおよび各操作の結果の詳細を示します。

表5-5 Access Managerポリシー・リソースの一覧

リソース メソッド 説明

oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain

GET

一致するすべてのアプリケーション・ドメイン・リソースが返されます。問合せパラメータを指定しない場合、すべてのアプリケーション・ドメイン・リソースが返されます。IDまたはNAME問合せパラメータを指定した場合、一致するすべてのアプリケーション・ドメイン・リソースが返されます。


POST

このメソッドでは、アプリケーション・ドメイン・オブジェクトが作成されます。リクエスト本文にアプリケーション・ドメインを含める必要があります。リクエストに一致するアプリケーション・ドメイン・オブジェクトが作成されます。

ポリシー子オブジェクトもすべて作成されます。


PUT

このメソッドでは、アプリケーション・ドメイン・オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表すアプリケーション・ドメイン・リソースを含める必要があります。

指定のIDまたはNAME問合せパラメータと一致するアプリケーション・ドメイン・リソースが変更されます。

問合せパラメータが一致しない場合、IDまたはNAME問合せパラメータと一致するアプリケーション・ドメイン・オブジェクトが変更されます。IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、アプリケーション・ドメイン・オブジェクトが削除されます。IDまたはNAME問合せパラメータと一致するアプリケーション・ドメインが削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/tokenissuancepolicy

GET

このメソッドでは、トークン発行ポリシー・オブジェクトが取得されます。トークン発行ポリシー・オブジェクトを表すリソースが返されます。この表現には、一致するトークン発行ポリシー・リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEと、APPDOMAINIDまたはAPPDOMAINです。APPDOMAINIDまたはAPPDOMAINパラメータを指定しないと、ステータス・コード424が対応するメッセージとともに返されます。IDまたはNAME問合せパラメータを指定しないと、アプリケーション・ドメイン内のすべてのトークン発行ポリシー・リソースが返されます。

IDまたはNAMEパラメータが一致する場合は、そのアプリケーション・ドメイン内のすべてのトークン発行ポリシー・リソースが返されます。いずれの場合も、IDとNAMEを両方とも指定すると、ID値が使用されます。


POST

このメソッドでは、トークン発行ポリシー・オブジェクトが作成されます。オブジェクトの親にあたるリソースに対してリクエストが実行されます。リクエスト本文に、オブジェクトを表すトークン発行ポリシー・リソースを含める必要があります。リクエストに一致するトークン発行ポリシー・オブジェクトが、対応するアプリケーション・ドメイン内に作成されます。


PUT

このメソッドでは、トークン発行ポリシー・オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表すトークン発行ポリシー・リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致するトークン発行ポリシー・リソースが変更されます。

トークン発行ポリシー・オブジェクトは、APPDOMAINIDまたはAPPDOMAIN問合せパラメータと一致するアプリケーション・ドメインに属している必要があります。

問合せパラメータを指定しないと、IDまたはNAMEパラメータと一致するトークン発行ポリシーが変更されます。

トークン発行ポリシーは、アプリケーション・ドメイン名属性で指定したアプリケーション・ドメインに属している必要があります。IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、トークン発行ポリシー・オブジェクトが削除されます。APPDOMAINIDまたはAPPDOMAIN問合せパラメータで指定したアプリケーション・ドメイン内の、IDまたはNAME問合せパラメータと一致するトークン発行ポリシーが削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/resource

GET

このメソッドでは、リソース・オブジェクトが取得されます。リソース・オブジェクトを表すリソースが返されます。この表現には、一致するリソース・リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEと、APPDOMAINIDまたはAPPDOMAINです。APPDOMAINIDまたはAPPDOMAINパラメータを指定しないと、ステータス・コード424が対応するメッセージとともに返されます。

IDまたはNAME問合せパラメータを指定しない場合、そのアプリケーション・ドメイン内のすべてのリソース・リソースが返されます。IDまたはNAMEパラメータが一致する場合は、アプリケーション・ドメイン内の一致するリソース・リソースが返されます。いずれの場合も、IDとNAMEを両方とも指定すると、ID値が使用されます。


POST

このメソッドでは、リソース・オブジェクトが作成されます。オブジェクトの親にあたるリソースに対してリクエストが実行されます。リクエストに一致するリソース・オブジェクトが、対応するアプリケーション・ドメイン内に作成されます。


PUT

このメソッドでは、リソース・オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表すリソース・リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致するリソースが変更されます。リソースは、APPDOMAINIDまたはAPPDOMAIN問合せパラメータと一致するアプリケーション・ドメインに属している必要があります。

問合せパラメータを指定しない場合、指定したIDまたはNAMEと一致するリソース・オブジェクトが変更されます。

リソースは、アプリケーション・ドメイン名属性で指定したアプリケーション・ドメインに属している必要があります。

IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、リソース・オブジェクトが削除されます。APPDOMAINIDまたはAPPDOMAIN問合せパラメータで指定したアプリケーション・ドメイン内の、IDまたはNAME問合せパラメータと一致するリソース・オブジェクトが削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/authzpolicy

GET

このメソッドでは、認可ポリシー・オブジェクトが取得されます。認可ポリシー・オブジェクトを表すリソースが返されます。この表現には、一致する認可ポリシー・リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEと、APPDOMAINIDまたはappdomainです。appdomainidまたはAPPDOMAINパラメータを指定しないと、ステータス・コード424が対応するメッセージとともに返されます。

IDまたはNAMEパラメータを指定しない場合、そのアプリケーション・ドメイン内のすべての認可ポリシー・リソースが返されます。

IDまたはNAMEパラメータが一致する場合は、アプリケーション・ドメイン内の一致する認可ポリシー・リソースが返されます。いずれの場合も、IDとNAMEを両方とも指定すると、ID値が使用されます。


POST

このメソッドでは、認可ポリシー・オブジェクトが作成されます。オブジェクトの親にあたるリソースに対してリクエストが実行されます。リクエストに一致する認可ポリシー・オブジェクトが、対応するアプリケーション・ドメイン内に作成されます。


PUT

このメソッドでは、認可ポリシー・オブジェクトが変更されます。リクエスト本文に、オブジェクトを表す認可ポリシー・リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致する認可ポリシー・リソースが変更されます。

認可ポリシーは、APPDOMAINIDまたはAPPDOMAIN問合せパラメータと一致するアプリケーション・ドメインに属している必要があります。

問合せパラメータを指定しない場合、IDまたはNAMEパラメータと一致する認可ポリシーが変更されます。認可ポリシーは、アプリケーション・ドメイン名属性で指定したアプリケーション・ドメインに属している必要があります。

IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、認可ポリシー・オブジェクトが削除されます。APPDOMAINIDまたはAPPDOMAIN問合せパラメータで指定したアプリケーション・ドメイン内の、IDまたはNAME問合せパラメータと一致する認可ポリシーが削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/hostidentifier

GET

このメソッドでは、ホスト識別子オブジェクトが取得されます。ホスト識別子オブジェクトを表すリソースが返されます。この表現には、一致するホスト識別子リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEです。問合せパラメータを指定しない場合、すべてのホスト識別子リソースが返されます。IDまたはNAMEパラメータが一致する場合は、一致するホスト識別子リソースが返されます。


POST

このメソッドでは、ホスト識別子オブジェクトが作成されます。オブジェクトの親にあたるリソースに対してリクエストが実行されます。リクエストに一致するホスト識別子オブジェクトが作成されます。


PUT

このメソッドでは、ホスト識別子オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表すホスト識別子リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致するホスト識別子リソースが変更されます。問合せパラメータを指定しない場合、IDまたはNAMEパラメータと一致するホスト識別子が変更されます。IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、ホスト識別子オブジェクトが削除されます。IDまたはNAME問合せパラメータと一致するホスト識別子が削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/resourcetype

GET

このメソッドでは、リソース・タイプ・オブジェクトが取得されます。リソース・タイプ・オブジェクトを表すリソースが返されます。この表現には、一致するリソース・タイプ・リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEです。問合せパラメータを指定しない場合、すべてのリソース・タイプ・リソースが返されます。IDまたはNAME問合せパラメータが一致する場合は、一致するリソース・タイプが返されます。


POST

このメソッドでは、リソース・タイプ・オブジェクトが作成されます。オブジェクトの親に対してリクエスト本文が実行されます。このリクエストに一致するリソース・タイプ・オブジェクトが作成されます。


PUT

このRESTメソッドでは、リソース・タイプ・オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表すリソース・タイプ・リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致するリソース・タイプ・リソースが変更されます。問合せパラメータを指定しない場合、IDまたはNAMEパラメータと一致するリソース・タイプが変更されます。IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、リソース・タイプ・オブジェクトが削除されます。NAMEまたはID問合せパラメータと一致するリソース・タイプが削除されます。

oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnscheme

GET

このメソッドでは、認証スキーム・オブジェクトが取得されます。認証スキーム・オブジェクトを表すリソースが返されます。この表現には、一致する認証スキーム・リソースの属性とその値が格納されています。

有効な問合せパラメータはIDまたはNAMEです。問合せパラメータを指定しない場合、すべての認証スキーム・リソースが返されます。問合せパラメータIDまたはNAMEが一致する場合は、一致する認証スキームが返されます。


POST

このメソッドでは、認証スキーム・オブジェクトが作成されます。オブジェクトの親にあたるリソースに対してリクエストが実行されます。リクエストに一致する認証スキーム・オブジェクトが作成されます。


PUT

このメソッドでは、認証スキーム・オブジェクトが変更されます。リクエスト本文に、そのオブジェクトを表す認証スキーム・リソースを含める必要があります。

IDまたはNAME問合せパラメータと一致する認証スキーム・リソースが変更されます。問合せパラメータを指定しない場合、IDまたはNAMEパラメータと一致する認証スキームが変更されます。IDとNAMEを両方とも指定した場合は、ID値が使用されます。


DELETE

このメソッドでは、認証スキーム・オブジェクトが削除されます。NAMEまたはID問合せパラメータと一致する認証スキームが削除されます。

/oam/services/rest/11.1.2.0.0/ssa/policyadmin/application.wadl

GET

Webアプリケーション定義ドキュメントが生成されます。このドキュメントは、提供されるRESTサービスを記述するものです。このドキュメントには、HTMLコンテンツをレンダリングするスタイルシート参照が格納されています。


5.4 クライアント・ツール

RESTfulサービス・リソースを表すクライアント側POJOの生成には、次の2つのXMLスキーマを使用できます。

  • ポリシー管理サービスの場合、スキーマはoam-policyadmin-11.1.2.0.0.xsdです。

  • トークン・サービスの場合、スキーマはoam-token-11.1.2.0.0.xsdです。

クライアント側オブジェクトを生成するには、JAXBコマンドxjc (JDKの一部)を次のように実行します。

xjc  [-p package-name] oam-policyadmin-11.1.2.0.0.xsd

このコマンドは、クライアント側Javaコードで使用できるRESTfulリソースのJava POJOオブジェクトを生成します。JAXBを使用してこれらのオブジェクトをXMLに戻し、HTTPでRESTサーバーに送信できます。

JAXBの詳細は、http://jaxb.java.net/を参照してください。JerseyベースRESTサーバーのクライアントの構築の詳細は、http://jersey.java.net/を参照してください。

アプリケーション・ドメインの取得cURLコマンド

$ curl -u USER:PASSWORD http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain

このcURLコマンドからの出力例は、次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ApplicationDomains>
<ApplicationDomain>
    <id>759463e3-2b63-4e38-893c-00d5da479719</id>
    <name>IAM Suite</name>
    <description>Policy objects enabling OAM Agent to protect deployed IAM Suite applications</description>
</ApplicationDomain>
 
<ApplicationDomain>
    <id>69f6be9b-f000-48db-9b6d-df4724cc0bd9</id>
    <name>Fusion Apps Integration</name>
    <description>Policy objects enabling integration with Oracle Fusion Applications</description>
</ApplicationDomain>

新規アプリケーション・ドメインの作成cURLコマンド

curl -u weblogic:welcome1 -H "Content-Type: application/xml" --request POST --data "@/tmp/cr.appdomain.xml" http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain

次は、このcURLコマンドの、サンプルの入力ファイルです。

<ApplicationDomain>
    <name>Appdomain1</name>
    <description>test application domain</description>
</ApplicationDomain>

このcURLコマンドからの出力例は、次のとおりです。

http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain?id=fa60e312-fe65-4aa8-aace-1735a39c4058

すべての認証スキームの取得cURLコマンド

curl -u USER:PASSWORD http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnscheme

このcURLコマンドからの出力例は、次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AuthenticationSchemes>
  <AuthenticationScheme>
      <id>aa84b589-7f16-4b3a-942c-ba51b3ab6de5</id>
      <name>KerberosScheme</name>
      <description>Kerberos Scheme</description>
      <authnModuleName>Kerberos</authnModuleName>
      <authnSchemeLevel>2</authnSchemeLevel>
      <challengeMechanism>WNA</challengeMechanism>
      <ChallengeParameters>
          <challengeParameter>
              <key>spnegotoken</key>
              <value>string</value>
          </challengeParameter>
          <challengeParameter>
              <key>challenge_url</key>
              <value>/oam/CredCollectServlet/WNA</value>
          </challengeParameter>
      </ChallengeParameters>
      <challengeRedirectURL>/oam/server/</challengeRedirectURL>
  </AuthenticationScheme>
</AuthenticationSchemes>

認証スキーム作成cURLコマンド

curl -u weblogic:welcome1 -H "Content-Type: application/xml" --request POST --data "@/tmp/cr.authnscheme.xml" http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnscheme

次は、サンプルの入力ファイルです。

<AuthenticationScheme>
    <name>TestAuthnScheme</name>
    <description>test authn scheme</description>
    <authnModuleName>TestModule1</authnModuleName>
    <authnSchemeLevel>2</authnSchemeLevel>
    <challengeMechanism>WNA</challengeMechanism>
    <ChallengeParameters>
        <challengeParameter>
            <key>spnegotoken</key>
            <value>string</value>
        </challengeParameter>
        <challengeParameter>
            <key>challenge_url</key>
            <value>/oam/CredCollectServlet/WNA</value>
        </challengeParameter>
    </ChallengeParameters>
    <challengeRedirectURL>/oam/server/</challengeRedirectURL>
</AuthenticationScheme>
~                         

このcURLコマンドからの出力例は、次のとおりです。

http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnscheme?id=acb1fa95-f780-4091-be88-2e96cf5bbd49

特定の認証スキームの取得cURLコマンド

curl -u USER:PASSWORD http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnscheme?name=KerberosScheme

このcURLコマンドからの出力例は、次のとおりです。

<AuthenticationScheme>
      <id>aa84b589-7f16-4b3a-942c-ba51b3ab6de5</id>
      <name>KerberosScheme</name>
      <description>Kerberos Scheme</description>
      <authnModuleName>Kerberos</authnModuleName>
      <authnSchemeLevel>2</authnSchemeLevel>
      <challengeMechanism>WNA</challengeMechanism>
      <ChallengeParameters>
          <challengeParameter>
              <key>spnegotoken</key>
              <value>string</value>
          </challengeParameter>
          <challengeParameter>
              <key>challenge_url</key>
              <value>/oam/CredCollectServlet/WNA</value>
          </challengeParameter>
      </ChallengeParameters>
      <challengeRedirectURL>/oam/server/</challengeRedirectURL>
  </AuthenticationScheme>

アプリケーション・ドメインのすべてのリソースの取得cURLコマンド

curl -u USER:PASSWORD http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/resource?appdomain="IAM Suite"

アプリケーション・ドメイン内でのリソース作成cURLコマンド

curl -u weblogic:welcome1 -H "Content-Type: application/xml" --request POST --data "@/tmp/cr.resource.xml" http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/resource?appdomain="AppDomain1"

アプリケーション・ドメインのすべてのポリシーの取得cURLコマンド

curl -u USER:PASSWORD http://<SERVER>:<PORT>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/authnpolicy?appdomain="IAM Suite"