8 EDQシステム管理APIの使用

EDQには、EDQシステム・レポート生成、パッケージのインポートとエクスポート、セキュリティと暗号化の構成、Webプッシュ通知、Launchpadアプリケーション構成、およびユーザーとユーザー・グループ構成用のRESTベースのインタフェースのセットが用意されています。

システム管理APIを開くには、Launchpadの「Webサービス」ドロップダウン・メニューから「システム管理REST API仕様」を選択します。サービスを選択すると、自動的にロードされます。この章では、EDQサービスが次の場所にインストールされていると仮定します。

http://edqserver:8001/edq

この章では、これらのインタフェースと、そのインタフェースを使用して実行できる操作について詳細に説明します。次のトピックが含まれています:

8.1 REST APIを使用したシステム・レポートの生成

EDQ sysreportは、実行中のシステムから構成およびランタイム情報を取得するために使用できるサポート・ツールです。EDQには、JSONオブジェクトとしてsysreportを生成するためのREST APIが用意されています。出力ファイルは、診断および分析に使用できます。

この項では、EDQサービスが次の場所にインストールされていると仮定します:

http://edqserver:8001/edq

このREST APIを実行するには、システム管理権限が必要です。次のインタフェースを使用して、sysreportを生成します:

GET http://server:port/edq/admin/sysreport[?hideenv=true]

出力JSONの最上位の属性は次のとおりです:
属性 説明

configdb

構成スキーマ・データベースのタイプおよびバージョン情報。

configpath

構成パス(文字列の配列として)。

configproperties

EDQ構成プロパティ。

environment

環境変数。URLで?hideenv=trueが使用されている場合、この属性は省略されます。

licencepacks

選択したライセンス・パック(文字列の配列として)。

memory

基本的なメモリー使用量の情報。

memorypools

Javaメモリー・プールの情報。

os

OSおよびCPUの情報。

resultsdb

結果スキーマ・データベースのタイプおよびバージョン情報。

securityrealms

構成された各セキュリティ・レルムの名前およびラベル。

server

サーバー情報。

starttime

サーバーの開始日時。

systemproperties

Javaシステム・プロパティ。

version

EDQバージョン文字列。

vm

Java VM情報。

webroot

Webルートへのパス。

このREST APIを使用して、完全なレポートのサブセットをリクエストできます。

次のインタフェースを使用します:

http://server:port/edq/admin/sysreport/subpath[?hideenv=true]

URLのsubpathは、完全なレポート内のサブセットを選択するために使用されます。パス内の各要素は、JSONオブジェクトの属性に対応します。

たとえば、

構成スキーマ・データベースに関する情報のみを取得するには、次を使用します:

http://server:port/edq/admin/sysreport/configdb

データベース・タイプのみを取得するには、次を使用します:

http://server:port/edq/admin/sysreport/configdb/dbtype

Javaバージョンを返すには、次を使用します:

http://server:port/edq/admin/sysreport/systemproperties/java.version

8.2 REST APIを使用した構成オブジェクトのインポートおよびエクスポート

EDQには、EDQ環境間での構成の転送を自動化するためのRESTベースのインタフェースのセットが用意されています。これらのREST APIを使用して、次の構成オブジェクトをパッケージ化、エクスポートおよびインポートできます:

  • Projects
  • グローバル参照データ
  • グローバル・データ・ストア
  • グローバル公開済プロセッサ
  • 格納済資格証明
  • ケース・ソース
  • ケース・ワークフロー
  • ケース権限
  • グローバル・ケース・フィルタ

APIによって書込みと読取りが行われるパッケージ・ファイルは、ZIP形式です。リクエスト・ペイロードに指定されたパスワードを使用して、構成オブジェクトおよび格納済資格証明を暗号化できます。システムの起動時にパッケージ・ファイルをインポートするための「インポート」自動実行タスクを追加できます。インポート処理の詳細は、自動実行処理の使用に関する項を参照してください。

この章では、これらのインタフェースと、そのインタフェースを使用して実行できる操作について詳細に説明します。次のトピックが含まれています:

8.2.1 構成のパッケージ化用のRESTインタフェース

EDQでの構成のパッケージ化、エクスポートおよびインポートを操作するためのRESTインタフェースは、次のとおりです

http://edqserver:port/edq/package

