RBAC API

このページでは、Splunk AppDynamics 機能のユーザー、グループ、およびロールを管理するために使用できる、ロールベース アクセス コントロール(RBAC)API メソッドについて説明します。これらの操作により柔軟性が向上し、RBAC 管理による自動化が実現します。addUserToGroup および removeUserToGroup などのリレーションシップの設定がサポートされています。

Support

  • To access the RBAC API, you require the Account Owner role. Alternatively, you can create a new custom role that includes permissions for 'Administration,' 'Agents,' and the 'Getting Started Wizard.'

ユーザーの作成

これを使用して、現在のアカウントでユーザを作成できます。要求ペイロードでは、namesecurity_provider_typedisplayName、および password を指定する必要があります。ユーザ ID はサーバによって生成されます。

形式

 POST /controller/api/rbac/v1/users

入力パラメータ

パラメータ名Parameter Type必須
name 要求ペイロードあり

security_provider_type

要求ペイロード "INTERNAL" あり

displayName

要求ペイロードあり

password

要求ペイロードあり

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 を含める必要があります。

すべてのユーザの取得

これを使用して、現在のアカウント内のすべてのユーザのリストを取得できます。リストには、userIduserName などのユーザの概要が含まれています。

形式

 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 要求ペイロードあり

displayName

要求ペイロードあり

security_provider_type

要求ペイロード "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 要求ペイロードいいえ

security_provider_type

要求ペイロード "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"}
]
}

すべてのグループを取得する

これを使用して、現在のアカウント内のすべてのグループを取得できます。これは、groupIdgroupName などのグループの概要のみを返します。

形式

 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 要求ペイロードいいえ

security_provider_type

要求ペイロード "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 :

ユーザをグループに追加する

これを使用し、 userIdgroupIdによってグループにユーザーを追加します。

形式

 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 :

ユーザをグループから削除する

これを使用し、 userIdgroupIdによってグループからユーザーを削除します。

形式

 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要求ペイロードあり
説明要求ペイロードいいえ
type
注: 静的または動的タイプを使用できます。
要求ペイロードいいえ
permissions
注: 権限ブロックが静的および動的権限の両方の定義をサポートするようになりました。
要求ペイロードいいえ

curl -X POST /controller/api/rbac/v1/roles \
-H 'Content-Type: application/vnd.appd.cntrl+json;v=1' \
-d '{
"name": "SampleRole2", 
"Type": "static",
"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

ユーザー、グループ、ロール、認証を管理し、エージェントを表示して、[] を使用します。

ユーザー、グループ、ロールの管理と認証の設定については、「アカウント管理」を参照してください。

アカウント

CONFIG_LDAPLDAP を設定します。

アカウント

CONFIG_SAMLSAML を設定します。

アカウント

ADMINISTER_LICENSEライセンスを表示および構成します。

アカウント

CONFIG_NOTIFICATIONS電子メール/SMS を設定します。

アカウント

CONFIG_CUSTOM_EMAIL_ACTION_PLANSメールテンプレートを構成します。

アカウント

CONFIG_HTTP_REQUEST_ACTION_PLANSHTTP リクエストテンプレートを構成します。

アカウント

CREATE_WAR_ROOMSウォールームを作成します。 仮想ウォールーム

アカウント

VIEW_BUSINESS_FLOWビジネスフローマップを表示します。

アカウント

VIEW_SCHEDULED_REPORTSスケジューリングされたレポートを表示します。

アカウント

CONFIG_SCHEDULED_REPORTSスケジューリングされたレポートを構成します。
アプリケーションVIEW_TAGSタグを表示するには、ロールに VIEW_TAGS 権限が必要です。

タグを管理(作成、編集、および削除)するには、ロールに MANAGE_TAGS 権限が必要です。

MANAGE_TAGS[Tags][Custom Tag APIs]No Content found for /db/organizations/splunk/repositories/appdonprem-25_7_0/content/documents/AppDynamics/Custom_Tag_APIs_485267140.ditamap を表示します。

アプリケーション

表示ビジネスアプリケーションを表示します。

APPLICATION

VIEW_DBMON_UIデータベースの可視性の表示

アプリケーション

CONFIG_TRANSACTION_DETECTIONトランザクション検出を構成します。

アプリケーション

CONFIG_BACKEND_DETECTIONバックエンド検出を構成します。

アプリケーション

CONFIG_ERROR_DETECTIONConfigure Error Detectionエラー検出

アプリケーション

CONFIG_DIAGNOSTIC_DATA_COLLECTORS診断データコレクタを構成します。

アプリケーション

CONFIG_CALLGRAPH_SETTINGSConfigure Call Graph Settingsコールグラフ設定

アプリケーション

CONFIG_JMXJMX を構成します。

アプリケーション

CONFIG_EUMEUM を構成します。

アプリケーション

CONFIG_INFO_POINTSConfigure Information Points*インフォーメーションポイント

APPLICATION

CONFIG_POLICIES正常性ルールの構成 正常性ルール

アプリケーション

CONFIG_EVENT_REACTORポリシーの設定Configure Policies

アプリケーション

CONFIG_ACTIONSアクションの設定 アクション

アプリケーション

CONFIG_BUSINESS_TRANSACTIONSConfigure Business Transactionsビジネストランザクション

アプリケーション

CONFIG_BASELINESベースラインを構成します。

アプリケーション

CONFIG_SQL_BIND_VARIABLESSQL キャプチャ設定を構成します。

アプリケーション

CONFIG_AGENT_PROPERTIESエージェントプロパティを構成します。

アプリケーション

ENABLE_JMX_OPERATIONSJMX MBean 属性を設定してオペレーションを呼び出します。

アプリケーション

CONFIG_SERVICE_ENDPOINTSサービスエンドポイントを構成します。

アプリケーション

MANAGE_CUSTOM_DASHBOARD_TEMPLATES階層とノードのカスタムダッシュボードを構成します。

アプリケーション

CONFIG_TRIGGER_DIAGNOSTIC_SESSION診断セッションを開始します。

アプリケーション

VIEW_SIMサーバーの可視性の表示 サーバーの可視性

アプリケーション

CONFIG_SIMサーバーの可視性の構成 サーバーの可視性

SIM_MACHINE

VIEW_SIMサーバーの可視性の表示 サーバーの可視性

SIM_MACHINE

CONFIG_SIMサーバーの可視性の構成
200 OK
{
"id": 87,
"name": "SampleRole2"
}

ロールをユーザへ追加する

これを使用し、 roleIduserId によってユーザーにロールを追加します。

形式

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 要求ペイロードあり

include-permissions (>= v4.5.14)

要求ペイロード "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要求ペイロードあり

include-permissions (>= v4.5.14)

要求ペイロード "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"
}
]
}

すべてのロールを取得する

これを使用して、現在のアカウント内のすべてのロールを取得できます。これは、roleIdroleName などのロールの概要のみを返します。

形式

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 :