2.3.4. REST インターフェース

Hitsal state transfer (REST) は、HTTP を使用して Web サービスを定義し、整理する手段で、他のアプリケーションとの相互運用性を単純化します。Red Hat Certificate System は、サーバーのさまざまなサービスにアクセスするための REST インターフェースを提供します。
Red Hat Certificate System の REST サービスは、RESTEasy フレームワークを使用して実装されます。RESTEasy は実際には Web アプリケーションのサーブレットとして実行されるため、RESTEasy の設定は、対応するサブシステムの web.xml にあります。RESTEasy の詳細は、http://resteasy.jboss.org/ を参照してください。
各 REST サービスは、個別の URL として定義されます。以下に例を示します。
  • CA 証明書サービス: http://<host_name>:<port>/ca/rest/certs/
  • KRA キーサービス: http://<host_name>:<port>/kra/rest/agent/keys/
  • TKS ユーザーサービス: http://<host_name>:<port>/tks/rest/admin/users/
  • TPS グループサービス: http://<host_name>:<port>/tps/rest/admin/groups/
一部のサービスは、プレーンの HTTP 接続を使用してアクセスできますが、セキュリティーに HTTPS 接続が必要になる場合があります。
REST 操作は HTTP メソッドとして指定されます (たとえば、GET、PUT、POST、DELETE)。たとえば、クライアントが GET /ca/rest/users リクエストを送信する CA ユーザーを取得する場合は、次のコマンドを実行します。
REST リクエストおよび応答メッセージは、XML または JSON 形式で送信できます。以下に例を示します。
{
	"id":"admin",
	"UserID":"admin",
	"FullName":"Administrator",
	"Email":"admin@example.com",
	...
}
CLI、Web UI、または汎用 REST クライアントなどのツールを使用して、REST インターフェースにアクセスできます。Certificate System は、プログラムでサービスにアクセスするための Java、Python、および JavaScript ライブラリーも提供します。
REST インターフェースは、2 種類の認証方法をサポートします。
  • ユーザー名およびパスワード
  • クライアント証明書
各サービスに必要な認証方法は、/usr/share/pki/ca/conf/auth-method.properties で定義します。
REST インターフェースでは、サービスへのアクセスに特定のパーミッションが必要になる場合があります。パーミッションは LDAP の ACL リソースで定義されます。REST インターフェースは、/usr/share/pki/<subsystem>/conf/acl.properties の ACL リソースにマッピングされます。
REST インターフェースの詳細は、http://www.dogtagpki.org/wiki/REST を参照してください。