

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 대시보드 권한 API
<a name="Grafana-API-DashboardPermissions"></a>

대시보드 권한 API를 사용하여 대시보드에 대한 권한을 업데이트하거나 검색합니다.

`dashboardId=-1`의 권한은 최종 사용자 및 편집자 역할의 사용자에 대한 기본 권한입니다. 사용자, 팀 또는 역할(최종 사용자 또는 편집자)에 대한 권한을 설정할 수 있습니다. 관리자에 대한 권한은 설정할 수 없습니다. 관리자는 항상 모든 항목에 액세스할 수 있습니다.

`permission` 필드에 대한 권한 수준은 다음과 같습니다.
+ 1 = 보기
+ 2 = 편집
+ 4 = 관리

**참고**  
Amazon Managed Grafana 워크스페이스에서 Grafana API를 사용하려면 유효한 Grafana API 토큰이 있어야 합니다. API 요청의 `Authorization` 필드에 이를 포함합니다. API 직접 호출을 인증하기 위해 토큰을 생성하는 방법에 대한 자세한 내용은 [토큰으로 인증](authenticating-grafana-apis.md) 섹션을 참조하세요.

## 대시보드에 대한 권한 가져오기
<a name="Grafana-API-DashboardPermissions-get"></a>

```
GET /api/dashboards/id/:dashboardId/permissions
```

지정된 `dashboardId`를 사용하여 대시보드에 대한 모든 기존 권한을 가져옵니다.

**요청 예제**

```
GET /api/dashboards/id/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

[
  {
    "id": 1,
    "dashboardId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Viewer",
    "permission": 1,
    "permissionName": "View",
    "uid": "",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  },
  {
    "id": 2,
    "dashboardId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Editor",
    "permission": 2,
    "permissionName": "Edit",
    "uid": "",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  }
]
```

상태 코드:
+ **200** - 정상
+ **401** - 권한이 없음
+ **403** - 액세스 거부됨
+ **404** - 대시보드를 찾을 수 없음

## 대시보드에 대한 권한 업데이트
<a name="Grafana-API-DashboardPermissions-update"></a>

```
POST /api/dashboards/id/:dashboardId/permissions
```

대시보드에 대한 권한을 업데이트합니다. 이 작업은 요청에 포함되지 않은 기존 권한을 제거합니다.

**요청 예제**

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

{
  "items": [
    {
      "role": "Viewer",
      "permission": 1
    },
    {
      "role": "Editor",
      "permission": 2
    },
    {
      "teamId": 1,
      "permission": 1
    },
    {
      "userId": 11,
      "permission": 4
    }
  ]
}
```

JSON 본문 스키마:
+ **항목** - 추가 또는 업데이트할 권한 항목. 목록에서 생략된 기존 항목은 제거됩니다.

**응답의 예**

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

{"message":"Dashboard permissions updated"}
```

상태 코드:
+ **200** - 생성됨
+ **401** - 권한이 없음
+ **403** - 액세스 거부됨
+ **404** - 대시보드를 찾을 수 없음