

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 du tableau de bord
<a name="Grafana-API-DashboardPermissions"></a>

Utilisez l'API Dashboard Permissions pour mettre à jour ou récupérer les autorisations d'un tableau de bord. 

Les autorisations avec `dashboardId=-1` sont les autorisations par défaut pour les utilisateurs ayant les rôles Viewer et Editor. Les autorisations peuvent être définies pour un utilisateur, une équipe ou un rôle (lecteur ou éditeur). Les autorisations ne peuvent pas être définies pour les administrateurs : ils ont toujours accès à tout.

Les niveaux d'autorisation pour le `permission` champ sont les suivants :
+ 1 = Afficher
+ 2 = Modifier
+ 4 = Administrateur

**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, consultez[Authentifiez-vous avec des jetons](authenticating-grafana-apis.md).

## Obtenir des autorisations pour un tableau de bord
<a name="Grafana-API-DashboardPermissions-get"></a>

```
GET /api/dashboards/id/:dashboardId/permissions
```

Obtient toutes les autorisations existantes pour le tableau de bord avec le paramètre donné`dashboardId`.

**Exemple de demande**

```
GET /api/dashboards/id/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

[
  {
    "id": 1,
    "dashboardId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Viewer",
    "permission": 1,
    "permissionName": "View",
    "uid": "",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  },
  {
    "id": 2,
    "dashboardId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Editor",
    "permission": 2,
    "permissionName": "Edit",
    "uid": "",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  }
]
```

Codes de statut :
+ **200** — OK
+ **401** — Non autorisé
+ **403** — Accès refusé
+ **404** — Tableau de bord introuvable

## Mettre à jour les autorisations pour un tableau de bord
<a name="Grafana-API-DashboardPermissions-update"></a>

```
POST /api/dashboards/id/:dashboardId/permissions
```

Met à jour les autorisations pour un tableau de bord. Cette opération supprime les autorisations existantes si elles ne sont pas incluses dans la demande.

**Exemple de demande**

```
POST /api/dashboards/id/1/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "items": [
    {
      "role": "Viewer",
      "permission": 1
    },
    {
      "role": "Editor",
      "permission": 2
    },
    {
      "teamId": 1,
      "permission": 1
    },
    {
      "userId": 11,
      "permission": 4
    }
  ]
}
```

Schéma de corps JSON :
+ **items** — Les éléments d'autorisation à ajouter ou à mettre à jour. Les éléments existants qui ne figurent pas dans la liste sont supprimés. 

**Exemple de réponse**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{"message":"Dashboard permissions updated"}
```

Codes de statut :
+ **200** — Créé
+ **401** — Non autorisé
+ **403** — Accès refusé
+ **404** — Tableau de bord introuvable