ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Privileged Account Manager管理者ガイド
11gリリース2 (11.1.2)
B69534-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

B Oracle Privileged Account ManagerのRESTfulインタフェースの使用

Oracle Privileged Account Managerは多くのクライアント・インタフェースを介して使用できますが、その基本となるアクセス・メカニズムまたはレイヤーは、RESTfulインタフェースにカプセル化されています。

外部パーティ(Oracle Privileged Account Manager以外のサーバーなど)によって使用されるOracle Privileged Account Managerサーバーとのすべての相互作用は、RESTfulインタフェースを介して公開されます。外部から参照可能なすべてのOracle Privileged Account Managerリソースは、URIでモデル化されますが、標準のHTTP操作はそれらのリソースに対する関連するOracle Privileged Account Manager操作にマップされます。

この付録では、Oracle Privileged Account ManagerのRESTfulインタフェースについて説明します。このインタフェースを介して公開される特定のAPIについて、次の項で説明します。


注意:

Oracle Privileged Account ManagerのWebベースのコンソールまたはコマンドライン・ツールを使用して、この付録で説明しているタスクを実行することもできます。

詳細は、第5章「Oracle Privileged Account Managerの構成および管理」または付録A「コマンドライン・ツールの使用」を参照してください。


B.1 ターゲット・リソース

この項では次のAPIについて説明します。

B.1.1 ターゲット属性の取得

このAPIを使用して、すべてのターゲット・タイプに関連付けられた属性のリストを取得します。

サポートされるターゲット・タイプのリストをこれらの属性とともに使用して、ターゲットを追加するために必要なJSONオブジェクトを作成します。詳細は、B.1.2項「ターゲットの追加」を参照してください。


注意:

JSONオブジェクトを作成するには、Firefox JSONviewなどのJSONのブラウザ拡張機能が必要です。


URI

https://opam_server_host:opam_ssl_port/opam/target/attributes/{locale}

メソッド

GET

成功時の戻り値

ステータス・コード200、ターゲット・タイプのJSON表現、およびそれらに関連付けられた属性


サンプルURI

https://opam_server_host:opam_ssl_port/opam/target/attributes/en

例B-1 サポートされているターゲット・タイプと属性のJSON表記の出力

