資料來源權限 API - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料來源權限 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 — 找不到資料來源或找不到權限