

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# API per le autorizzazioni delle origini dati
<a name="Grafana-API-DatasourcePermissions"></a>

Utilizza l'API Data Source Permissions per abilitare, disabilitare, elencare, aggiungere e rimuovere le autorizzazioni per le fonti di dati. 

Puoi impostare le autorizzazioni per un utente o un team. Le autorizzazioni non possono essere impostate per gli amministratori, perché hanno sempre accesso a tutto.

I livelli di autorizzazione per il campo di autorizzazione sono i seguenti:
+ 1 = Interrogazione

**Nota**  
Per utilizzare un'API Grafana con il tuo spazio di lavoro Amazon Managed Grafana, devi disporre di un token API Grafana valido. Lo includi nel `Authorization` campo della richiesta API. Per informazioni su come creare un token per autenticare le chiamate API, consulta[Autenticazione con token](authenticating-grafana-apis.md).

## Abilita le autorizzazioni per una fonte di dati
<a name="Grafana-API-DatasourcePermissions-enable"></a>

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

Abilita le autorizzazioni per l'origine dati con l'ID specificato. Nessuno tranne gli amministratori di sistema è in grado di interrogare l'origine dati finché non sono state aggiunte le autorizzazioni per consentire a determinati utenti o team di interrogare l'origine dati.

**Richiesta di esempio**

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

**Esempio di risposta**

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

{"message":"Datasource permissions enabled"}
```

Codici di stato:
+ **200** — Creato
+ **400** - Le autorizzazioni non possono essere abilitate, consulta il corpo della risposta per i dettagli.
+ **401 — Non** autorizzato
+ **403 — Accesso** negato
+ **404** — Fonte dati non trovata

## Disattiva le autorizzazioni per un'origine dati
<a name="Grafana-API-DatasourcePermissions-disable"></a>

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

Disattiva le autorizzazioni per l'origine dati con l'ID specificato. Tutte le autorizzazioni esistenti vengono rimosse e chiunque può interrogare l'origine dati.

**Richiesta di esempio**

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

{}
```

**Esempio di risposta**

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

{"message":"Datasource permissions disabled"}
```

Codici di stato:
+ **200** — Ok
+ **400** - Le autorizzazioni non possono essere disabilitate, consulta il corpo della risposta per i dettagli.
+ **401 — Non** autorizzato
+ **403 — Accesso** negato
+ **404** — Fonte dati non trovata

## Ottieni le autorizzazioni per una fonte di dati
<a name="Grafana-API-DatasourcePermissions-get"></a>

```
GET /api/datasources/:id/permissions
```

Ottiene tutte le autorizzazioni esistenti per l'origine dati con il dato. `id`

**Richiesta di esempio**

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

**Esempio di risposta**

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

Codici di stato:
+ **200** — Ok
+ **401** — Non autorizzato
+ **403 — Accesso** negato
+ **404** — Fonte dati non trovata

## Aggiungere l'autorizzazione per un'origine dati
<a name="Grafana-API-DatasourcePermissions-add"></a>

```
POST /api/datasources/:id/permissions
```

Aggiunge un'autorizzazione utente per l'origine dati con quella specificata`id`.

**Esempio di richiesta per aggiungere l'autorizzazione dell'utente**

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

{
  "userId": 1,
  "permission": 1
}
```

**Esempio di risposta per l'aggiunta di un'autorizzazione utente**

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

{"message":"Datasource permission added"}
```

**Esempio di richiesta per aggiungere l'autorizzazione del team**

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

{
  "teamId": 1,
  "permission": 1
}
```

**Esempio di risposta per l'aggiunta di un'autorizzazione al team**

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

{"message":"Datasource permission added"}
```

Codici di stato:
+ **200** — Ok
+ **400** — L'autorizzazione non può essere aggiunta, vedi il corpo della risposta per i dettagli.
+ **401** — Non autorizzato
+ **403 — Accesso** negato
+ **404** — Fonte dati non trovata

## Rimuovere l'autorizzazione per un'origine dati
<a name="Grafana-API-DatasourcePermissions-remove"></a>

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

Rimuove l'autorizzazione con il PermissionID specificato per l'origine dati con il dato dato. `id`

**Richiesta di esempio**

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

**Esempio di risposta**

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

{"message":"Datasource permission removed"}
```

Codici di stato:
+ **200** — Ok
+ **401** — Non autorizzato
+ **403 — Accesso** negato
+ **404** — Origine dati non trovata o autorizzazione non trovata