

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データソースアクセス許可 API
<a name="v10-Grafana-API-DatasourcePermissions"></a>

データソースアクセス許可 API を使用して、データソースのアクセス許可を有効化、無効化、一覧表示、追加、削除します。

ユーザーまたはチームにアクセス許可を設定できます。管理者は常にすべてにアクセスできるため、管理者にはアクセス許可を設定できません。

アクセス許可フィールドのアクセス許可レベルは、次のとおりです。
+ 1 = クエリ

**注記**  
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効なサービスアカウントトークンが必要です。このトークンは API リクエストの `Authorization` フィールドに含めます。

## データソースのアクセス許可の有効化
<a name="v10-Grafana-API-DatasourcePermissions-enable"></a>

```
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** — データソースが未検出

## データソースのアクセス許可の無効化
<a name="v10-Grafana-API-DatasourcePermissions-disable"></a>

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

ステータスコード:
+ **200** — OK
+ **400** — アクセス許可を無効にできません。詳細については、レスポンス本文を参照してください。
+ **401** — 未許可
+ **403** — アクセス拒否
+ **404** — データソースが未検出

## データソースのアクセス許可の取得
<a name="v10-Grafana-API-DatasourcePermissions-get"></a>

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

ステータスコード:
+ **200** — OK
+ **401** — 未許可
+ **403** — アクセス拒否
+ **404** — データソースが未検出

## データソースのアクセス許可の追加
<a name="v10-Grafana-API-DatasourcePermissions-add"></a>

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

ステータスコード:
+ **200** — OK
+ **400** — アクセス許可を追加できません。詳細については、レスポンス本文を参照してください。
+ **401** — 未許可
+ **403** — アクセス拒否
+ **404** — データソースが未検出

## データソースのアクセス許可の削除
<a name="v10-Grafana-API-DatasourcePermissions-remove"></a>

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

指定 `id` のデータソースに対する指定 permissionId のアクセス許可を削除します。

**リクエストの例**

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

ステータスコード:
+ **200** — OK
+ **401** — 未許可
+ **403** — アクセス拒否
+ **404** — データソースが未検出またはアクセス許可が未検出