{
   "TargetAttributes":[
      {
         "TargetType":"ldap",
         "DisplayName":"ldap",
         "BasicAttributes":[
            {
               "name":"targetName",
               "type":"string",
               "description":"",
               "label":"Target Name",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"description",
               "type":"string",
               "description":"",
               "label":"Description",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"organization",
               "type":"string",
               "description":"",
               "label":"Organization",
               "mask":"false",
               "array":"false",
               "required":"false"
            },
            {
               "name":"domain",
               "type":"string",
               "description":"",
               "label":"Domain",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"host",
               "type":"string",
               "description":"",
               "label":"Host",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"port",
               "type":"int",
               "description":"TCP/IP port number used to communicate with the LDAP server.",
               "label":"TCP Port",
               "default":"",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"ssl",
               "type":"boolean",
               "description":"Select the check box to connect to the LDAP server using SSL.",
               "label":"SSL",
               "default":"false",
               "mask":"false",
               "array":"false",
               "required":"true"
            },
            {
               "name":"principal",
               "type":"string",
               "description":"The distinguished name with which to authenticate
to the LDAP server.", "label":"Principal", "default":"", "mask":"false", "array":"false", "required":"true" }, { "name":"credentials", "type":"string", "description":"Password for the principal.", "label":"Password", "default":"", "mask":"true", "array":"false", "required":"true" }, { "name":"baseContexts", "type":"string", "description":"One or more starting points in the LDAP tree that will be used
when searching the tree. Searches are performed when discovering users from
the LDAP server or when looking for the groups of which a user is a member.", "label":"Base Contexts", "default":[ ], "mask":"false", "array":"true", "required":"true" }, { "name":"accountNameAttribute", "type":"string", "description":"Attribute which holds the account's user name.", "label":"Account User Name Attribute", "default":"uid", "mask":"false", "array":"false", "required":"true" } ], "AdvancedAttributes":[ { "name":"uidAttribute", "type":"string", "description":"The name of the LDAP attribute which is mapped
to the Uid attribute.", "label":"Uid Attribute", "default":"uid", "mask":"false", "array":"false", "required":"false" }, { "name":"accountSearchFilter", "type":"string", "description":"An optional LDAP filter to control which accounts are returned
from the LDAP resource. If no filter is specified, only accounts that include
all specified object classes are returned.", "label":"LDAP Filter for Retrieving Accounts", "default":"(uid=*)", "mask":"false", "array":"false", "required":"false" }, { "name":"passwordAttribute", "type":"string", "description":"The name of the LDAP attribute which holds the password.
When changing an user's password, the new password is set to this attribute.", "label":"Password Attribute", "default":"userpassword", "mask":"false", "array":"false", "required":"false" }, { "name":"accountObjectClasses", "type":"string", "description":"The object class or classes that will be used when
creating new user objects in the LDAP tree. When entering more than one
object class, each entry should be on its own line; do not use commas or
semi-colons to separate multiple object classes. Some object classes
may require that you specify all object classes in the class hierarchy.", "label":"Account Object Classes", "default":[ "top", "person", "organizationalPerson", "inetOrgPerson" ], "mask":"false", "array":"true", "required":"false" } ] } ] }

説明:

  • TargetAttributesは、オブジェクトの配列であり、各オブジェクトがターゲット・タイプを表します。

  • TargetTypeは、ターゲット・タイプです。

  • DisplayNameは、ターゲット・タイプ名の表示方法です。

  • BasicAttributesは、オブジェクトの配列であり、各オブジェクトがターゲット・タイプの基本属性を表します。

  • AdvancedAttributesは、オブジェクトの配列であり、各オブジェクトがターゲット・タイプの拡張属性を表します。

  • nameは、ターゲットJSONを構成してターゲットを作成する場合に使用する属性名です。

  • typeは、属性タイプです。有効な値は、stringintbooleanまたはlov (値リスト)です。

  • descriptionは、属性のわかりやすい説明です。

  • labelは、属性名の表示方法です。

  • defaultは、属性のデフォルト値です。

    arrayパラメータがfalseの場合は単一値を指定し、arraytrueの場合は値の配列を指定します。

  • maskは、資格証明などの機密値を非表示にします。

    • 属性を非表示にする場合、trueを指定します。

    • 属性を非表示にする必要がない場合、falseを指定します。

  • arrayは、属性が単一値であるか複数値の配列であるかを示します。

    • 属性が複数値の配列である場合、trueを指定します。

    • 属性が単一値の場合、falseを指定します。

  • requiredは、属性が必須であるかオプションであるかを示します。

    • 必須属性の場合、trueを指定します。

    • オプション属性の場合、falseを指定します。

B.1.2 ターゲットの追加

このAPIを使用してターゲットを追加します。


注意:

最初に、B.1.1項「ターゲット属性の取得」の説明に従ってターゲット・タイプの属性のリストを取得する必要があります。これらの属性を使用して、本体で送信されるJSONオブジェクトを作成します。


URI

https://opam_server_host:opam_ssl_port/opam/target

メソッド

POST

本体

ターゲットの追加またはテストのJSON表現

成功時の戻り値

ステータス・コード201 (作成)および場所


例B-2 ターゲットの追加のサンプルJSON表現

{
   "target":{
      "targetType":"ldap",
      "targetName":"hhsharma-ldap2",
      "host":"adc2120745.us.oracle.com",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid"
   }
}

サンプル出力

https://opam_server_host:opam_ssl_port/opam/target
/9bbcbbb087174ad1900ea691a2573b61 (場所)

説明:

  • targetは、ターゲットJSONオブジェクトです。

  • targetNameは、ターゲットの名前です。

  • targetTypeは、ターゲット・タイプです。

他のすべての属性は、動的であり、B.1.1項「ターゲット属性の取得」の属性に対応します。

B.1.3 ターゲットの検証

このAPIを使用してターゲットを検証します。


注意:

最初に、ターゲット・タイプの属性のリストを取得する必要があります。本体で送信されるJSONオブジェクトを作成するには、B.1.1項「ターゲット属性の取得」を参照してください。


URI

https://opam_server_host:opam_ssl_port/opam/target/test

メソッド

PUT

本体

ターゲットの追加またはテストのJSON表現

成功時の戻り値

ステータス・コード200


例B-3 ターゲットの追加または検証のサンプルJSON表現

{
   "target":{
      "targetType":"ldap",
      "targetName":"hhsharma-ldap2",
      "host":"adc2120745.us.oracle.com",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid"
   }
}

説明:

  • targetは、ターゲットJSONオブジェクトです。

  • targetNameは、ターゲットの名前です。

  • targetTypeは、ターゲット・タイプです。

他のすべての属性は、動的であり、B.1.1項「ターゲット属性の取得」の属性に対応します。

B.1.4 ターゲットの取得

このAPIを使用してターゲットを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびターゲットのJSON表現


例B-4 ターゲットのサンプルJSON表現

{
   "target":{
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61",
      "targetType":"ldap",
      "targetName":"hhsharma-ldap",
      "host":"adc2120745.us.oracle.com",
      "domain":"berkeley",
      "description":"Ldap target",
      "organization":"ST-US",
      "credentials":"welcome",
      "uidAttribute":"uid",
      "port":"9876",
      "passwordAttribute":"userpassword",
      "principal":"cn=orcladmin",
      "accountSearchFilter":"(uid=*)",
      "baseContexts":[
         "cn=Users,c=US"
      ],
      "ssl":"false",
      "accountObjectClasses":[
         "top",
         "person",
         "organizationalPerson",
         "inetOrgPerson"
      ],
      "accountNameAttribute":"uid",
      "accounts":[
         {
            "account":{
               "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/c11066278022489aad758aec69d9727d" } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4" } } ] } }

説明:

  • targetは、ターゲットJSONオブジェクトです。

  • targetUIDは、ターゲットの一意識別子です。

  • targetNameは、ターゲットの名前です。

  • targetTypeは、ターゲット・タイプです。

  • accountsは、ターゲットに関連付けられたアカウントの配列です。

  • accountは、アカウントのURIを含むアカウントJSONオブジェクトです。

  • uriは、アカウントのURIです。

他のすべての属性は、動的であり、B.1.1項「ターゲット属性の取得」の属性に対応します。

B.1.5 ターゲットの更新

このAPIを使用してターゲットを更新します。

targetTypeおよびtargetUIDを除くすべての属性の変更が可能で、同時に複数の属性を変更できます。

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

メソッド

PUT

本体

ターゲット変更のJSON表現

成功時の戻り値

ステータス・コード201


例B-5 ターゲット変更のサンプルJSONオブジェクト

{
   "modifications":[
      {
         "modification":{
            "host":"opam_server_host:opam_ssl_port
         }
      },
      {
         "modification":{
            "port":"6000"
         }
      }
   ]
}

説明:

  • targetUIDは、ターゲットの一意識別子です。

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一属性の変更を表すJSONオブジェクトです。

このAPIでは、ターゲットのhostおよびport属性を更新する必要があります。これらの値は、指定された値に更新されます。

B.1.6 ターゲットの削除

このAPIを使用してターゲットを削除します。

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}

メソッド

DELETE

本体


成功時の戻り値

ステータス・コード200


B.1.7 ターゲットの検索

このAPIでは、次のリクエスト・パラメータのいずれかを使用してターゲットを検索します。

  • type

  • domain

  • org

  • name

  • hostname

これらのパラメータはすべてオプションです。

URI

https://opam_server_host:opam_ssl_port/opam/target/search?param1=value1&param2=value2

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびターゲット収集のJSON表現


サンプルURI:

https://opam_server_host:opam_ssl_port/opam/target/search?

すべてのターゲットが返されます。

https://opam_server_host:opam_ssl_port/opam/target/search?type=ldap&org=us

typeにldap、orgにusが含まれるすべてのターゲットが返されます。


例B-6 ターゲット収集のサンプルJSON表現

{
   "Target Collection":[
      {
         "target":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/target\
/9bbcbbb087174ad1900ea691a2573b61", "type":"ldap", "name":"hhsharma-ldap", "host":"adc2120745.us.oracle.com", "domain":"berkeley" } }, { "target":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/target\
/ac246a162ce948c7b1cdcc17dfc92c15", "type":"ldap", "name":"hhsharma-ldap2", "host":"opam_server_host:opam_ssl_port", "domain":"berkeley" } } ] }

説明:

  • Target Collectionは、ターゲットJSONオブジェクトの配列です。

  • targetは、ターゲットJSONオブジェクトです。

  • uriは、ターゲット・リソースのURIです。

  • typeは、ターゲット・タイプです。

  • hostnameは、ターゲットのホスト名です。

  • nameは、ターゲット名です。

  • orgは、ターゲットの組織です。

  • domainは、ターゲットのドメインです。

B.1.8 使用可能なアカウントの取得

このAPIを使用して、ターゲット・システムに存在するすべてのアカウントを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/target/attributes/{locale}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200 (OK)およびアカウント収集のJSON表現


例B-7 アカウント収集のサンプルJSON表現

{
   "AvailableAccounts":[
      {
         "accountName":"SCOTT",
         "accountUid":"SCOTT"
      },
      {
         "accountName":"BLAKE",
         "accountUid":"BLAKE "
      },
      {
         "accountName":"JONES",
         "accountUid":"JONES"
      }
   ]
}

説明:

  • AvailableAccountsは、ターゲット・システムに存在するアカウントの配列です。

  • accountNameは、アカウント名です。

  • accountUIDは、アカウントの一意識別子です。

B.1.9 ターゲットで登録されているアカウントの取得

このAPIを使用して、ターゲットでOracle Privileged Account Managerに登録されているすべてのアカウントを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/target/{targetUID}/accounts

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびアカウントのURI収集のJSON表現


例B-8 アカウントのURI収集のサンプルJSON表現

{
   "URI Collection":[
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4", "accountName":"sherlock" } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/c11066278022489aad758aec69d9727d", "accountName":"himanshu" } } ] }

説明:

  • URI Collectionは、ターゲットでOracle Privileged Account Managerに登録されているアカウントの配列です。

  • accountは、アカウントJSONオブジェクトです。

  • uriは、アカウントのURIです。

  • accountNameは、アカウント名です。

B.1.10 ターゲット・タイプの取得

このAPIを使用して、サポートされるすべてのターゲット・タイプのリストを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/target/types

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびサポートされるターゲット・タイプのJSON表現


例B-9 サポートされるターゲット・タイプのサンプルJSON表現

{
   "targettypes":[
      "ldap",
      "unix",
      "database"
   ]
}

説明:

  • targettypesは、サポートされるターゲット・タイプです。

B.2 アカウント・リソース

この項では次のAPIについて説明します。

B.2.1 ターゲットへのアカウントの追加

このAPIを使用してターゲットにアカウントを追加します。このAPIは、ターゲット・システムにアカウントを作成しませんが、既存のアカウントをOPAMターゲットに登録します。

URI

https://opam_server_host:opam_ssl_port/opam/account

メソッド

POST

本体

アカウントの追加または検証のJSON表現

成功時の戻り値

ステータス・コード201および場所


例B-10 アカウントの追加または検証のサンプルJSON表現

{
   "account":{
      "accountName":"lucie",
      "passwordpolicy":"passwordpolicy2",
      "shared":"true",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61"
   }
}

説明:

  • accountは、アカウントJSONオブジェクトです。

  • accountNameは、アカウントの名前です。

  • passwordpolicyは、アカウントに適用可能なパスワード・ポリシーのポリシーIDです。このパラメータはオプションです。デフォルトでは、このパラメータはグローバル・デフォルト・パスワード・ポリシーを使用します。

  • sharedは、アカウントの共有ステータスを示します。この値はブール値であり、デフォルト設定はfalseです。

  • targetUIDは、ターゲットの一意識別子です。

B.2.2 アカウントの検証

このAPIを使用して、アカウントがターゲット・システムに存在するかどうかを検証します。

URI

https://opam_server_host:opam_ssl_port/opam/account/test

メソッド

PUT

本体

アカウントの追加または検証のJSON表現

成功時の戻り値

ステータス・コード200


例B-11 アカウントの追加または検証のサンプルJSON表現

{
   "account":{
      "accountName":"lucie",
      "passwordpolicy":"passwordpolicy2",
      "shared":"true",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61"
   }
}

説明:

  • accountは、アカウントJSONオブジェクトです。

  • accountNameは、アカウントの名前です。

  • passwordpolicyは、アカウントに適用可能なパスワード・ポリシーのポリシーIDです。このパラメータはオプションです。デフォルトでは、このパラメータはグローバル・デフォルト・パスワード・ポリシーを使用します。

  • sharedは、アカウントの共有ステータスを示します。この値はブール値であり、デフォルト設定はfalseです。

  • targetUIDは、ターゲットの一意識別子です。

B.2.3 アカウントの取得

このAPIを使用してアカウントを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびアカウントのJSON表現


例B-12 アカウントのサンプルJSON表現

{
   "account":{
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "targetUID":"9bbcbbb087174ad1900ea691a2573b61",
      "accountName":"lucie",
      "shared":true,
      "status":"checkedIn",
      "usagepolicy":"usagepolicy1",
      "passwordpolicyname":"Default Password Policy",
      "passwordpolicy":"passwordpolicy2",
      "grantees":{
         "users":[
            "opamuser1"
         ],
         "roles":[
            "opamgroup1"
         ]
      }
   }
}

説明:

  • accountは、アカウントJSONオブジェクトです。

  • accountUIDは、アカウントの一意識別子です。

  • accountNameは、アカウントの名前です。

  • passwordpolicyは、アカウントに適用可能なパスワード・ポリシーのポリシーIDです。

  • passwordpolicynameは、適用可能なパスワード・ポリシーの名前です。

  • sharedは、アカウントの共有ステータスを示します。この値はブール値であり、デフォルト設定はfalseです。

  • targetUIDは、ターゲットの一意識別子です。

  • statusは、アカウントがユーザーによってチェックインされたかどうかを示します。有効な値は、checkedInおよびcheckedOutです。

  • granteesは、アカウントの権限受領者です。

  • usersは、アカウントを付与されたユーザーです。各値は、ユーザーのログインID/UIDです。

  • rolesは、アカウントを付与されたグループまたはロールです。各値は、グループのグループ名です。

B.2.4 パスワードのリセット

このAPIを使用してアカウントのパスワードをリセットします。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/resetpassword

メソッド

PUT

本体

新規パスワードのJSON表現

成功時の戻り値

ステータス・コード200


例B-13 新規パスワードのサンプルJSON表現

{
   "password":"welcome1"
}

説明:

  • accountUIDは、アカウントの一意識別子です。

B.2.5 アカウントの更新

このAPIを使用してアカウントを更新します。同時に複数の属性を変更できます。使用ポリシーおよび共有属性のみを更新できます。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

メソッド

PUT

本体

アカウント変更のJSON表現

成功時の戻り値

ステータス・コード200


例B-14 アカウント変更のサンプルJSON表現

{
   "modifications":[
      {
         "modification":{
            "passwordpolicy":"passwordpolicy2"
         }
      },
      {
         "modification":{
            "shared":"false"
         }
      }
   }
}

説明:

  • accountUIDは、アカウントの一意識別子です。

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一属性の変更を表すJSONオブジェクトです。

B.2.6 アカウントの削除

このAPIを使用してアカウントを削除します。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID

メソッド

DELETE

本体


成功時の戻り値

ステータス・コード200


説明:

  • accountUIDは、アカウントの一意識別子です。

B.2.7 アカウントに対するアクセス権のユーザーまたはロールへの付与

このAPIを使用して、アカウントに対するアクセス権をユーザーまたはロールに付与します。複数のユーザーおよびロールに同時にアクセス権を付与できます。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

メソッド

PUT

本体

権限受領者の追加のJSON表現

成功時の戻り値

ステータス・コード200


例B-15 権限受領者の追加のサンプルJSON表現

{
   "modifications":[
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "role":"opamgroup1",
            "operation":"add"
         }
      },
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "user":"opamuser1",
            "operation":"add"
         }
      }
   ]
}

説明:

  • accountUIDは、アカウントの一意識別子です。

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一属性の変更を表すJSONオブジェクトです。

  • roleは、グループにアクセス権を付与する必要があることを示します。このパラメータの値は、グループ名です。

  • userは、ユーザーにアクセス権を付与する必要があることを示します。このパラメータの値は、ユーザー・ログインIDです。

  • usagepolicyは、権限付与に適用される使用ポリシーの識別子を示します。

  • operationは、実行される操作のタイプを示します。有効な値は次のとおりです。

    • addは権限付与を示します。

    • deleteは取消しを示します。

    • replaceは使用ポリシーの新しい値による置換を示します。

B.2.8 アカウントに対するユーザーまたはロールのアクセス権の削除

このAPIを使用して、アカウントに対するユーザーのアクセス権またはロールのアクセス権を削除します。複数のユーザーおよびロールの権限付与を同時に取り消すことができます。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}

