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
を使用して、関連するグループとロールの概要を含む完全なユーザ情報を取得できます。
フォーマット(Format)
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
を使用して、関連するグループとロールの概要を含む完全なユーザ情報を取得できます。
フォーマット(Format)
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
などのユーザの概要が含まれています。
フォーマット(Format)
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
でユーザを削除できます。
フォーマット(Format)
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
によって完全なグループ情報を取得できます。
フォーマット(Format)
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
によって完全なグループ情報を取得できます。
フォーマット(Format)
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
でグループを削除できます。
フォーマット(Format)
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
によってユーザをグループに追加できます。
フォーマット(Format)
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
によってユーザをグループから削除できます。
フォーマット(Format)
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 | 要求ペイロード | あり | |
| 要求ペイロード | なし | |
権限 | 要求ペイロード | なし |
例
curl -X POST /controller/api/rbac/v1/roles \ -H 'Content-Type: application/vnd.appd.cntrl+json;v=1' \ -d '{ "name": "SampleRole2", "permissions": [ { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_ACTIONS" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_BASELINES" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_BUSINESS_TRANSACTIONS" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_ERROR_DETECTION" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_EUM" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_EVENT_REACTOR" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_POLICIES" }, { "entityType": "APPLICATION", "entityId": 24, "action": "CONFIG_TRANSACTION_DETECTION" }, { "entityType": "APPLICATION", "entityId": 24, "action": "VIEW" } ] }’
200 OK { "id": 87, "name": "SampleRole2" }
ロールをユーザへ追加する
これを使用して、roleId
および userId
によってロールをユーザに追加できます。
フォーマット(Format)
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
によってユーザからロールを削除できます。
フォーマット(Format)
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
によってロールをグループに追加できます。
フォーマット(Format)
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
によってロールをグループから削除できます。
フォーマット(Format)
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
オブジェクトのみを返します。
形式
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", "entityId": 27, "action": "CONFIG_ACTIONS" }, { "id": 2621, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_BASELINES" }, { "id": 2620, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_BUSINESS_TRANSACTIONS" }, { "id": 2610, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_ERROR_DETECTION" }, { "id": 2615, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_EUM" }, { "id": 2618, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_EVENT_REACTOR" }, { "id": 2617, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_POLICIES" }, { "id": 2608, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_TRANSACTION_DETECTION" }, { "id": 2606, "entityType": "APPLICATION", "entityId": 27, "action": "VIEW" } ] }
名前でロールを取得する
これを使用して、現在のアカウントの roleName
で完全なロール情報を取得します。
形式
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", "entityId": 27, "action": "CONFIG_ACTIONS" }, { "id": 2621, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_BASELINES" }, { "id": 2620, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_BUSINESS_TRANSACTIONS" }, { "id": 2610, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_ERROR_DETECTION" }, { "id": 2615, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_EUM" }, { "id": 2618, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_EVENT_REACTOR" }, { "id": 2617, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_POLICIES" }, { "id": 2608, "entityType": "APPLICATION", "entityId": 27, "action": "CONFIG_TRANSACTION_DETECTION" }, { "id": 2606, "entityType": "APPLICATION", "entityId": 27, "action": "VIEW" } ] }
すべてのロールを取得する
これを使用して、現在のアカウント内のすべてのロールを取得できます。これは、roleId
や roleName
などのロールの概要のみを返します。
フォーマット(Format)
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" }
ロールの削除
これを使用して、現在のアカウントでロールを削除できます。
フォーマット(Format)
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 :