6 アクセスの認可

Oracle Platform Security Services (OPSS)では、XACML3.0 RESTプロファイル・ベース認可サービスを使用して、認可を管理します。RESTを使用して認可を管理できます。
セクション メソッド リソース・パス

PDPリンクのGETメソッド

GET

/opss/v2/authz/xacml/

ポリシー決定のPOSTメソッド

POST

/opss/v2/authz/xacml/

PDPリンクのGETメソッド

アプリケーションでポリシー決定ポイント(PDP)を取得するには、GETメソッドを使用します。

RESTリクエスト

GET /opss/v2/authz/xacml/appName

レスポンス本文

リクエストまたはレスポンス本文のメディア・タイプ。

メディア・タイプ:                                                             application/jsonまたはapplication/xml

レスポンス本文には、PDPリンクに関する詳細が含まれます。この詳細には、次の項目が含まれます。

属性 説明

"rel"

PDP定義プロバイダ

"href"

PDPリンク。

cURLの例

次の例に、cURLを使用してRESTリソースに対するGETリクエストを送信し、アプリケーションのPDPリンクを取得する方法を示します。JSONおよびXMLの両方の例が示されています。

JSONの例

curl -i -X GET -u username:password -H Content-Type:application/json https://myhost:7001/opss/v2/authz/xacml/MyApp

JSONを含むレスポンス本文の例

次に、JSONを使用する場合のレスポンス本文の例を示します。

{    "resources": {        "resource": {            "link": {                 "rel": "https://docs.oasis-open.org/ns/xacml/relation/pdp",                "href": "/opss/v2/xacml/MyApp/pdp"             }        }    }}

XMLの例

curl -i -X GET -u username:password -H Content-Type:application/xml https://myhost:7001/opss/v2/authz/xacml/MyApp

XMLを含むレスポンス本文の例

次に、XMLを使用する場合のレスポンス本文の例を示します。

<resources xmlns=http://ietf.org/ns/home-documents 
   mlns:atom="http://www.w3.org/2005/Atom"> 
   <resource rel="http://docs.oasis-open.org/ns/xacml/relation/pdp"> 
      <atom:link href="/opss/v2/xacml/MyApp/pdp"/>
   </resource>
</resources>

ポリシー決定のPOSTメソッド

PDPシステムにポリシー決定認可リクエストを送信するには、POSTメソッドを使用します。

RESTリクエスト

POST /opss/v2/authz/xacml/appName/pdp/

URIでは、リソース・タイプを指定することもできます。リソース・タイプの名前がアプリケーション名によって決定される場合、名前を省略することもできます。リソース・タイプはオプションで、必要に応じて問合せパラメータで指定されます。

POST /opss/v2/authz/xacml/appName/pdp/?resType=resType

リクエスト本文

リクエストまたはレスポンス本文のメディア・タイプ。

メディア・タイプ:                                                              application/xacml+json;version=3.0またはapplication//xacml+xml;version=3.0

レスポンス本文

リクエストまたはレスポンス本文のメディア・タイプ。

メディア・タイプ:                                                              application/xacml+json;version=3.0またはapplication//xacml+xml;version=3.0

cURLの例

次の例は、cURLを使用してRESTリソースにPOSTリクエストを発行して、アプリケーションのポリシー決定をリクエストする方法を示しています。JSONおよびXMLの両方の例が示されています。

JSONの例

curl -i -X GET -u username:password --data @policyRequest.json -H Content-Type:application/xacml+json;version=3.0 https://myhost:7001/opss/v2/authz/xacml/MyApp/pdp

JSONを使用するリクエストの例

次に、JSONを使用する場合のリクエスト本文の例を示します。

{
    "Request": {
        …
    }
 }

JSONを含むレスポンス本文の例

次に、JSONを使用する場合のレスポンス本文の例を示します。

{
    "Response": [
        …
    ]
 }

XMLの例

curl -i -X GET -u username:password --data @policyRequest.xml -H Content-Type:application/xacml+xml;version=3.0 https://myhost:7001/opss/v2/authz/xacml/MyApp/pdp

XMLを使用するリクエストの例

次に、XMLを使用する場合のリクエスト本文の例を示します。

<Request xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"> … </Request>

XMLを使用するレスポンスの例

次に、XMLを使用する場合のレスポンス本文の例を示します。

<Request xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"> … </Request>