本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料來源權限 API
使用資料來源權限 API 可啟用、停用、列出、新增和移除資料來源的權限。
您可以為使用者或團隊設定權限。無法為管理員設定權限,因為管理員永遠都可以存取所有項目。
權限欄位的權限層級如下:
-
1 = 查詢
注意
若要將 Grafana API 與您的 Amazon 受管理工作區搭配使用,您必須擁有有效的 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"}
狀態碼:
-
好吧
-
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", } ] }
狀態碼:
-
好吧
-
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"}
狀態碼:
-
好吧
-
400 — 無法添加權限,請參閱響應正文以獲取詳細信息。
-
401 — 未經授權
-
403 — 訪問被拒絕
-
404 — 找不到資料來源
移除資料來源的權限
DELETE /api/datasources/:id/permissions/:permissionId
使用指定的資料來源移除具有指定權限 ID 的權限。id
範例請求
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"}
狀態碼:
-
好吧
-
401 — 未經授權
-
403 — 訪問被拒絕
-
404 — 找不到資料來源或找不到權限