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]
属性 | 説明 |
---|---|
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 |
|
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 |
成功フラグ。 |
message |
エラー・メッセージ。 |
8.6 REST APIを使用したユーザー・グループの管理
EDQには、ユーザー・グループおよび外部グループ・マッピングを管理するためのRESTベースのインタフェースのセットが含まれています。
すべてのPOSTおよびDELETEコールの結果は、次の属性を含むオブジェクトです:
属性 | 説明 |
---|---|
ok |
成功フラグ。 |
message |
エラー・メッセージ。 |
この章の内容は次のとおりです。
8.6.1 外部グループ・マッピング用のRESTインタフェース
外部レルム(LDAPなど)内のグループは、EDQ内部グループにマップされるため、ユーザーが使用可能な権限およびアプリケーションをログイン時に決定できます。このカテゴリのコールでは、現在定義されているマッピングが戻され、マッピングが更新されます。
各マッピングは、次の属性を持つオブジェクトによって表されます:
属性 | 説明 |
---|---|
realm |
|
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 |
ユーザーが永続的にブロックされている場合は |
fullname |
String |
ユーザーの氏名。新規ユーザーの作成時に必要です。 |
|
String |
ユーザーの電子メール・アドレス。 |
organization |
String |
ユーザーの組織の名前。 |
telephone |
String |
ユーザーの電話番号。 |
forcepasswordchange |
Boolean |
|
passwordpolicy |
Integer |
ユーザー・パスワード失効ポリシー。使用可能な値は次のとおりです:
|
lockoutpolicy |
Integer |
不正なログイン後のユーザー・ロックアウト・ポリシー。使用可能な値は次のとおりです:
|
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 |
成功フラグ。 |
message |
エラー・メッセージ。 |