mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* removes readonly editor role * adds viewersCanEdit setting This enable you to allow viewers to edit/inspect dashboards in grafana in their own browser without allowing them to save dashboards * remove read only editor option from all dropdowns * migrates all read only viewers to viewers * docs: replace readOnlyEditor with viewersCanEdit
133 lines
2.6 KiB
Markdown
133 lines
2.6 KiB
Markdown
+++
|
||
title = "Authentication HTTP API "
|
||
description = "Grafana Authentication HTTP API"
|
||
keywords = ["grafana", "http", "documentation", "api", "authentication"]
|
||
aliases = ["/http_api/authentication/"]
|
||
type = "docs"
|
||
[menu.docs]
|
||
name = "Authentication"
|
||
parent = "http_api"
|
||
+++
|
||
|
||
# Authentication API
|
||
|
||
## Tokens
|
||
|
||
Currently you can authenticate via an `API Token` or via a `Session cookie` (acquired using regular login or oauth).
|
||
|
||
## Basic Auth
|
||
|
||
If basic auth is enabled (it is enabled by default) you can authenticate your HTTP request via
|
||
standard basic auth. Basic auth will also authenticate LDAP users.
|
||
|
||
curl example:
|
||
```bash
|
||
?curl http://admin:admin@localhost:3000/api/org
|
||
{"id":1,"name":"Main Org."}
|
||
```
|
||
|
||
## Create API Token
|
||
|
||
Open the sidemenu and click the organization dropdown and select the `API Keys` option.
|
||
|
||

|
||
|
||
You use the token in all requests in the `Authorization` header, like this:
|
||
|
||
**Example**:
|
||
|
||
```http
|
||
GET http://your.grafana.com/api/dashboards/db/mydash HTTP/1.1
|
||
Accept: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
The `Authorization` header value should be `Bearer <your api key>`.
|
||
|
||
# Auth HTTP resources / actions
|
||
|
||
## Api Keys
|
||
|
||
`GET /api/auth/keys`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
GET /api/auth/keys HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
## Create API Key
|
||
|
||
`POST /api/auth/keys`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
POST /api/auth/keys HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
|
||
```
|
||
|
||
JSON Body schema:
|
||
|
||
- **name** – The key name
|
||
- **role** – Sets the access level/Grafana Role for the key. Can be one of the following values: `Viewer`, `Editor` or `Admin`.
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
## Delete API Key
|
||
|
||
`DELETE /api/auth/keys/:id`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
DELETE /api/auth/keys/3 HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
``` |