

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# API de permissões de fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions"></a>

Use a API de permissões de fonte de dados para habilitar, desabilitar, listar, adicionar e remover permissões de fontes de dados. 

Você pode definir permissões para um usuário ou uma equipe. As permissões não podem ser definidas para Administradores. Eles sempre têm acesso a tudo.

Os níveis de permissão para o campo de permissões são os seguintes:
+ 1 = consulta

**nota**  
Para usar uma API do Grafana com seu espaço de trabalho Amazon Managed Grafana, você deve ter um token de conta de serviço válido. Você inclui isso no campo `Authorization` na solicitação da API.

## Habilitar permissões para uma fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions-enable"></a>

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

Habilita permissões para a fonte de dados com o ID fornecido. Ninguém, exceto os administradores da organização, pode consultar a fonte de dados até que as permissões tenham sido adicionadas para permitir que determinados usuários ou equipes a consultem.

**Exemplo de solicitação**

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

**Exemplo de resposta**

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

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

Códigos de status:
+ **200**: criado
+ **400**: as permissões não podem ser habilitadas; consulte o corpo da resposta para obter detalhes
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: fonte de dados não encontrada

## Desabilitar permissões para uma fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions-disable"></a>

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

Desabilita as permissões para a fonte de dados com o ID fornecido. Todas as permissões existentes são removidas e qualquer pessoa pode consultar a fonte de dados.

**Exemplo de solicitação**

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

{}
```

**Exemplo de resposta**

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

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

Códigos de status:
+ **200**: Ok
+ **400**: as permissões não podem ser desabilitadas; consulte o corpo da resposta para obter detalhes
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: fonte de dados não encontrada

## Obter permissões para uma fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions-get"></a>

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

Obtém todas as permissões existentes para a fonte de dados com o `id` fornecido.

**Exemplo de solicitação**

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

**Exemplo de resposta**

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

Códigos de status:
+ **200**: Ok
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: fonte de dados não encontrada

## Adicionar permissão para uma fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions-add"></a>

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

Adiciona uma permissão de usuário para a fonte de dados com o `id` fornecido.

**Exemplo de solicitação para adicionar permissão de usuário**

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

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

**Exemplo de resposta para adicionar uma permissão de usuário**

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

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

**Exemplo de solicitação para adicionar permissão de equipe**

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

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

**Exemplo de resposta para adicionar uma permissão de equipe**

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

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

Códigos de status:
+ **200**: Ok
+ **400**: as permissões não podem ser adicionadas; consulte o corpo da resposta para obter detalhes
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: fonte de dados não encontrada

## Remover permissão de uma fonte de dados
<a name="v10-Grafana-API-DatasourcePermissions-remove"></a>

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

Remove a permissão com o permissionId fornecido para a fonte de dados com o `id` fornecido.

**Exemplo de solicitação**

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

**Exemplo de resposta**

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

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

Códigos de status:
+ **200**: Ok
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: fonte de dados não encontrada ou permissão não encontrada