このインタフェースでは、次のタスクを実行できます。

  • 構成のエクスポート

    構成オブジェクトをパッケージ化およびエクスポートするには、パッケージ機能権限が必要です。ケース管理オブジェクトがエクスポートに含まれている場合は、ケース管理の管理アプリケーションにアクセスできる必要があります。

    構成オブジェクトをパッケージ化およびエクスポートするには、次のインタフェースを使用します:

    POST http://edqserver:port/edq/package/export

  • 構成のインポート

    インポートするすべてのオブジェクトに対する作成および削除機能権限が必要です。ケース管理オブジェクトがインポートに含まれている場合は、ケース管理の管理アプリケーションにアクセスできる必要があります。

    構成オブジェクトをインポートするには、次のインタフェースを使用します:

    POST http://edqserver:port/edq/package/import

  • パッケージング・タスク・ステータスの取得

    エクスポート・コールとインポート・コールはすぐに戻され、パッケージング・タスクが非同期で実行されます。パッケージ・コールの結果は、タスクの実行IDである"id"属性を含むJSONオブジェクトです。たとえば:

    {"id":"58636dd0-22b6-4d7d-be16-74908d30404f"}

    パッケージング・タスクのステータス情報を取得するには、次のインタフェースを使用します:

    GET http://edqserver:port/edq/package/status/executionid

    パッケージング・ステータスは、タスクが完了してから1時間システムに保持されます。ステータス取得コールで実行IDを指定しない場合、保持されているすべてのパッケージング・タスクのステータスが戻されます。

    たとえば:

    GET http://server/edq/package/status/58636dd0-22b6-4d7d-be16-74908d30404f

    この場合、この実行IDに固有のステータス情報が戻されます。

    GET http://server/edq/package/status

    この場合、保持されているすべてのパッケージング・タスクのステータス情報が戻されます。詳細は、「パッケージング・タスク・ステータス結果の形式」を参照してください。

8.2.2 JSONペイロード形式

REST APIでは、JSONペイロードを使用して、パッケージ化、エクスポートおよびインポート用の構成オブジェクトを定義します。

次の表は、JSONペイロードの属性を示しています:

属性 説明

casemanagement

エクスポート/インポートするケース管理オブジェクトを定義します。「casemanagementの属性」を参照してください。

destination

必須。宛先の定義。「destinationの属性」を参照してください。

password

暗号化パスワード。存在する場合、構成オブジェクトおよび格納済資格証明はパッケージ・ファイルで暗号化されます。

preserve

trueの場合、既存のオブジェクトは上書きされません。インポートにのみ適用されます。

label

パッケージング・タスクを説明するラベル。この情報はログ・メッセージに表示され、ステータス・レポートに含まれます。

datastores

エクスポート/インポートするグローバル・データ・ストアのセレクタ。

publishedprocessors

エクスポート/インポートするグローバル公開済プロセッサのセレクタ。

referencedata

エクスポート/インポートするグローバル参照データのセレクタ。

projects

エクスポート/インポートするプロジェクトのセレクタ。

storedcredentials

エクスポート/インポートする格納済資格証明のセレクタ。

casemanagementの属性

casemanagement値は、次の属性を持つオブジェクトです:

属性 説明

sources

エクスポート/インポートするケース・ソースのセレクタ。

workflows

エクスポート/インポートするケース・ワークフローのセレクタ。

permissions

エクスポート/インポートするケース権限のセレクタ。ケース権限は、ケース管理の管理アプリケーションで確認できる一意の内部権限キーを使用して照合されます。

filters

エクスポート/インポートするグローバル・ケース・フィルタのセレクタ。EDQ 14.1.2以降のバージョンに適用されます。

destinationの属性

ペイロードのdestination値は、次の属性を含むオブジェクトです:

属性 説明

location

必須。パッケージ・ファイルのファイル名またはURL。絶対ファイル名以外が指定されている場合、その場所はローカル・ホーム構成ディレクトリが基準になります。

credentials

URLの場所へのリクエストを認証するために使用される格納済資格証明の名前。場所がファイルである場合は無視されます。URLに単純なユーザー名/パスワード認証が必要な場合は、基本の格納済資格証明を使用します。

platformcredentials

trueの場合、ファイルのアップロード/ダウンロードにプラットフォーム資格証明が使用されます。Oracle Cloud Infrastructure (OCI) Object Storage、Amazon Web Services (AWS)およびGoogle Cloud Platform (GCP)でサポートされます。