メソッド

PUT

本体

権限受領者の削除のJSON表現

成功時の戻り値

ステータス・コード200


例B-16 権限受領者の削除のサンプルJSON表現

{
   "modifications":[
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "role":"opamgroup1",
            "operation":"delete"
         }
      },
      {
         "modification":{
            "usagepolicy":"usagepolicy1",
            "user":"opamuser1",
            "operation":"delete"
         }
      }
   ]
}

説明:

  • accountUIDは、アカウントの一意識別子です。

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一の変更を表すJSONオブジェクトです。

  • roleは、グループにアクセス権を付与する必要があることを示します。このパラメータの値は、グループ名です。

  • userは、ユーザーにアクセス権を付与する必要があることを示します。このパラメータの値は、ユーザー・ログインIDです。

  • usagepolicyは、権限付与に適用される使用ポリシーの識別子を示します。

  • operationは、実行される操作のタイプを示します。有効な値は次のとおりです。

    • addは権限付与を示します。

    • deleteは取消しを示します。

    • replaceは使用ポリシーの新しい値による置換を示します。

B.2.9 アカウントの権限受領者の取得

このAPIを使用して、アカウントのすべての権限受領者を取得します。権限受領者は、ユーザーまたはロールです。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/grantees

メソッド

GET

本体


