本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据来源权限 API
使用数据来源权限 API 来启用、禁用、列出、添加和移除数据来源的权限。
您可以为用户或团队设置权限。无法为管理员设置权限,因为他们始终可以访问所有内容。
权限字段的权限级别如下:
-
1 = 查询
注意
要对 Amazon Managed Grafana 工作区使用 Grafana API,您必须拥有有效的 Grafana API 令牌。您可以将其包含在 API 请求的 Authorization
字段中。有关如何创建令牌对 API 调用进行身份验证的信息,请参阅 使用令牌进行身份验证。
为数据来源启用权限
POST /api/datasources/:id/enable-permissions
为具有给定 id 的数据来源启用权限。在添加允许某些用户或团队查询数据来源的权限之前,除组织管理员外,任何人都无法查询数据来源。
请求示例
POST /api/datasources/1/enable-permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permissions enabled"}
状态代码:
-
200:已创建
-
400:无法启用权限,详情请参阅响应正文。
-
401:未经授权
-
403:拒绝访问
-
404:未找到数据来源
禁用数据来源的权限
POST /api/datasources/:id/disable-permissions
禁用具有给定 id 的数据来源的权限。所有现有权限都将被移除,任何人都可以查询数据来源。
请求示例
POST /api/datasources/1/disable-permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk {}
响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permissions disabled"}
状态代码:
-
200:确定
-
400:无法禁用权限,详情请参阅响应正文。
-
401:未经授权
-
403:拒绝访问
-
404:未找到数据来源
获取数据来源的权限
GET /api/datasources/:id/permissions
使用给定 id
获取数据来源的所有现有权限。
请求示例
GET /api/datasources/1/permissions HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 551 { "datasourceId": 1, "enabled": true, "permissions": [ { "id": 1, "datasourceId": 1, "userId": 1, "userLogin": "user", "userEmail": "user@test.com", "userAvatarUrl": "/avatar/46d229b033af06a191ff2267bca9ae", "permission": 1, "permissionName": "Query", "created": "2017-06-20T02:00:00+02:00", "updated": "2017-06-20T02:00:00+02:00", }, { "id": 2, "datasourceId": 1, "teamId": 1, "team": "A Team", "teamAvatarUrl": "/avatar/46d229b033af06a191ff2267bca9ae", "permission": 1, "permissionName": "Query", "created": "2017-06-20T02:00:00+02:00", "updated": "2017-06-20T02:00:00+02:00", } ] }
状态代码:
-
200:确定
-
401:未经授权
-
403:拒绝访问
-
404:未找到数据来源
为数据来源添加权限
POST /api/datasources/:id/permissions
添加给定 id
的数据来源的用户权限。
添加用户权限的请求示例
POST /api/datasources/1/permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "userId": 1, "permission": 1 }
添加用户权限的响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission added"}
添加团队权限的请求示例
POST /api/datasources/1/permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "teamId": 1, "permission": 1 }
添加团队权限的响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission added"}
状态代码:
-
200:确定
-
400:无法添加权限,详情请参阅响应正文。
-
401:未经授权
-
403:拒绝访问
-
404:未找到数据来源
移除数据来源的权限
DELETE /api/datasources/:id/permissions/:permissionId
移除具有给定 id
的数据来源的具有给定 permissionId 的权限。
请求示例
DELETE /api/datasources/1/permissions/2 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission removed"}
状态代码:
-
200:确定
-
401:未经授权
-
403:拒绝访问
-
404:未找到数据来源或未找到权限