method

アップロードに使用されるHTTPメソッド。場所がファイルである場合は無視されます。デフォルトはPUTです。

例:

EDQランディング領域でファイルを使用します:

{ ...
  "destination": {
    "location": "landingarea/pkg/package2.zip"
  },
  ...
}

格納済資格証明とともにOCIオブジェクト・ストレージを使用します:

{ ...
  "destination": {
    "location": "https://objectstorage.us-phoenix-1.oraclecloud.com/n/mytenancy/b/bucket1/o/package.zip",
    "credentials": "OCI 1"
  },
  ...
}

格納済資格証明とともにAWS S3を使用します:

{ ...
  "destination": {
    "location": "https://mystorage.s3.us-east-2.amazonaws.com/package.zip",
    "credentials": "aws1"
  },
  ...
}

格納済資格証明とともにGCPを使用します:

{ ...
  "destination": {
    "location": "https://storage.googleapis.com/upload/storage/v1/b/edqstorage/o?name=package.zip",
    "method": "POST",
    "credentials": "GCP 1"
  },
  ...
}

出力セレクタ

エクスポート/インポートするオブジェクトの指定に使用されるセレクタ・オブジェクトには、次の属性があります:

属性 説明

include

含めるオブジェクトの選択に使用される"glob-style"パターンの配列。任意の文字と一致させるにはアスタリスク(*)を使用し、1文字と一致させるには疑問符(?)を使用します。

exclude

除外するオブジェクトの選択に使用される"glob-style"パターンの配列。任意の文字と一致させるにはアスタリスク(*)を使用し、1文字と一致させるには疑問符(?)を使用します。

renames

古いオブジェクトから新しいオブジェクトへの名前変更を指定するオブジェクト。エクスポート時には、名前変更によってパッケージに書き込まれるアイテムが制御されます。インポート時には、名前変更はパッケージ内のオブジェクトに適用され、システムにインポートされる名前が制御されます。

エクスポート・タスクでは、包含パターンと除外パターンはデータベース内のアイテムと照合されます。インポート・タスクでは、パターンはパッケージ・ファイル内のアイテムと照合されます。

例:

"Temp1"のプロジェクトと"Test"で始まるプロジェクトを除くすべてのプロジェクトを含め、すべての非標準参照データを含めるには:

{ ...
  "projects": {
    "include": ["*"],
    "exclude": ["Temp1", "Test*"]
  },
  "referencedata": {
    "include": ["*"],
    "exclude": ["\\**"]
  },
  ...
}

最初のアスタリスク(*)がワイルドカードとして扱われないようにするには、エスケープ文字のバックスラッシュ(\)を使用します。JSON構文に準拠するには、2つのバックスラッシュ(\)文字を使用する必要があります。

すべてを含めるには:

{ ...

  "projects": {
    "include": ["*"]
  },

  "referencedata": {
    "include": ["*"]
  },

  "datastores": {
    "include": ["*"]
  },

  "publishedprocessors": {
    "include": ["*"]
  },

  "storedcredentials": {
    "include": ["*"]
  },

  "casemanagement": {

    "sources": {
      "include": ["*"]
    },

    "workflows": {
      "include": ["*"]
    },

    "permissions": {
      "include": ["*"]
    },
	"filters": {
	  "include": ["*"]
    }
  }
}

8.2.3 パッケージング・タスク・ステータス結果の形式

GETステータス・コールの結果は、属性が現在保持されている実行IDであるオブジェクトです。各属性の値は、次の属性を持つステータス・オブジェクトです:

属性 説明

label

パッケージング・リクエスト・ペイロードからコピーされたラベル。

type

"import"または"export"のいずれか。

complete

パッケージング・プロセスが完了するとtrueに設定されます。

failed

パッケージング・プロセスがエラーで失敗した場合はtrueに設定されます。

start

パッケージング・プロセスの開始タイムスタンプ。

end

パッケージング・プロセスの終了タイムスタンプ。プロセスが完了すると設定されます。

status

パッケージング・プロセスの現在のステータス。プロセスが完了するとクリアされます。

error

failedtrueである場合のエラー・メッセージ。

manifest

エクスポート・パッケージまたはインポートされたアイテムの内容を定義するマニフェスト・オブジェクト。正常に完了すると設定されます。