成功時の戻り値

ステータス・コード200および権限受領者のJSON表現


例B-17 権限受領者のサンプルJSON表現

{
   "grantees":{
      "users":[
         "opamuser1"
      ],
      "roles":[
         "opamgroup1"
      ]
   }
}

説明:

  • granteesは、アカウントの権限受領者です。

  • usersは、アカウントを付与されたユーザーです。各値は、ユーザーのログインID/UIDです。

  • rolesは、アカウントを付与されたグループまたはロールです。各値はグループ名です。

B.2.10 アカウントのチェックアウト

このAPIを使用してアカウントをチェックアウトします。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkout

メソッド

PUT

本体


成功時の戻り値

ステータス・コード200およびアカウント・トークンのJSON表現


例B-18 アカウント・トークンのサンプルJSON表現

{
   "accountToken":{
      "accountName":"lucie",
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "accountPassword":"GJN8p2ol"
   }
}

説明:

  • accountUIDは、アカウントの一意識別子です。

  • accountNameは、アカウントの名前です。

  • accountpasswordは、アカウント・パスワードです。

B.2.11 アカウントのチェックイン

このAPIを使用してアカウントをチェックインします。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/checkin

メソッド

PUT

本体


成功時の戻り値

ステータス・コード200


B.2.12 アカウントをチェックアウトしたユーザーの取得

このAPIを使用して、現在アカウントをチェックアウトしているすべてのユーザーのリストを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/whocheckedout

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびアカウントをチェックアウトしたユーザーのJSON表現


例B-19 アカウントをチェックアウトしたユーザーのサンプルJSON表現

{
   "users":[
      {
         "user":{
            "uid":"sec_admin",
            "lastname":"sec_admin",
            "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain",
            "expiryTime":1338765551,
            "checkoutTime":1338333551,
            "timezone":"America\/Los_Angeles"
         }
      }
   ]
}

説明:

  • uidは、ユーザーの一意識別子です。

  • lastnameは、ユーザーの姓です。

  • dnは、ユーザーの識別名です。

  • expiryTimeは、チェックアウト・セッションの有効期限時刻です。このパラメータの値は、UNIX時間です。

  • checkoutTimeは、アカウントがチェックアウトされた時刻です。このパラメータの値は、UNIX時間です。

  • timezoneは、expiryTimeおよびcheckOutTimeに適用可能なタイムゾーンを示します。

B.2.13 パスワードの表示

このAPIを使用して、アカウントに関連付けられたパスワードを取得および表示します。

URI

https://opam_server_host:opam_ssl_port/opam/account/{accountUID}/showpassword

メソッド

PUT

本体


成功時の戻り値

ステータス・コード200およびアカウント・トークンのJSON表現


例B-20 アカウント・トークンのサンプルJSON表現

{
   "accountToken":{
      "accountName":"lucie",
      "accountUID":"3f74a85e39e64432ba917a2e60fa15aa",
      "accountPassword":"GJN8p2ol"
   }
}

説明:

  • accountUIDは、アカウントの一意識別子です。

  • accountNameは、アカウントの名前です。

  • accountPasswordは、アカウント・パスワードです。

B.3 UIリソース

この項では次のAPIについて説明します。

B.3.1 アカウントの検索

このAPIでは、次の検索リクエスト・パラメータを1つ以上使用してアカウントを検索します。

  • type

  • domain

  • org

  • name

  • accountname

これらのパラメータはすべてオプションです。

URI

https://opam_server_host:opam_ssl_port/ui/allaccounts/search?param1=val1&param2=val2

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびアカウント収集のJSON表現


例B-21 アカウント収集のサンプルJSON表現

