API d'autorisations de source de données - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API d'autorisations de source de données

Utilisez l'API Data Source Permissions pour activer, désactiver, répertorier, ajouter et supprimer des autorisations pour les sources de données.

Vous pouvez définir des autorisations pour un utilisateur ou une équipe. Les autorisations ne peuvent pas être définies pour les administrateurs, car ils ont toujours accès à tout.

Les niveaux d'autorisation pour le champ d'autorisation sont les suivants :

  • 1 = Requête

Note

Pour utiliser une API Grafana avec votre espace de travail Amazon Managed Grafana, vous devez disposer d'un jeton d'API Grafana valide. Vous l'incluez dans le Authorization champ de la demande d'API. Pour plus d'informations sur la création d'un jeton pour authentifier vos appels d'API, consultezAuthentifiez-vous avec des jetons.

Activer les autorisations pour une source de données

POST /api/datasources/:id/enable-permissions

Active les autorisations pour la source de données avec l'identifiant donné. À l'exception des administrateurs de l'organisation, personne ne peut interroger la source de données tant que des autorisations n'ont pas été ajoutées pour permettre à certains utilisateurs ou équipes d'interroger la source de données.

Exemple de demande

POST /api/datasources/1/enable-permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemple de réponse

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permissions enabled"}

Codes de statut :

  • 200 — Créé

  • 400 — Les autorisations ne peuvent pas être activées, consultez le corps de la réponse pour plus de détails.

  • 401 — Non autorisé

  • 403 — Accès refusé

  • 404 — Source de données introuvable

Désactiver les autorisations pour une source de données

POST /api/datasources/:id/disable-permissions

Désactive les autorisations pour la source de données avec l'identifiant donné. Toutes les autorisations existantes sont supprimées et tout le monde peut interroger la source de données.

Exemple de demande

POST /api/datasources/1/disable-permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk {}

Exemple de réponse

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permissions disabled"}

Codes de statut :

  • 200 — D'accord

  • 400 — Les autorisations ne peuvent pas être désactivées, consultez le corps de la réponse pour plus de détails.

  • 401 — Non autorisé

  • 403 — Accès refusé

  • 404 — Source de données introuvable

Obtenir des autorisations pour une source de données

GET /api/datasources/:id/permissions

Obtient toutes les autorisations existantes pour la source de données avec le paramètre donnéid.

Exemple de demande

GET /api/datasources/1/permissions HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemple de réponse

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", } ] }

Codes de statut :

  • 200 — D'accord

  • 401 — Non autorisé

  • 403 — Accès refusé

  • 404 — Source de données introuvable

Ajouter une autorisation pour une source de données

POST /api/datasources/:id/permissions

Ajoute une autorisation utilisateur pour la source de données avec la valeur donnéeid.

Exemple de demande d'ajout d'une autorisation utilisateur

POST /api/datasources/1/permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "userId": 1, "permission": 1 }

Exemple de réponse pour l'ajout d'une autorisation utilisateur

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission added"}

Exemple de demande d'ajout d'une autorisation d'équipe

POST /api/datasources/1/permissions Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "teamId": 1, "permission": 1 }

Exemple de réponse pour l'ajout d'une autorisation d'équipe

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission added"}

Codes de statut :

  • 200 — D'accord

  • 400 — L'autorisation ne peut pas être ajoutée, voir le corps de la réponse pour plus de détails.

  • 401 — Non autorisé

  • 403 — Accès refusé

  • 404 — Source de données introuvable

Supprimer l'autorisation pour une source de données

DELETE /api/datasources/:id/permissions/:permissionId

Supprime l'autorisation avec le PermissionID donné pour la source de données avec le PermissionID donné. id

Exemple de demande

DELETE /api/datasources/1/permissions/2 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemple de réponse

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 35 {"message":"Datasource permission removed"}

Codes de statut :

  • 200 — D'accord

  • 401 — Non autorisé

  • 403 — Accès refusé

  • 404 — Source de données introuvable ou autorisation introuvable