エクスポート・タスクのマニフェストは、パッケージZIPファイルの最初のエントリとして格納されます。manifestオブジェクトには、次の属性が含まれます:

属性 説明

version

マニフェスト・オブジェクトのバージョン。このバージョンでは常に1です。

appversion

"12.2.1.4.4"や"14.1.2.0.0"などのアプリケーション・バージョン。

encrypted

パッケージがパスワード付きで生成された場合はtrueに設定されます。

projects

エクスポートに含まれるか、インポート中に一致したプロジェクトの名前の配列。

referencedata

エクスポートに含まれるか、インポート中に一致したグローバル参照データの名前の配列。

datastores

エクスポートに含まれるか、インポート中に一致したグローバル・データ・ストアの名前の配列。

publishedprocessors

エクスポートに含まれるか、インポート中に一致したグローバル公開済プロセッサの名前の配列。

storedcredentials

エクスポートに含まれるか、インポート中に一致した格納済資格証明の名前の配列。

casemanagement

エクスポートに含まれるか、インポート中に一致したケース管理アイテム。

sources - ケース・ソース名

workflows - ケース・ワークフロー名

permissions - ケース権限キー

ステータス結果の例

次のペイロードでエクスポートが実行された場合:

{ ...

{ "label": "Export task1",
 
  "password": "medusa",
 
  "destination": {
    "location": "https://objectstorage.us-phoenix-1.oraclecloud.com/n/devbigdata/b/rde.bucket1/o/example.zip",
    "credentials": "OCI 1"
  },
 
  "projects": {
    "include": ["adb", "cases", "s*"],
    "exclude": ["snowflake"],
    "renames": {
      "adb": "Oracle ADB"
    }
  },
 
  "referencedata": {
    "include": ["*Country*"]
  },
 
  "storedcredentials": {
    "include": ["OCI*", "aws*"],
    "exclude": ["aws?"]
  },
 
  "casemanagement": {
 
    "sources": {
      "include": ["CS2", "Issue Remediation"]
    },
 
    "workflows": {
      "include": ["Issue Remediation*"]
    },
 
    "permissions": {
      "include": ["Permission?"]
    }
  }
}

完了後に次のステータスが戻されます:

{ "d154aee7-9af4-46ab-af89-84ed6b12109a": {
    "start": "2023-07-13T16:44:17.809Z",
    "label": "Export task1",
    "type": "export",
    "end": "2023-07-13T16:44:26.871Z",
    "manifest": {
      "appversion": "14.1.2.0.0",
      "encrypted": true,
      "projects": [
        "Oracle ADB",
        "cases",
        "scannerbug",
        "scripts",
        "services",
        "sqlserver",
        "srvr"
      ],
      "referencedata": [
        "Country from City",
        "Nationality to Standard Country",
        "Standardize Country Names"
      ],
      "datastores": [],
      "publishedprocessors": [],
      "storedcredentials": [
        "OCI 1",
        "OCI edqtest",
        "OCI edqtest2",
        "aws - oracle",
        "aws rde",
        "aws s3"
      ],
      "casemanagement": {
        "permissions": [
          "Permission1",
          "Permission2"
        ],
        "workflows": [
          "Issue Remediation Alerts",
          "Issue Remediation Cases"
        ],
        "sources": [
          "CS2",
          "Issue Remediation"
        ]
      },
      "version": 1
    },
    "complete": true
  }
}
8.2.3.1 パッケージングREST APIのトリガー

パッケージングAPIは、次のパスを使用してトリガーを実行します:

  • /package/export/start
  • /package/export/end
  • /package/import/start
  • /package/import/end

各トリガー・コールの引数は、タスク・ラベル(エクスポート/インポート・ペイロードから)および文字列としてのパッケージング・ステータスJSONです。ステータスは、文字列として渡されるため、追加の解析なしでロギングまたはストリーミング・フレームワークに簡単に送信できます。

次に、エクスポートの完了時にWebプッシュを使用して管理者に通知する例を示します:

addLibrary("webpush")
 
function getPath() {
  return "/package/export/end"
}
 
function run(path, id, env, label, status) {
  if (path.endsWith("/end")) {
    var push = WebPush.create("Export " + label + " complete")
 
    push.title      = "Export notification"
    push.icon       = "images/logo.png"
 
    push.groupnames = ["Administrators"]
    push.push()
  }
}

8.3 セキュリティおよび暗号化用のREST API

EDQ構成に格納される特定の情報は、セキュリティを強化するために暗号化されます。暗号化および復号化は、プラガブル・セキュリティ・モジュールによって処理されます。セキュリティ・モジュールが既存のシステムで置換または再構成され、既存の暗号化データがある場合、次のREST APIインタフェースを使用して新しいセキュリティ・モジュールを定義できます:

POST to /etc/admin/security/rotateencryption

POST to /edq/admin/security/migrateencryption

詳細は、「EDQ暗号化の構成」を参照してください。

8.4 Webプッシュ通知用のREST API

管理者は、次のREST APIを使用して、緊急停止などの重要なイベントをユーザーに通知できます:

POST http://server/edq/admin/web/push

詳細は、Webプッシュ通知用のREST APIに関する項を参照してください。

8.5 Launchpadアプリケーション用のRESTインタフェース

このカテゴリのコールを使用して、すべてのユーザーのLaunchpadに表示されるアプリケーションをリストおよび更新します。コール元のユーザーには、両方のコールに対して「アクセス・サーバー管理」および「ユーザー・アプリケーション・アクセスの設定」権限が必要です。

次のタスクを実行できます。

  • アプリケーションの取得

    公開されたアプリケーションの現在のリストと、システムに認識されているすべてのアプリケーションのリストを返すには、次のインタフェースを使用します:

    GET http://server:port/edq/admin/web/launchpad/applications

    結果オブジェクトには、次の属性が含まれます:

    属性 タイプ 説明

    published

    文字列の配列

    Launchpadに現在表示されているアプリケーションのリスト(表示順)。

    allapplications

    アプリケーション・オブジェクトの配列

    システムに認識されているすべてのアプリケーションのリスト。各オブジェクトには次の値が含まれます:

    • label - アプリケーションの文字列を表示します
    • identifier - 内部識別子

    allapplicationsリストには、グループ・メンバーシップによって制御される権限であるアプリケーション(ケース管理など)に加え、ウォッチリスト・スクリーニング・ヘルプなどの単純なコンテンツへのリンクであるアプリケーションも含まれます。

  • Launchpadアプリケーションの更新

    Launchpadアプリケーションを更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/admin/web/launchpad/applications

    ペイロードは、Launchpadに表示されるアプリケーションの識別子を順番にリストする文字列の配列です。

    たとえば:

    [ "opsui", 
      "director", 
      "casemanager", 
      "casemanageradmin"
    ]

すべてのPOSTコールの結果は、次の属性を含むオブジェクトです:

属性 説明

ok

成功フラグ。trueまたはfalseを指定できます。

message

エラー・メッセージ。okfalseである場合に存在します。

8.6 REST APIを使用したユーザー・グループの管理

EDQには、ユーザー・グループおよび外部グループ・マッピングを管理するためのRESTベースのインタフェースのセットが含まれています。

すべてのPOSTおよびDELETEコールの結果は、次の属性を含むオブジェクトです:

属性 説明

ok

成功フラグ。trueまたはfalseを指定できます。

message

エラー・メッセージ。okfalseである場合に存在します。

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

8.6.1 外部グループ・マッピング用のRESTインタフェース

外部レルム(LDAPなど)内のグループは、EDQ内部グループにマップされるため、ユーザーが使用可能な権限およびアプリケーションをログイン時に決定できます。このカテゴリのコールでは、現在定義されているマッピングが戻され、マッピングが更新されます。

各マッピングは、次の属性を持つオブジェクトによって表されます:

属性 説明

realm

login.propertiesで定義されるレルム名。ただ1つの外部レルムが定義されている場合、更新コールでこの属性は省略できます。

externalgroup

外部レルム内のグループの名前。常に必要です。

internalgroups

EDQ内部グループ名の配列。更新コールで、この属性が省略されているか空の場合、既存のマッピングは削除されます。

次のタスクを実行できます。

  • 現在のマッピングの取得

    現在の外部グループ・マッピングに関する情報を取得するには、次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/externalgroups

    結果は、マッピング・オブジェクトの配列です。

  • マッピングの更新

    現在の外部グループ・マッピングに関する情報を更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/externalgroups

    ペイロードは、マッピング・オブジェクトの配列です。コール元のユーザーには、「外部グループ権限の変更」機能権限が必要です。

    例:

    [ 
      { "realm": "EXAMPLE.COM",
        "externalgroup": "edqgroup1",
        "internalgroups": ["Data Analysts"]
      },
      { "realm": "EXAMPLE.COM",
        "externalgroup": "edqgroup2",
        "internalgroups": ["Match Reviewers", "Executives"]
      }
    ]

8.6.2 グループの作成および更新用のRESTインタフェース

コール元のユーザーには、すべてのユーザー管理コールに対して「アクセス・ユーザー管理」機能権限が必要です。

リクエストおよびレスポンスで使用されるグループ・オブジェクトには、次の属性があります:
属性 タイプ 説明

name

String

グループ名。常に必要です。

permissions

文字列の配列

グループに関連付けられた機能権限。値は、権限を表す内部識別子です。

作成または更新リクエストでは、カテゴリ内のすべての権限を接頭辞:を使用して選択できます。たとえば、ops:*またはuser_admin:*です。

applications

文字列の配列

グループで使用可能なアプリケーション。値は、Launchpadアプリケーションの内部識別子です。

次のタスクを実行できます。

  • すべてのグループの取得

    グループ・オブジェクトの配列を返すには、次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/groups

  • 名前付きグループの取得

    単一の名前付きグループの情報を取得するには、次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/group/name

    結果はグループ・オブジェクトです。グループが存在しない場合は、404レスポンスが戻されます。

  • 単一のグループの作成または更新

    単一のグループを作成または更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/group

    ペイロードは、単一のグループ・オブジェクトです。permissionsまたはapplications属性が指定されていない場合、グループ内の対応する値は更新時に変更されません。グループが存在しない場合は、コール元のユーザーに「グループの追加」権限が必要です。それ以外の場合は、ユーザーに「グループの変更」権限が必要です。

  • 複数のグループの作成または更新

    複数のグループを作成または更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/groups

    ペイロードは、グループ・オブジェクトの配列です。

  • 名前付きグループの削除

    名前付きグループを削除するには、次のインタフェースを使用します:

    DELETE http://server:port/edq/useradmin/group/name

    ユーザーには、「グループの削除」権限が必要です。

  • グループの更新

    グループを更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/updategroup

    このリクエストは、既存のグループに対して権限やアプリケーションを追加または削除するために使用できます。ペイロードは、次の属性を持つJSONオブジェクトです:

    属性 説明

    name

    グループ名。常に必要です。

    permissions

    権限の追加および削除。

    applications

    アプリケーションの追加および削除。

    permissionsおよびapplications属性は、次の属性を持つオブジェクトです:

    属性 説明

    add

    グループに追加する値の配列。

    remove

    グループから削除する値の配列。

    例:

    { "name": "Test Group",
      "permissions": {
        "add": [ "user_admin:*", "ops:dnviewallevents"],
        "remove": [ "server_admin:accessserveradmin"]
       },
       "applications": {
         "add": ["opsui" ]
       }
    }
  • サポートされるアプリケーションおよび機能権限のリストの取得

    次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/permissionsinfo

    グループ・オブジェクトは、内部識別子を使用してアプリケーションおよび機能権限をリストします。このコールにより、サポートされるすべてのアプリケーションおよび権限のリスト(管理Web UIで使用される表示文字列と関連識別子の両方を含む)が戻されます。権限は、グループ管理Web UIに表示されるカテゴリ別にグループ化されます。

    結果オブジェクトには、次の属性が含まれます:

    属性 説明

    applications

    サポートされるアプリケーションのリスト。

    functionalpermissions

    権限カテゴリのリスト。各要素には、次の属性が含まれます:
    • categorylabel - カテゴリの文字列を表示します。たとえば、"CM.Static"または"Director"です。
    • prefix - カテゴリに関連付けられた接頭辞。たとえば、"data:"または"user_admin:"です。
    • permissions - カテゴリ内の権限のリスト。

    個々のアプリケーションおよび権限オブジェクトには、次の属性が含まれます:

    属性 説明

    label

    アプリケーションまたは権限の表示文字列。

    identifier

    内部識別子。

    表示文字列は、Webリクエストによって暗黙的に示される言語で戻されます。

8.7 ユーザーの作成および更新用のRESTインタフェース

リクエストおよびレスポンスで使用されるユーザー・オブジェクトには、次の属性があります:
属性 タイプ 説明

username

String

ユーザー名。常に必要です。

password

String

ユーザー・パスワード。新規ユーザーの作成時に必要です。

blocked

Boolean

ユーザーが永続的にブロックされている場合はtrueに設定されます。

fullname

String

ユーザーの氏名。新規ユーザーの作成時に必要です。

email

String

ユーザーの電子メール・アドレス。

organization

String

ユーザーの組織の名前。

telephone

String

ユーザーの電話番号。

forcepasswordchange

Boolean

trueの場合、ユーザーは、次回ログイン時にパスワードの変更が強制されます。

passwordpolicy

Integer

ユーザー・パスワード失効ポリシー。使用可能な値は次のとおりです:
  • 0 - システム構成で定義されたパスワードの有効期限
  • 1 - パスワードの有効期限なし
  • 2 - システム定義の期間経過後にパスワード失効

lockoutpolicy

Integer

不正なログイン後のユーザー・ロックアウト・ポリシー。使用可能な値は次のとおりです:

  • 0 - システム構成で定義されたポリシー
  • 1 - アクションなし
  • 2 - 2分間ロックアウト
  • 3 - 5分間ロックアウト
  • 4 - 15分間ロックアウト
  • 5 - 30分間ロックアウト
  • 6 - 1時間ロックアウト
  • 7 - 24時間ロックアウト
  • 8 - 永久にロックアウト

groups

文字列の配列

ユーザーに関連付けるグループ。

passwordpolicyおよびlockoutpolicy属性は、ユーザー定義Web UIの「パスワード・ポリシー」および「無効な試行」フィールドに対応します:

次のタスクを実行できます。

  • すべてのユーザーの取得

    ユーザー・オブジェクトの配列を返すには、次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/users

  • 名前付きユーザーの取得

    単一の名前付きユーザーの情報を取得するには、次のインタフェースを使用します:

    GET http://server:port/edq/useradmin/user/username

    結果はユーザー・オブジェクトです。ユーザーが存在しない場合は、404レスポンスが戻されます。

  • 単一のユーザーの作成または更新

    単一のユーザーを作成または更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/user

    ペイロードは、単一のユーザー・オブジェクトです。更新時に、ペイロード・オブジェクトに含まれない属性は、ターゲット・ユーザーで変更されません。ペイロードでnullに設定された属性は、ターゲット・ユーザー・オブジェクトでクリアされます。

    たとえば、ユーザーを更新して電子メール・アドレスをクリアするには、次のペイロードを使用します:

    { "username": "user23",
      "email":    null
    }

    ユーザーのパスワードを更新し、次回ログオン時に変更を強制するには、次を使用します:

    { "username": "user153",
      "password": "newtemppassword",
      "forcepasswordchange" : true
    }

    新規ユーザーを作成するには、コール元に「ユーザーの追加」権限が必要です。ユーザーを変更する場合、必要な権限は、詳細な変更ごとに異なります。次の表は、更新する情報に対応する必要な権限を示しています:

    アクション 必要な権限

    パスワードの変更

    ユーザー・パスワードの変更/リセット

    ユーザーを永続的にブロック

    ユーザーのブロック

    ユーザーのブロック解除

    ユーザーのブロック解除

    氏名、電子メール・アドレス、組織名または電話番号の変更

    ユーザー詳細の変更

    パスワード・ポリシー、ロックアウト・ポリシーまたは強制変更オプションの変更

    アカウント・セキュリティ・オプションの変更

    グループ・メンバーシップの変更

    ユーザー・グループ権限の変更

  • 複数のユーザーの作成または更新

    複数のユーザーを作成または更新するには、次のインタフェースを使用します:

    POST http://server:port/edq/useradmin/users

    ペイロードは、ユーザー・オブジェクトの配列です。ユーザーを変更する場合、必要な権限は、前述の表に示されているとおり詳細な変更ごとに異なります。

  • 名前付きユーザーの削除

    ユーザーを削除するには、そのユーザーに「ユーザーの削除」権限が必要です。次のインタフェースを使用します:

    DELETE http://server:port/edq/useradmin/user/username

すべてのPOSTおよびDELETEコールの結果は、次の属性を含むオブジェクトです:

属性 説明

ok

成功フラグ。trueまたはfalseを指定できます。

message

エラー・メッセージ。okfalseである場合に存在します。