

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# API Izin Sumber Data
<a name="v12-Grafana-API-DatasourcePermissions"></a>

Gunakan API Izin Sumber Data untuk mengaktifkan, menonaktifkan, mencantumkan, menambah, dan menghapus izin untuk sumber data. 

Anda dapat mengatur izin untuk pengguna atau tim. Izin tidak dapat diatur untuk Admin, karena mereka selalu memiliki akses ke semuanya.

Tingkat izin untuk bidang izin adalah sebagai berikut:
+ 1 = Permintaan

**catatan**  
Untuk menggunakan API Grafana dengan ruang kerja Grafana yang Dikelola Amazon, Anda harus memiliki token akun layanan yang valid. Anda menyertakan ini di `Authorization` bidang dalam permintaan API.

## Aktifkan izin untuk sumber data
<a name="v12-Grafana-API-DatasourcePermissions-enable"></a>

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

Mengaktifkan izin untuk sumber data dengan id yang diberikan. Tidak seorang pun kecuali Admin Org yang dapat menanyakan sumber data hingga izin ditambahkan untuk mengizinkan pengguna atau tim tertentu untuk menanyakan sumber data.

**Contoh permintaan**

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

**Contoh respon**

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

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

Kode Status:
+ **200** - Dibuat
+ **400** - Izin tidak dapat diaktifkan, lihat badan respons untuk detailnya.
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** — Sumber data tidak ditemukan

## Nonaktifkan izin untuk sumber data
<a name="v12-Grafana-API-DatasourcePermissions-disable"></a>

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

Menonaktifkan izin untuk sumber data dengan id yang diberikan. Semua izin yang ada dihapus dan siapa pun dapat menanyakan sumber data.

**Contoh permintaan**

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

{}
```

**Contoh respon**

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

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

Kode Status:
+ **200** — Oke
+ **400** - Izin tidak dapat dinonaktifkan, lihat badan respons untuk detailnya.
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** — Sumber data tidak ditemukan

## Dapatkan izin untuk sumber data
<a name="v12-Grafana-API-DatasourcePermissions-get"></a>

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

Mendapat semua izin yang ada untuk sumber data dengan yang diberikan`id`.

**Contoh permintaan**

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

**Contoh respon**

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

Kode Status:
+ **200** — Oke
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** — Sumber data tidak ditemukan

## Menambahkan izin untuk sumber data
<a name="v12-Grafana-API-DatasourcePermissions-add"></a>

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

Menambahkan izin pengguna untuk sumber data dengan yang diberikan`id`.

**Contoh permintaan untuk menambahkan izin pengguna**

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

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

**Contoh respons untuk menambahkan izin pengguna**

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

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

**Contoh permintaan untuk menambahkan izin tim**

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

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

**Contoh respons untuk menambahkan izin tim**

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

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

Kode Status:
+ **200** — Oke
+ **400** - Izin tidak dapat ditambahkan, lihat badan respons untuk detailnya.
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** — Sumber data tidak ditemukan

## Menghapus izin untuk sumber data
<a name="v12-Grafana-API-DatasourcePermissions-remove"></a>

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

Menghapus izin dengan PermissionId yang diberikan untuk sumber data dengan yang diberikan. `id`

**Contoh permintaan**

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

**Contoh respon**

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

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

Kode Status:
+ **200** — Oke
+ **401 - Tidak** Sah
+ **403** — Akses ditolak
+ **404** — Sumber data tidak ditemukan atau izin tidak ditemukan