{
   "AccountCollection":[
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4", "accountUID":"3740553e999a4f6aa8e8f9286d320cb4", "accountName":"sherlock", "status":"checkedOut", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "disabled":"false", "grantees":{ "users":[ ], "roles":[ ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/c11066278022489aad758aec69d9727d", "accountUID":"c11066278022489aad758aec69d9727d", "accountName":"himanshu", "status":"checkedIn", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "disabled":"true", "grantees":{ "users":[ ], "roles":[ ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/154034fc5b5548caad7721e198815709", "accountUID":"154034fc5b5548caad7721e198815709", "accountName":"lucie", "status":"checkedIn", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "disabled":"true", "grantees":{ "users":[ ], "roles":[ ] } } } ], "count":3 }

説明:

  • disabledは、アカウントに対するユーザーの付与アクセス権を示します。

    • 設定がtrueの場合、ユーザーはアカウントに対する付与アクセス権を持ちます。

    • 設定がfalseの場合、ユーザーはアカウントを表示できるがチェックアウトできない管理者です。

他のすべての属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.3.2 すべてのチェックアウト済アカウントの取得

このAPIを使用して、ログイン・ユーザーによってチェックアウトされたすべてのアカウントのリストを取得します。

URI

https://opam_server_host:opam_ssl_port/ui/allaccounts/mycheckedout

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびアカウント収集のJSON表現


例B-22 アカウント収集のサンプルJSON表現

{
   "AccountCollection":[
      {
         "account":{
            "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4", "accountUID":"3740553e999a4f6aa8e8f9286d320cb4", "accountName":"sherlock", "status":"checkedOut", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "policyname":"Default Usage Policy", "policyid":"usagepolicy1", "expiryTime":1338765551, "timezone":"America\/Los_Angeles", "grantees":{ "users":[ ], "roles":[ ] } }, "count":1 } ] }

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.4 ユーザー・リソース

この項では次のAPIについて説明します。

B.4.1 ユーザーの取得

このAPIを使用してユーザーを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/user/{uid}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびユーザーのJSON表現


例B-23 ユーザーのサンプルJSON表現

{
   "user":{
      "uid":"opamuser1",
      "lastname":"opamuser1",
      "usertype":"End-User",
      "opamrole":[
 
      ],
      "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain",
      "accounts":[
         {
            "accountUID":"3740553e999a4f6aa8e8f9286d320cb4",
            "accountName":"sherlock",
            "targetType":"ldap",
            "targetName":"hhsharma-ldap",
            "targetDomain":"berkeley"
         },
         {
            "accountUID":"154034fc5b5548caad7721e198815709",
            "accountName":"lucie",
            "targetType":"ldap",
            "targetName":"hhsharma-ldap",
            "targetDomain":"berkeley"
         }
      ]
   }
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.4.2 ユーザーの検索

このAPIを使用してユーザーを検索します。このAPIは、次のパラメータを1つ以上使用したcontains条件検索です。

  • firstname

  • lastname

  • UID(一意識別子)

  • mail

URI

https://opam_server_host:opam_ssl_port/opam/user/search/{searchKeyWord}

メソッド

GET

本体


成功時の戻り値

ステータス200およびユーザーのJSON表現


例B-24 ユーザーのサンプルJSON表現

{
   "users":[
      {
         "user":{
            "uid":"opamenduser1",
            "firstname":"opamenduser1",
            "lastname":"opamenduser1",
            "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser2",
            "lastname":"opamenduser2",
            "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamuser1",
            "lastname":"opamuser1",
            "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
         }
      }
   ]
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.4.3 ユーザーの拡張検索

このAPIを使用してユーザーを検索します。このAPIは、次のパラメータを1つ以上使用したcontains条件検索です。

  • uid

  • lastname

  • firstname

これらのパラメータはすべてオプションです。

URI

https://opam_server_host:opam_ssl_port/opam/user/advancedsearch?param1=val1&param2=val2

メソッド

GET

本体


成功時の戻り値

ステータス200およびユーザーのJSON表現


例B-25 ユーザーのサンプルJSON表現

{
   "users":[
      {
         "user":{
            "uid":"OracleSystemUser",
            "lastname":"OracleSystemUser",
            "dn":"uid=OracleSystemUser,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"weblogic",
            "lastname":"weblogic",
            "dn":"uid=weblogic,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"app_config",
            "lastname":"app_config",
            "dn":"uid=app_config,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"sec_admin",
            "lastname":"sec_admin",
            "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"user_manager",
            "lastname":"user_manager",
            "dn":"uid=user_manager,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"sec_auditor",
            "lastname":"sec_auditor",
            "dn":"uid=sec_auditor,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser1",
            "firstname":"opamenduser1",
            "lastname":"opamenduser1",
            "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamenduser2",
            "lastname":"opamenduser2",
            "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain"
         }
      },
      {
         "user":{
            "uid":"opamuser1",
            "lastname":"opamuser1",
            "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
         }
      }
   ]
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.5 グループ・リソース

この項では次のAPIについて説明します。

B.5.1 グループの取得

このAPIを使用してグループを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/group/{name}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびグループのJSON表現


例B-26 グループのサンプルJSON表現

{
   "group":{
      "name":"opamgroup1",
      "dn":"cn=opamgroup1,ou=groups,ou=myrealm,dc=base_domain",
      "description":"",
      "users":[
         {
            "uid":"opamenduser1",
            "firstname":"opamenduser1",
            "lastname":"opamenduser1",
            "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
         },
         {
            "uid":"opamuser1",
            "lastname":"opamuser1",
            "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
         }
      ],
      "groups":[
         {
            "group":{
               "name":"opamsubgroup1",
               "dn":"cn=opamsubgroup1,ou=groups,ou=myrealm,dc=base_domain",
               "description":""
            }
         },
         {
            "group":{
               "name":"opamsubgroup2",
               "dn":"cn=opamsubgroup2,ou=groups,ou=myrealm,dc=base_domain",
               "description":""
            }
         }
      ],
      "accounts":[
         {
            "accountUID":"c11066278022489aad758aec69d9727d",
            "accountName":"himanshu",
            "targetType":"ldap",
            "targetName":"hhsharma-ldap",
            "targetDomain":"berkeley"
         }
      ]
   }
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.5.2 グループの検索

このAPIを使用してグループを検索します。このAPIは、group nameパラメータを使用したcontains条件検索です。

URI

https://opam_server_host:opam_ssl_port/opam/group/search/{searchKeyWord}

メソッド

GET

本体


成功時の戻り値

ステータス200およびグループのJSON表現


例B-27 グループのサンプルJSON表現

{
   "groups":[
      {
         "group":{
            "name":"opamgroup1",
            "dn":"cn=opamgroup1,ou=groups,ou=myrealm,dc=base_domain",
            "description":"",
            "users":[
               {
                  "uid":"opamenduser1",
                  "firstname":"opamenduser1",
                  "lastname":"opamenduser1",
                  "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
               },
               {
                  "uid":"opamuser1",
                  "lastname":"opamuser1",
                  "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      },
      {
         "group":{
            "name":"opamgroup2",
            "dn":"cn=opamgroup2,ou=groups,ou=myrealm,dc=base_domain",
            "description":"",
            "users":[
               {
                  "uid":"opamenduser1",
                  "firstname":"opamenduser1",
                  "lastname":"opamenduser1",
                  "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain"
               },
               {
                  "uid":"opamuser1",
                  "lastname":"opamuser1",
                  "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      },
      {
         "group":{
            "name":"opamsubgroup1",
            "dn":"cn=opamsubgroup1,ou=groups,ou=myrealm,dc=base_domain",
            "description":"",
            "users":[
 
            ]
         }
      },
      {
         "group":{
            "name":"opamsubgroup2",
            "dn":"cn=opamsubgroup2,ou=groups,ou=myrealm,dc=base_domain",
            "description":"",
            "users":[
 
            ]
         }
      },
      {
         "group":{
            "name":"OPAM_APPLICATION_CONFIGURATOR",
            "dn":"cn=OPAM_APPLICATION_CONFIGURATOR,ou=groups,ou=myrealm,dc=base_domain",
            "description":"OPAM_APPLICATION_CONFIGURATOR",
            "users":[
               {
                  "uid":"app_config",
                  "lastname":"app_config",
                  "dn":"uid=app_config,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_ADMIN",
            "dn":"cn=OPAM_SECURITY_ADMIN,ou=groups,ou=myrealm,dc=base_domain",
            "description":"OPAM_SECURITY_ADMIN",
            "users":[
               {
                  "uid":"sec_admin",
                  "lastname":"sec_admin",
                  "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      },
      {
         "group":{
            "name":"OPAM_SECURITY_AUDITOR",
            "dn":"cn=OPAM_SECURITY_AUDITOR,ou=groups,ou=myrealm,dc=base_domain",
            "description":"OPAM_SECURITY_AUDITOR",
            "users":[
               {
                  "uid":"sec_auditor",
                  "lastname":"sec_auditor",
                  "dn":"uid=sec_auditor,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      },
      {
         "group":{
            "name":"OPAM_USER_MANAGER",
            "dn":"cn=OPAM_USER_MANAGER,ou=groups,ou=myrealm,dc=base_domain",
            "description":"OPAM_USER_MANAGER",
            "users":[
               {
                  "uid":"user_manager",
                  "lastname":"user_manager",
                  "dn":"uid=user_manager,ou=people,ou=myrealm,dc=base_domain"
               }
            ]
         }
      }
   ]
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.5.3 グループの拡張検索

このAPIを使用して、リクエスト・パラメータがgroupnameであるユーザーを検索します。パラメータはすべてオプションです。

URI

https://opam_server_host:opam_ssl_port/opam/group/advancedsearch?param1=val1&param2=val2

メソッド

GET

本体


成功時の戻り値

ステータス200およびグループのJSON表現


例B-28 グループのサンプルJSON表現

{
   "groups":[
      {
         "group":{
            "name":"AdminChannelUsers",
            "dn":"cn=AdminChannelUsers,ou=groups,ou=myrealm,dc=base_domain",
            "description":"AdminChannelUsers can access the admin channel.",
            "users":[
 
            ],
            "accounts":[
 
            ]
         }
      },
      {
         "group":{
            "name":"Administrators",
            "dn":"cn=Administrators,ou=groups,ou=myrealm,dc=base_domain",
            "description":"Administrators can view and modify all resource attributes 
and start and stop servers.", "users":[ { "uid":"weblogic", "lastname":"weblogic", "dn":"uid=weblogic,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"AppTesters", "dn":"cn=AppTesters,ou=groups,ou=myrealm,dc=base_domain", "description":"AppTesters group.", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"CrossDomainConnectors", "dn":"cn=CrossDomainConnectors,ou=groups,ou=myrealm,dc=base_domain", "description":"CrossDomainConnectors can make inter-domain calls from
foreign domains.", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"Deployers", "dn":"cn=Deployers,ou=groups,ou=myrealm,dc=base_domain", "description":"Deployers can view all resource attributes and deploy applications.", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"Monitors", "dn":"cn=Monitors,ou=groups,ou=myrealm,dc=base_domain", "description":"Monitors can view and modify all resource attributes
and perform operations not restricted by roles.", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"Operators", "dn":"cn=Operators,ou=groups,ou=myrealm,dc=base_domain", "description":"Operators can view and modify all resource attributes and
perform server lifecycle operations.", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"OracleSystemGroup", "dn":"cn=OracleSystemGroup,ou=groups,ou=myrealm,dc=base_domain", "description":"Oracle application software system group.", "users":[ { "uid":"OracleSystemUser", "lastname":"OracleSystemUser", "dn":"uid=OracleSystemUser,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"OPAM_APPLICATION_CONFIGURATOR", "dn":"cn=OPAM_APPLICATION_CONFIGURATOR,ou=groups,ou=myrealm,dc=base_domain", "description":"OPAM_APPLICATION_CONFIGURATOR", "users":[ { "uid":"app_config", "lastname":"app_config", "dn":"uid=app_config,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"OPAM_SECURITY_ADMIN", "dn":"cn=OPAM_SECURITY_ADMIN,ou=groups,ou=myrealm,dc=base_domain", "description":"OPAM_SECURITY_ADMIN", "users":[ { "uid":"sec_admin", "lastname":"sec_admin", "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"OPAM_USER_MANAGER", "dn":"cn=OPAM_USER_MANAGER,ou=groups,ou=myrealm,dc=base_domain", "description":"OPAM_USER_MANAGER", "users":[ { "uid":"user_manager", "lastname":"user_manager", "dn":"uid=user_manager,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"OPAM_SECURITY_AUDITOR", "dn":"cn=OPAM_SECURITY_AUDITOR,ou=groups,ou=myrealm,dc=base_domain", "description":"OPAM_SECURITY_AUDITOR", "users":[ { "uid":"sec_auditor", "lastname":"sec_auditor", "dn":"uid=sec_auditor,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"opamgroup1", "dn":"cn=opamgroup1,ou=groups,ou=myrealm,dc=base_domain", "description":"", "users":[ { "uid":"opamenduser1", "firstname":"opamenduser1", "lastname":"opamenduser1", "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain" }, { "uid":"opamuser1", "lastname":"opamuser1", "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"opamgroup2", "dn":"cn=opamgroup2,ou=groups,ou=myrealm,dc=base_domain", "description":"", "users":[ { "uid":"opamenduser1", "firstname":"opamenduser1", "lastname":"opamenduser1", "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain" }, { "uid":"opamuser1", "lastname":"opamuser1", "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain" } ], "accounts":[ ] } }, { "group":{ "name":"opamsubgroup1", "dn":"cn=opamsubgroup1,ou=groups,ou=myrealm,dc=base_domain", "description":"", "users":[ ], "accounts":[ ] } }, { "group":{ "name":"opamsubgroup2", "dn":"cn=opamsubgroup2,ou=groups,ou=myrealm,dc=base_domain", "description":"", "users":[ ], "accounts":[ ] } } ] }

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。

B.6 使用ポリシー・リソース

この項では次のAPIについて説明します。

B.6.1 使用ポリシーの作成

このAPIを使用して使用ポリシーを作成します。

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy

メソッド

POST

本体

使用ポリシーの作成のJSON表現

成功時の戻り値

ステータス・コード201


例B-29 使用ポリシーの作成のサンプルJSON表現

{
   "usagepolicy":{
      "policystatus":"active",
      "policyname":"Default Usage Policy",
      "description":"Default Usage Policy",
      "dateorduration":"duration",
      "expireddateminutesfromcheckout":7200,
      "expireddate":"08\/08\/2088",
      "expireddatehour":0,
      "expireddateminutes":0,
      "expireddateamorpm":"am",
      "timezone":"America\/Los_Angeles",
      "usagedates":[
         {
            "day":"saturday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"wednesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"sunday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"friday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"tuesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"thursday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"monday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         }
      ]
   }
}

属性定義の詳細は、B.1項「ターゲット・リソース」およびB.2項「アカウント・リソース」を参照してください。policynameを除くすべてのパラメータはオプションです。

B.6.2 使用ポリシーの取得

このAPIを使用して使用ポリシーを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200および使用ポリシーのJSON表現


例B-30 使用ポリシーのサンプルJSON表現

{
   "usagepolicy":{
      "policyid":"usagepolicy1",
      "policystatus":"active",
      "policyname":"Default Usage Policy",
      "description":"Default Usage Policy",
      "globaldefault":"y",
      "dateorduration":"duration",
      "expireddateminutesfromcheckout":7200,
      "expireddate":"08\/08\/2088",
      "expireddatehour":0,
      "expireddateminutes":0,
      "expireddateamorpm":"am",
      "timezone":"America\/Los_Angeles",
      "usagedates":[
         {
            "day":"saturday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"wednesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"sunday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"friday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"tuesday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"thursday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         },
         {
            "day":"monday",
            "fromhour":"12",
            "fromminutes":"0",
            "fromamorpm":"am",
            "tohour":"12",
            "tominutes":"0",
            "toamorpm":"am"
         }
      ],
      "accounts":[
         {
            "account":{
               "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/c11066278022489aad758aec69d9727d", "accountUID":"c11066278022489aad758aec69d9727d", "accountName":"himanshu", "status":"checkedIn", "targetName":"hhsharma-ldap", "targetType":"ldap", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "domain":"berkeley", "grantees":{ "users":[ ], "roles":[ { "role":{ "name":"Administrators", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "description":"Administrators can view and modify all resource
attributes and start and stop servers." } }, { "role":{ "name":"opamgroup1", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "description":"" } }, { "role":{ "name":"opamgroup2", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "description":"" } } ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4", "accountUID":"3740553e999a4f6aa8e8f9286d320cb4", "accountName":"sherlock", "status":"checkedOut", "targetName":"hhsharma-ldap", "targetType":"ldap", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "domain":"berkeley", "grantees":{ "users":[ { "user":{ "uid":"sec_admin", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "lastname":"sec_admin", "dn":"uid=sec_admin,ou=people,ou=myrealm,dc=base_domain" } }, { "user":{ "uid":"opamenduser1", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "firstname":"opamenduser1", "lastname":"opamenduser1", "dn":"uid=opamenduser1,ou=people,ou=myrealm,dc=base_domain" } }, { "user":{ "uid":"opamenduser2", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "lastname":"opamenduser2", "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain" } }, { "user":{ "uid":"opamuser1", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "lastname":"opamuser1", "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain" } } ], "roles":[ ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\
/account\/154034fc5b5548caad7721e198815709", "accountUID":"154034fc5b5548caad7721e198815709", "accountName":"lucie", "status":"checkedIn", "targetName":"hhsharma-ldap", "targetType":"ldap", "targetUID":"9bbcbbb087174ad1900ea691a2573b61", "domain":"berkeley", "grantees":{ "users":[ { "user":{ "uid":"opamuser1", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "lastname":"opamuser1", "dn":"uid=opamuser1,ou=people,ou=myrealm,dc=base_domain" } }, { "user":{ "uid":"opamenduser2", "usagepolicy":"usagepolicy1", "usagepolicyname":"Default Usage Policy", "lastname":"opamenduser2", "dn":"uid=opamenduser2,ou=people,ou=myrealm,dc=base_domain" } } ], "roles":[ ] } } } ] } }

説明:

  • usagepolicyは、使用ポリシーJSONオブジェクトです。

  • policyidは、使用ポリシーの一意識別子です。

  • policystatusは、activeまたはdisabledに設定されます。

  • policynameは、ポリシーの名前です。

  • descriptionは、ポリシーの説明です。

  • globaldefaultは、ポリシーがグローバル・デフォルト・ポリシーであるかどうかを示します。

  • dateordurationは、有効期限の計算方法を示します。

    • 設定がdateの場合、expireddateexpireddatehourexpireddateminutesおよびexpireddateamorpmが使用されます。

    • 設定がdurationの場合、expireddateminutesfromcheckoutが使用されます。

    説明:

    • expireddateは有効期限の日付です。

    • expireddatehour.hourは0から12の整数値です。

    • expireddateminutes.minutesは0から60の整数値です。

    • expireddateamorpmはa.m.またはp.m.です。

    • expireddateminutesfromcheckoutはチェックアウトからの分数です。

  • timezoneは、使用ポリシーのタイムゾーンです。

  • usagedatesは、配列であり、各値が個々の日のチェックアウト時刻を表します。

  • dayは、曜日であり、有効な値はsundaymondaytuesdaywednesdaythursdayfridayおよびsaturdayです。

次の属性を使用して範囲の開始と終了を示します。

  • fromhourは、0から12の整数値です。

  • fromminutesは、0から60の整数値です。

  • fromamorpmは、a.m.またはp.m.です。

  • tohourは、0から12の整数値です。

  • tominutesは、0から60の整数値です。

  • toamorpmは、a.m.またはp.m.です。

B.6.3 使用ポリシーの更新

このAPIを使用して使用ポリシーを更新します。policyidを除くすべての属性の更新が可能で、同時に複数の属性を更新できます。

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

メソッド

PUT

本体

使用ポリシーの変更のJSON表現

成功時の戻り値

ステータス・コード200


例B-31 使用ポリシーの変更のサンプルJSON表現

{
   "modifications":[
      {
         "modification":{
            "usagedates":[
               {
                  "day":"saturday",
                  "fromhour":"12",
                  "fromminutes":"0",
                  "fromamorpm":"am",
                  "tohour":"12",
                  "tominutes":"0",
                  "toamorpm":"am"
               },
               {
                  "day":"wednesday",
                  "fromhour":"12",
                  "fromminutes":"0",
                  "fromamorpm":"am",
                  "tohour":"12",
                  "tominutes":"0",
                  "toamorpm":"am"
               }
            ]
         }
      },
      {
         "modification":{
            "expireddatehour":2
         }
      }
   ]
}

説明:

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一属性を表すJSONオブジェクトです。

ターゲットのusagedatesおよびexpireddatehour属性を更新する必要があります。これらの値は、指定された値に更新されます。

B.6.4 使用ポリシーの削除

このAPIを使用して使用ポリシーを削除します。

URI

https://opam_server_host:opam_ssl_port/opam/usagepolicy/{policyid}

メソッド

DELETE

本体


成功時の戻り値

ステータス200


B.7 パスワード・ポリシー・リソース

この項では次のAPIについて説明します。

B.7.1 パスワード・ポリシーの作成

このAPIを使用してパスワード・ポリシーを作成します。

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy

メソッド

POST

本体

パスワード・ポリシーの作成のJSON表現

成功時の戻り値

ステータス・コード201


例B-32 パスワード・ポリシーの作成のサンプルJSON表現

{
   "passwordpolicy":{
      "policystatus":"active",
      "policyname":"Default Password Policy",
      "description":"Default Password Policy",
      "passwordchangedurationunit":"days",
      "passwordchangedurationvalue":30,
      "changeoncheckin":"y",
      "changeoncheckout":"y",
      "passwordcharsmin":8,
      "passwordcharsmax":8,
      "passwordalphabeticmin":1,
      "passwordnumericmin":1,
      "passwordalphanumericmin":2,
      "passworduniquemin":1,
      "passworduppercasemin":1,
      "passwordlowercasemin":1,
      "passwordspecialmin":0,
      "passwordspecialmax":0,
      "passwordrepeatedmin":0,
      "passwordrepeatedmax":1,
      "startingchar":"n",
      "isaccountnameallowed":"n",
      "requiredchars":[
         "a",
         "h",
         "j"
      ],
      "allowedchars":[
         "b",
         "t",
         "y",
         "p",
         "u",
         "r",
         "o",
         "k",
         "1",
         "2",
         "=",
         "M",
         "a",
         "h",
         "j"
      ],
      "disalloweddchars":[
         "7",
         "8",
         "l"
      ]
   }
}

policynameを除き、属性はすべてオプションです。

B.7.2 パスワード・ポリシーの取得

このAPIを使用してパスワード・ポリシーを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびパスワード・ポリシーのJSON表現


例B-33 パスワード・ポリシーのサンプルJSON表現

{
   "passwordpolicy":{
      "policyid":"passwordpolicy2",
      "policystatus":"active",
      "policyname":"Default Password Policy",
      "description":"Default Password Policy",
      "globaldefault":"y",
      "passwordchangedurationunit":"days",
      "passwordchangedurationvalue":30,
      "changeoncheckin":"y",
      "changeoncheckout":"y",
      "passwordcharsmin":8,
      "passwordcharsmax":8,
      "passwordalphabeticmin":1,
      "passwordnumericmin":1,
      "passwordalphanumericmin":2,
      "passworduniquemin":1,
      "passworduppercasemin":1,
      "passwordlowercasemin":1,
      "passwordspecialmin":0,
      "passwordspecialmax":0,
      "passwordrepeatedmin":0,
      "passwordrepeatedmax":1,
      "startingchar":"n",
      "isaccountnameallowed":"n",
      "requiredchars":[
         "a",
         "h",
         "j"
      ],
      "allowedchars":[
         "b",
         "t",
         "y",
         "p",
         "u",
         "r",
         "o",
         "k",
         "1",
         "2",
         "=",
         "M",
         "a",
         "h",
         "j"
      ],
      "disalloweddchars":[
         "7",
         "8",
         "l"
      ],
      "accounts":[
         {
            "account":{
               "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/3740553e999a4f6aa8e8f9286d320cb4", "accountUID":"3740553e999a4f6aa8e8f9286d320cb4", "accountName":"sherlock", "status":"checkedOut", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "grantees":{ "users":[ ], "roles":[ ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/c11066278022489aad758aec69d9727d", "accountUID":"c11066278022489aad758aec69d9727d", "accountName":"himanshu", "status":"checkedIn", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "grantees":{ "users":[ ], "roles":[ ] } } }, { "account":{ "uri":"https:\/\/opam_server_host:opam_ssl_port\/opam\/account\
/154034fc5b5548caad7721e198815709", "accountUID":"154034fc5b5548caad7721e198815709", "accountName":"lucie", "status":"checkedIn", "targetName":"hhsharma-ldap", "targetType":"ldap", "domain":"berkeley", "grantees":{ "users":[ ], "roles":[ ] } } } ] } }

説明:

  • passwordpolicyは、パスワード・ポリシーJSONオブジェクトです。

  • policyidは、ポリシーの一意識別子です。

  • policystatusは、ポリシー・ステータスであり、有効な値はactiveまたはdisabledです。

  • policynameは、ポリシー名です。

  • descriptionは、ポリシーの説明です。

  • globaldefaultは、ポリシーがグローバル・デフォルトであるかどうかを示します。

  • dateordurationは、有効期限の計算方法を示します。

    • 設定がdateの場合、expireddateexpireddatehourexpireddateminutesおよびexpireddateamorpmが使用されます。

    • 設定がdurationの場合、expireddateminutesfromcheckoutが使用されます。

    説明:

    • expireddateは有効期限の日付です。

    • expireddatehour.hourは0から12の整数値です。

    • expireddateminutes.minutesは0から60の整数値です。

    • expireddateamorpmはa.m.またはp.m.です。

    • expireddateminutesfromcheckoutはチェックアウトからの分数です。

  • timezoneは、使用ポリシーのタイムゾーンです。

  • usagedatesは、配列であり、各値が個々の日のチェックアウト時刻を表します。

  • dayは、曜日であり、有効な値はsundaymondaytuesdaywednesdaythursdayfridayおよびsaturdayです。

その他の属性定義の詳細は、B.2項「アカウント・リソース」を参照してください。

B.7.3 パスワード・ポリシーの削除

このAPIを使用してパスワード・ポリシーを削除します。

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

メソッド

DELETE

本体


成功時の戻り値

ステータス200


B.7.4 パスワード・ポリシーの更新

このAPIを使用して使用ポリシーを更新します。policyidを除くすべての属性の更新が可能で、同時に複数の属性を更新できます。

URI

https://opam_server_host:opam_ssl_port/opam/passwordpolicy/{policyid}

メソッド

PUT

本体

パスワード・ポリシーの変更のJSON表現

成功時の戻り値

ステータス・コード201


例B-34 パスワード・ポリシーの変更のサンプルJSON表現

{
   "modifications":[
      {
         "modification":{
            "disalloweddchars":[
               "4",
               "6"
            ]
         }
      },
      {
         "modification":{
            "passwordalphabeticmin":2
         }
      }
   ]
}

説明:

  • modificationsは、変更JSONオブジェクトの配列です。

  • modificationは、単一属性を表すJSONオブジェクトです。

ターゲットのdisalloweddcharsおよびpasswordalphabeticmin属性を更新する必要があります。これらの属性値は、指定された値に更新されます。

B.8 ポリシー・リソース

この項では次のAPIについて説明します。

B.8.1 ポリシーの検索

このAPIを使用してアカウントを検索します。このAPIは、次のパラメータを1つ以上使用したcontains条件検索です。

  • policystatus

  • policyname

  • accountname

パラメータはすべてオプションです。

URI

https://opam_server_host:opam_ssl_port/opam/policy/search?param1=val1&param2=val2

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびポリシーのJSON表現


例B-35 ポリシーのサンプルJSON表現

{
   "usagepolicies":[
      {
         "policyname":"Default Usage Policy",
         "policyid":"usagepolicy1",
         "policystatus":"active",
         "globaldefault":"y"
      }
   ],
   "passwordpolicies":[
      {
         "policyname":"Default Password Policy",
         "policyid":"passwordpolicy2",
         "policystatus":"active",
         "globaldefault":"y"
      }
   ]
}

説明:

  • usagepoliciesは、使用ポリシーの配列です。

  • passwordpoliciesは、パスワード・ポリシーの配列です。

  • policynameは、ポリシー名です。

  • policyidは、ポリシーの一意識別子です。

  • policystatusは、ポリシー・ステータスであり、有効な値はactiveまたはdisabledです。

B.8.2 デフォルト・ポリシーの取得

このAPIを使用して、デフォルト使用ポリシーおよびデフォルト・パスワード・ポリシーを取得します。

URI

https://opam_server_host:opam_ssl_port/opam/policy/default

メソッド

GET

本体


成功時の戻り値

ステータス・コード200およびポリシーのJSON表現


例B-36 ポリシーのサンプルJSON表現

{
   "usagepolicies":[
      {
         "policyname":"Default Usage Policy",
         "policyid":"usagepolicy1",
         "policystatus":"active"
      }
   ],
   "passwordpolicies":[
      {
         "policyname":"Default Password Policy",
         "policyid":"passwordpolicy2",
         "policystatus":"active"
      }
   ]
}

説明:

  • usagepoliciesは、使用ポリシーの配列です。

  • passwordpoliciesは、パスワード・ポリシーの配列です。

  • policynameは、ポリシー名です。

  • policyidは、ポリシーの一意識別子です。

  • policystatusは、ポリシー・ステータスであり、有効な値はactiveまたはdisabledです。

この属性は、デフォルト・ポリシー(デフォルト使用ポリシーおよびデフォルト・パスワード・ポリシー)のみを返します。