Download PDF
Download page RBAC API.
RBAC API
このページでは、AppDynamics 機能のユーザ、グループ、およびロールを管理するために使用できるロール ベース アクセス コントロール(RBAC)API メソッドについて説明します。これらの操作により柔軟性が向上し、RBAC 管理による自動化が実現します。addUserToGroup および removeUserToGroup などのリレーションシップの設定がサポートされています。
サポート
- RBAC API を使用するには、アカウントの所有者であるか、または administer user 権限を持っている必要があります。
- SAML および LDAP ユーザの作成はサポートされていません。UI を使用して権限のみ作成できます。「コントローラテナントのユーザーとグループの管理」を参照してください。
ユーザの作成
これを使用して、現在のアカウントでユーザを作成できます。要求ペイロードでは、name、security_provider_type、displayName、および password を指定する必要があります。ユーザ ID はサーバによって生成されます。
形式
POST /controller/api/rbac/v1/users
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
name | 要求ペイロード | あり | |
| 要求ペイロード | "INTERNAL" | あり |
| 要求ペイロード | あり | |
| 要求ペイロード | あり |
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X POST -d '{"name": "user10", "security_provider_type": "INTERNAL", "displayName": "user10", "password": "welcome"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users
Response status code 200 :
{
"id": 10,
"name": "user10",
"displayName": "user10",
"security_provider_type": "INTERNAL"
}
ID でユーザを取得する
これを使用して、現在のアカウントで userId を使用して、関連するグループとロールの概要を含む完全なユーザ情報を取得できます。
形式
GET /controller/api/rbac/v1/users/userId
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/4
Response status code 200 :
{
"id": 4,
"name": "user1",
"email": "user1@customer1.com",
"displayName": "user1",
"security_provider_type": "INTERNAL",
"roles":
[
{"id": 17,"name": "Workflow Executor"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 24,"name": "Universal Agent User"},
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 15,"name": "User"},
{"id": 16,"name": "Dashboard Viewer"}
],
"groups":
[
{"id": 1,"name": "group_01"}
]
}
名前でユーザを取得する
これを使用して、現在のアカウントで userName を使用して、関連するグループとロールの概要を含む完全なユーザー情報を取得できます。
形式
GET /controller/api/rbac/v1/users/name/name
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/name/user1
Response status code 200 :
{
"id": 4,
"name": "user1",
"email": "user1@customer1.com",
"displayName": "user1",
"security_provider_type": "INTERNAL",
"roles":
[
{"id": 17,"name": "Workflow Executor"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 24,"name": "Universal Agent User"},
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 15,"name": "User"},
{"id": 16,"name": "Dashboard Viewer"}
],
"groups":
[
{"id": 1,"name": "group_01"}
]
- この API は内部ユーザの取得のみをサポートし、SAML または LDAP はサポートしません。
- SAML/LDAP ユーザを検索するには、オプションのパラメータ(securityProviderType) を含める必要があります。
すべてのユーザの取得
これを使用して、現在のアカウント内のすべてのユーザのリストを取得できます。リストには、userId や userName などのユーザの概要が含まれています。
形式
GET /controller/api/rbac/v1/users
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users
Response status code 200 :
{
"users":
[
{"id": 4,"name": "user1"},
{"id": 10,"name": "user10"}
]
}
ユーザーの更新
これを使用して、現在のアカウントの userId でユーザを更新できます。ユーザオブジェクト自体のみが更新され、ロールやグループに対するリレーションシップは影響を受けません。
形式
PUT /controller/api/rbac/v1/users/userId
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
id | 要求ペイロード | あり | |
name | 要求ペイロード | あり | |
| 要求ペイロード | あり | |
| 要求ペイロード | "INTERNAL" | あり |
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 11,"name": "updated_user9","displayName": "user9","security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/11
Response status code 200 :
{
"id": 11,
"name": "updated_user9",
"displayName": "user9",
"security_provider_type": "INTERNAL"
}
ユーザの削除
これを使用して、現在のアカウントの userId でユーザを削除できます。
形式
DELETE /controller/api/rbac/v1/users/userId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/11 Response status code 200 :
グループの作成
これを使用して、現在のアカウントでグループを作成できます。groupId はサーバによって生成されます。
形式
POST /controller/api/rbac/v1/groups
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
name | 要求ペイロード | あり | |
description | 要求ペイロード | なし | |
| 要求ペイロード | "INTERNAL" | 対応 |
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X POST -d '{"name": "group100","description": "new description", "security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups
Response status code 200 :
{
"id": 2,
"name": "group100",
"security_provider_type": "INTERNAL",
"description": "new description"
}
ID でグループを取得する
これを使用して、現在のアカウントの groupId によって完全なグループ情報を取得できます。
形式
GET /controller/api/rbac/v1/groups/groupId
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1
Response status code 200 :
{
"id": 1,
"name": "group_03",
"security_provider_type": "INTERNAL"
"description": "",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
}
名前でグループを取得する
これを使用して、現在のアカウントの groupName によって完全なグループ情報を取得できます。
形式
GET /controller/api/rbac/v1/groups/name/name
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/name/group_03
Response status code 200 :
{
"id": 1,
"name": "group_03",
"security_provider_type": "INTERNAL"
"description": "",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
}
すべてのグループを取得する
これを使用して、現在のアカウント内のすべてのグループを取得できます。これは、groupId や groupName などのグループの概要のみを返します。
形式
GET /controller/api/rbac/v1/groups
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups
Response status code 200 :
{
"groups":
[
{"id": 1,"name": "group_03"},
{"id": 2,"name": "group100"}
]
}
グループの更新
これを使用して、現在のアカウントの groupId でグループを更新できます。グループ自体のみが更新され、ユーザとロールのリレーションシップは影響を受けません。
形式
PUT /controller/api/rbac/v1/groups/groupId
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
id | 要求ペイロード | あり | |
name | 要求ペイロード | あり | |
description | 要求ペイロード | なし | |
| 要求ペイロード | "INTERNAL" | あり |
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 1, "name": "group2","description": "new description", "security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1
Response status code 200 :
{
"id": 1,
"name": "group2",
"security_provider_type": "INTERNAL",
"description": "new description",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
}
グループを削除する
これを使用して、現在のアカウントの groupId でグループを削除できます。
形式
DELETE /controller/api/rbac/v1/groups/groupId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1 Response status code 200 :
ユーザをグループに追加する
これを使用して、userId および groupId によってユーザをグループに追加できます。
形式
PUT /controller/api/rbac/v1/groups/groupId/users/userId
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/2/users/10 Response status code 200 :
ユーザをグループから削除する
これを使用して、userId および groupId によってユーザをグループから削除できます。
形式
DELETE /controller/api/rbac/v1/groups/groupId/users/userId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/2/users/10 Response status code 200 :
ロールを作成する
これを使用して、現在のアカウントでロールを作成できます。ID はサーバによって生成されます。
形式
POST /controller/api/rbac/v1/roles
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
name | 要求ペイロード | あり | |
| 要求ペイロード | なし | |
permissions | 要求ペイロード | なし |
例
curl -X POST /controller/api/rbac/v1/roles \
-H 'Content-Type: application/vnd.appd.cntrl+json;v=1' \
-d '{
"name": "SampleRole2",
"permissions": [
{
"entityType": "APPLICATION",
"action": "CONFIG_ACTIONS"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_BASELINES"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_BUSINESS_TRANSACTIONS"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_ERROR_DETECTION"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_EUM"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_EVENT_REACTOR"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_POLICIES"
},
{
"entityType": "APPLICATION",
"action": "CONFIG_TRANSACTION_DETECTION"
},
{
"entityType": "APPLICATION",
"action": "VIEW"
}
]
}’
エンティティアクションのロール権限
エンティティ タイプ | アクション | 権限 |
|---|---|---|
| ADMINISTER_RBAC | ユーザー、グループ、ロール、認証を管理し、エージェントを表示して、[Getting Started Wizard] を使用します。 ユーザー、グループ、ロールの管理と認証の設定については、「アカウント管理」を参照してください。 |
| CONFIG_LDAP | LDAP を設定します。 |
| CONFIG_SAML | SAML を設定します。 |
| ADMINISTER_LICENSE | ライセンスを表示および構成します。 |
| CONFIG_NOTIFICATIONS | 電子メール/SMS を設定します。 |
| CONFIG_CUSTOM_EMAIL_ACTION_PLANS | メールテンプレートを構成します。 |
| CONFIG_HTTP_REQUEST_ACTION_PLANS | HTTP リクエストテンプレートを構成します。 |
| CREATE_WAR_ROOMS | Virtual War Rooms を作成します。 |
| VIEW_BUSINESS_FLOW | ビジネスフローマップを表示します。 |
| VIEW_SCHEDULED_REPORTS | スケジューリングされたレポートを表示します。 |
| CONFIG_SCHEDULED_REPORTS | スケジューリングされたレポートを構成します。 |
| VIEW | ビジネスアプリケーションを表示します。 |
| VIEW_DBMON_UI | データベースの可視性を表示します。 |
| CONFIG_TRANSACTION_DETECTION | トランザクション検出を構成します。 |
| CONFIG_BACKEND_DETECTION | バックエンド検出を構成します。 |
| CONFIG_ERROR_DETECTION | エラー検出 を設定します。 |
| CONFIG_DIAGNOSTIC_DATA_COLLECTORS | 診断データコレクタを構成します。 |
| CONFIG_CALLGRAPH_SETTINGS | Call Graph Settings を設定します。 |
| CONFIG_JMX | JMX を構成します。 |
| CONFIG_EUM | EUM を構成します。 |
| CONFIG_INFO_POINTS | Information Points を設定します。 |
| CONFIG_POLICIES | Health Rules を設定します。 |
| CONFIG_EVENT_REACTOR | Configure Policiesを使用して無効にすることができます。 |
| CONFIG_ACTIONS | Actions を設定します。 |
| CONFIG_BUSINESS_TRANSACTIONS | ビジネストランザクション を設定します。 |
| CONFIG_BASELINES | ベースラインを構成します。 |
| CONFIG_SQL_BIND_VARIABLES | SQL キャプチャ設定を構成します。 |
| CONFIG_AGENT_PROPERTIES | エージェントプロパティを構成します。 |
| ENABLE_JMX_OPERATIONS | JMX MBean 属性を設定してオペレーションを呼び出します。 |
| CONFIG_SERVICE_ENDPOINTS | サービスエンドポイントを構成します。 |
| MANAGE_CUSTOM_DASHBOARD_TEMPLATES | 階層とノードのカスタムダッシュボードを構成します。 |
| CONFIG_TRIGGER_DIAGNOSTIC_SESSION | 診断セッションを開始します。 |
| VIEW_SIM | Server Visibilityを表示します。 |
| CONFIG_SIM | Server Visibility を設定します。 |
200 OK
{
"id": 87,
"name": "SampleRole2"
}
ロールをユーザへ追加する
これを使用して、roleId および userId によってロールをユーザに追加できます。
形式
PUT /controller/api/rbac/v1/roles/roleId/users/userId
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/users/10 Response status code 200 :
ユーザからロールを削除する
これを使用して、roleId および userId によってユーザからロールを削除できます。
形式
DELETE /controller/api/rbac/v1/roles/roleId/users/userId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/users/10 Response status code 200 :
ロールをグループに追加する
これを使用して、roleId および groupId によってロールをグループに追加できます。
形式
PUT /controller/api/rbac/v1/roles/roleId/groups/groupId
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/groups/2 Response status code 200 :
グループからロールを削除する
これを使用して、roleId および groupId によってロールをグループから削除できます。
形式
DELETE /controller/api/rbac/v1/roles/roleId/groups/groupId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/groups/2 Response status code 200 :
ID でロールを取得する
これを使用して、現在のアカウントの roleId で完全なロール情報を取得します。これは role オブジェクトのみを返します。
この API は、分析イベントの権限を返しません。
形式
GET /controller/api/rbac/v1/roles/[roleId]?include-permissions=true
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
id | 要求ペイロード | あり | |
| 要求ペイロード | "true" | なし |
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/15?include-permissions=true
Response status code 200 :
{
"id": 15,
"name": "SampleRole",
"permissions": [
{
"id": 2619,
"entityType": "APPLICATION",
"action": "CONFIG_ACTIONS"
},
{
"id": 2621,
"entityType": "APPLICATION",
"action": "CONFIG_BASELINES"
},
{
"id": 2620,
"entityType": "APPLICATION",
"action": "CONFIG_BUSINESS_TRANSACTIONS"
},
{
"id": 2610,
"entityType": "APPLICATION",
"action": "CONFIG_ERROR_DETECTION"
},
{
"id": 2615,
"entityType": "APPLICATION",
"action": "CONFIG_EUM"
},
{
"id": 2618,
"entityType": "APPLICATION",
"action": "CONFIG_EVENT_REACTOR"
},
{
"id": 2617,
"entityType": "APPLICATION",
"action": "CONFIG_POLICIES"
},
{
"id": 2608,
"entityType": "APPLICATION",
"action": "CONFIG_TRANSACTION_DETECTION"
},
{
"id": 2606,
"entityType": "APPLICATION",
"action": "VIEW"
}
]
}
名前でロールを取得する
これを使用して、現在のアカウントの roleName で完全なロール情報を取得します。
この API は、分析イベントの権限を返しません。
形式
GET /controller/api/rbac/v1/roles/name/[RoleName]?include-permissions=true
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
| name | 要求ペイロード | あり | |
| 要求ペイロード | "true" | なし |
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/name/SampleRole?include-permissions=true
Response status code 200 :
{
"id": 15,
"name": "SampleRole",
"permissions": [
{
"id": 2619,
"entityType": "APPLICATION",
"action": "CONFIG_ACTIONS"
},
{
"id": 2621,
"entityType": "APPLICATION",
"action": "CONFIG_BASELINES"
},
{
"id": 2620,
"entityType": "APPLICATION",
"action": "CONFIG_BUSINESS_TRANSACTIONS"
},
{
"id": 2610,
"entityType": "APPLICATION",
"action": "CONFIG_ERROR_DETECTION"
},
{
"id": 2615,
"entityType": "APPLICATION",
"action": "CONFIG_EUM"
},
{
"id": 2618,
"entityType": "APPLICATION",
"action": "CONFIG_EVENT_REACTOR"
},
{
"id": 2617,
"entityType": "APPLICATION",
"action": "CONFIG_POLICIES"
},
{
"id": 2608,
"entityType": "APPLICATION",
"action": "CONFIG_TRANSACTION_DETECTION"
},
{
"id": 2606,
"entityType": "APPLICATION",
"action": "VIEW"
}
]
}
すべてのロールを取得する
これを使用して、現在のアカウント内のすべてのロールを取得できます。これは、roleId や roleName などのロールの概要のみを返します。
形式
GET /controller/api/rbac/v1/roles
例
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles
Response status code 200 :
{
"roles":
[
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 16,"name": "Dashboard Viewer"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 23,"name": "Universal Agent Administrator"},
{"id": 24,"name": "Universal Agent User"},
{"id": 15,"name": "User"},
{"id": 17,"name": "Workflow Executor"}
]
}
ロールを更新する
これを使用して、現在のアカウントの roleId でロールを更新できます。これにより、role オブジェクト自体のみが更新され、ユーザおよびグループとの関係は影響を受けません。
この API を使用してロール内の権限を更新することはできません。name および description パラメータのみ更新できます。
形式
PUT /controller/api/rbac/v1/roles/roleId
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
id | 要求ペイロード | あり | |
name | 要求ペイロード | あり | |
description | 要求ペイロード | なし |
例
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 49, "name": "role1","description": "new description" }' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/49
Response status code 200 :
{
"id": 49,
"name": "role1",
"description": "new description"
}
ロールの削除
これを使用して、現在のアカウントでロールを削除できます。
形式
DELETE /controller/api/rbac/v1/roles/roleId
例
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/49 Response status code 200 :