

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

# 토큰으로 인증
<a name="authenticating-grafana-apis"></a>

Amazon Managed Grafana 워크스페이스에서 Grafana API를 사용하려면 유효한 Grafana *토큰*이 있어야 합니다. 토큰은 API 직접 호출자에 대한 인증 및 권한 부여를 제공합니다. 토큰을 생성하는 두 가지 방법이 있습니다.
+ **서비스 계정** - 서비스 계정은 프로비저닝, 구성 또는 보고서 생성과 같은 Grafana의 자동화된 워크로드를 실행하는 데 사용됩니다. 서비스 계정에 대한 서비스 계정 토큰을 생성할 수 있습니다. 서비스 계정은 버전 9.x와 호환되는 Grafana 워크스페이스에서 사용할 수 있으며, Grafana API와 상호 작용하는 애플리케이션을 인증하는 기본 방법으로 API를 교체하려고 합니다.
+ **API 키** - API 키(API 토큰이라고도 함)는 외부 시스템이 Grafana HTTP API와 상호 작용하는 데 사용할 수 있는 무작위로 생성된 문자열입니다. API 키는 Grafana 워크스페이스 버전 8, 9 및 10에서 사용할 수 있지만 GrafanaLabs는 향후 릴리스에서 해당 기능이 더 이상 사용되지 않는다고 발표했습니다.

**Topics**
+ [서비스 계정을 사용하여 Grafana HTTP API에서 인증](service-accounts.md)
+ [API 키를 사용하여 Grafana HTTP API로 인증](using-api-keys.md)

# 서비스 계정을 사용하여 Grafana HTTP API에서 인증
<a name="service-accounts"></a>

서비스 계정을 사용하여 Grafana에서 대시보드 프로비저닝, 구성 또는 보고서 생성과 같은 자동화된 워크로드를 실행할 수 있습니다. 서비스 계정 및 토큰을 생성하여 Grafana 콘솔 또는 [Amazon Managed Grafana API](https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceServiceAccount.html)를 통해 Terraform과 같은 애플리케이션을 인증합니다.

**참고**  
서비스 계정은 Grafana 9.x 이상에서 사용할 수 있으며, Grafana와 상호 작용하는 애플리케이션을 인증하는 기본 방법으로 API 키를 대체하고 있습니다.

서비스 계정을 생성하기 위한 일반적인 사용 사례는 자동화된 태스크 또는 트리거된 태스크에서 작업을 수행하는 것입니다. 서비스 계정을 사용하여 다음을 수행할 수 있습니다.
+ 시스템에서 Grafana에 사용할 알림 정의
+ 사용자로 로그인하지 않고 Grafana와 상호 작용

**참고**  
각 서비스 계정은 결제를 위해 사용자로 간주됩니다.

## 서비스 계정 토큰
<a name="service-account-tokens"></a>

서비스 계정 토큰은 Grafana의 HTTP API로 인증하기 위해 키 역할을 하는 생성된 문자열입니다.

서비스 계정을 생성할 때 하나 이상의 액세스 토큰을 연결할 수 있습니다. API 키와 동일한 방식으로 서비스 액세스 토큰을 사용하여 Grafana HTTP API에 프로그래밍 방식으로 액세스할 수 있습니다.

동일한 서비스 계정에 대해 여러 토큰을 생성할 수 있습니다. 다음과 같은 경우 이 작업을 수행할 수 있습니다.
+ 여러 애플리케이션이 동일한 권한을 사용하지만 작업을 개별적으로 감사하거나 관리하려고 합니다.
+ 손상된 토큰을 순환하거나 교체해야 합니다.

서비스 계정 액세스 토큰은 서비스 계정에서 권한을 상속합니다.

Amazon Managed Grafana에는 한 번에 보유할 수 있는 서비스 계정 토큰 수에 대한 [할당량](AMG_quotas.md)이 있습니다. 여기에는 활성 토큰과 만료된 토큰이 포함됩니다. 할당량에서 토큰을 제거하려면 토큰을 삭제해야 합니다.

## 서비스 계정 혜택
<a name="service-account-benefits"></a>

API 키에 대한 서비스 계정의 추가 이점은 다음과 같습니다.
+ 서비스 계정은 Grafana 사용자와 유사합니다. 활성화/비활성화되고, 특정 권한을 부여하며, 삭제되거나 비활성화될 때까지 활성 상태를 유지할 수 있습니다. API 키는 만료일까지만 유효합니다.
+ 서비스 계정은 여러 토큰과 연결할 수 있습니다.
+ API 키와 달리 서비스 계정 토큰은 특정 사용자와 연결되지 않으므로 Grafana 사용자가 삭제되더라도 애플리케이션을 인증할 수 있습니다.
+ 사용자에게 권한을 부여하는 것과 동일한 방식으로 서비스 계정에 권한을 부여할 수 있습니다.

  권한에 대한 자세한 내용은 [권한 사용](Grafana-permissions.md) 섹션을 참조하세요.

## 서비스 계정 생성
<a name="service-account-create"></a>

**참고**  
서비스 계정을 생성하는 사용자는 자신이 생성한 서비스 계정 및 해당 서비스 계정과 연결된 권한도 읽고 업데이트하고 삭제할 수 있습니다.

**사전 조건**

서비스 계정을 생성 및 편집할 수 있는 권한이 있는지 확인합니다. 기본적으로 서비스 계정을 생성 및 편집하려면 조직 관리자 역할이 필요합니다. 권한에 대한 자세한 내용은 [권한 사용](Grafana-permissions.md) 섹션을 참조하세요.

**서비스 계정을 생성하는 방법**

1. Amazon Managed Grafana 워크스페이스에 로그인하고 왼쪽 메뉴에서 **관리**를 선택하세요.

1. **서비스 계정**을 선택하세요.

1. **서비스 계정 추가**를 선택하세요.

1. **표시 이름**을 입력하세요.

1. 표시 이름은 서비스 계정과 연결된 ID를 결정하므로 고유해야 합니다.
   + 서비스 계정의 이름을 지정할 때는 일관된 이름 지정 규칙을 사용하는 것이 좋습니다. 일관된 이름 지정 규칙은 향후 서비스 계정의 규모를 조정하고 서비스 계정을 유지 관리하는 데 도움이 될 수 있습니다.
   + 표시 이름은 언제든지 변경할 수 있습니다.

1. **생성(Create)**을 선택합니다.

**참고**  
Amazon Managed AWS APIs. [CreateWorkspaceServiceAccount](https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceServiceAccount.html)를 사용하여 프로그래밍 방식으로 서비스 계정을 생성합니다.

## 서비스 계정에 토큰 추가
<a name="service-account-add-token"></a>

서비스 계정 토큰은 Grafana의 HTTP API로 인증할 때 암호의 대안 역할을 하는 무작위로 생성된 문자열입니다.

**사전 조건**

서비스 계정을 생성 및 편집할 수 있는 권한이 있는지 확인합니다. 기본적으로 서비스 계정을 생성 및 편집하려면 조직 관리자 역할이 필요합니다. 권한에 대한 자세한 내용은 [권한 사용](Grafana-permissions.md) 섹션을 참조하세요.

**서비스 계정에 토큰을 추가하는 방법**

1. Grafana 워크스페이스에 로그인하고 왼쪽 메뉴에서 **관리**를 선택하세요.

1. **사용자 및 액세스** 메뉴를 확장하세요.

1. **서비스 계정**을 선택하세요.

1. 토큰을 추가할 서비스 계정을 선택하세요.

1. **서비스 계정 토큰 추가**를 선택하세요.

1. 토큰 이름을 입력하세요.

1. **만료 날짜 설정**을 선택하고 토큰의 만료 날짜를 입력하세요.
   + 만료 날짜는 키의 유효 기간을 지정합니다.
   + 만료 날짜를 향후 최대 30일까지 설정할 수 있습니다.
   + 만료 날짜가 확실하지 않은 경우 몇 시간 이하와 같이 짧은 시간 후에 토큰이 만료되도록 토큰을 설정하는 것이 좋습니다. 그러면 장기간 유효한 토큰과 관련된 위험이 제한됩니다.

1. **토큰 생성**을 선택합니다.

**참고**  
Amazon Managed Grafana AWS API를 사용하여 서비스 계정 토큰을 생성할 수도 있습니다. [CreateWorkspaceServiceAccountToken](https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceServiceAccountToken.html)을 사용하여 프로그래밍 방식으로 서비스 계정 토큰을 생성합니다.

## 서비스 토큰 삭제
<a name="service-account-delete-token"></a>

서비스 토큰을 사용한 후에는 워크스페이스에서 제거하려면 이를 삭제해야 합니다. 만료되었지만 아직 삭제되지 않은 토큰은 서비스 계정 토큰의 [할당량](AMG_quotas.md)에 포함됩니다.

**사전 조건**

서비스 계정을 생성 및 편집할 수 있는 권한이 있는지 확인합니다. 기본적으로 서비스 계정을 생성 및 편집하려면 조직 관리자 역할이 필요합니다. 권한에 대한 자세한 내용은 [권한 사용](Grafana-permissions.md) 섹션을 참조하세요.

**서비스 계정에 대한 토큰을 제거하는 방법**

1. Grafana 워크스페이스에 로그인하고 왼쪽 메뉴에서 **관리**를 선택하세요.

1. **사용자 및 액세스** 메뉴를 확장하세요.

1. **서비스 계정**을 선택하세요.

1. 토큰을 삭제할 서비스 계정을 선택하세요.

1. 토큰 목록에서 삭제하려는 서비스 계정 토큰 옆에 **x**가 있는 빨간색 아이콘을 선택하세요.

1. **삭제**를 선택합니다.

토큰이 삭제됩니다.

**참고**  
Amazon Managed Grafana AWS API를 사용하여 서비스 계정 토큰을 삭제할 수도 있습니다. [DeleteWorkspaceServiceAccountToken](https://docs.aws.amazon.com/grafana/latest/APIReference/API_DeleteWorkspaceServiceAccountToken.html)을 사용하여 프로그래밍 방식으로 서비스 계정 토큰을 삭제합니다.

## 서비스 계정에 역할 할당
<a name="service-account-role"></a>

Grafana 서비스 계정에 역할을 할당하여 연결된 서비스 계정 토큰에 대한 액세스를 제어할 수 있습니다. Grafana UI를 사용하거나 API를 통해 서비스 계정에 역할을 할당할 수 있습니다.

**사전 조건**

서비스 계정을 생성 및 편집할 수 있는 권한이 있는지 확인합니다. 기본적으로 서비스 계정을 생성 및 편집하려면 조직 관리자 역할이 필요합니다. 권한에 대한 자세한 내용은 [권한 사용](Grafana-permissions.md) 섹션을 참조하세요.

**서비스 계정에 역할을 할당하는 방법**

1. Grafana에 로그인하고 왼쪽 메뉴에서 **관리**를 선택하세요.

1. **서비스 계정**을 선택하세요.

1. 역할을 할당할 서비스 계정을 선택하세요. 또는 목록 보기에서 서비스 계정을 찾으세요.

1. 역할 선택기를 사용하여 역할을 할당해 업데이트하세요.

# API 키를 사용하여 Grafana HTTP API로 인증
<a name="using-api-keys"></a>

Grafana API에 액세스하는 한 가지 방법은 *API 토큰*이라고도 하는 *API 키*를 사용하는 것입니다. API 키를 생성하려면 다음 절차 중 하나를 사용합니다. API 키는 생성할 때 지정한 제한된 기간에서 최대 30일까지 유효합니다.

**Topics**
+ [워크스페이스에서 Grafana API와 함께 사용할 Grafana API 키 생성(콘솔)](#API_key_console)
+ [를 사용하여 Amazon Managed Grafana 워크스페이스 API 키 생성 AWS CLI](#API_key_CLI)

**참고**  
버전 9 이상에서는 API 키 대신 서비스 계정을 사용하는 것이 좋습니다. 서비스 계정은 Grafana API와 상호 작용하는 애플리케이션을 인증하는 기본 방법으로 API 키를 대체합니다. Grafana Labs는 향후 릴리스에서 API 키가 제거될 것이라고 발표했습니다.

API 키를 생성할 때 키의 *역할*을 지정합니다. 역할은 키 사용자가 보유한 관리 권한 수준을 결정합니다.

다음 표에는 관리자, 편집자 및 최종 사용자 역할에 부여된 권한이 나와 있습니다. 첫 번째 표에는 일반적인 조직 권한이 나와 있습니다. 이 테이블에서 **전체**는 권한을 보고, 편집하며, 추가하고, 삭제할 수 있는 기능을 의미합니다. **탐색** 열은 역할이 *탐색* 보기를 사용할 수 있는지 여부를 보여줍니다. **기타** 권한 열은 역할에 사용자, 팀, 플러그인 및 조직 설정을 관리할 수 있는 권한이 있는지 여부를 보여줍니다.


|  Role  |  대시보드  |  재생 목록  |  폴더  |  탐색  |  데이터 소스  |  기타 권한  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  **최종 사용자**  |  보기  |  보기  |  아니요  |  아니요  |  아니요  |  아니요  | 
|  **Editor(편집기)**  |  전체  |  전체  |  전체  |  예  |  아니요  |  아니요  | 
|  **관리자**  |  전체  |  전체  |  전체  |  예  |  전체  |  전체  | 

다음 표에는 사용자가 설정할 수 있는 추가 대시보드 및 폴더 수준 권한이 나와 있습니다. 이는 관리자, 편집자 및 최종 사용자 역할과는 다릅니다.


|  Role  |  대시보드  |  폴더  |  권한 변경  | 
| --- | --- | --- | --- | 
|  **보기**  |  보기  |  보기  |  아니요  | 
|  **Edit**  |  생성, 편집  |  보기  |  아니요  | 
|  **관리자**  |  생성, 편집, 삭제  |  생성, 편집, 삭제  |  예  | 

**참고**  
권한 수준이 낮은 더 넓은 권한은 더 많은 권한의 보다 일반적인 규칙이 있는 경우 적용되지 않습니다. 예를 들어, 사용자에게 조직 **편집자** 역할을 부여한 다음, 해당 사용자에게 대시보드에 대한 **보기** 권한만 할당하면 사용자가 **편집자** 역할로 인해 전체 **편집** 액세스 권한을 보유하므로 더 제한적인 **보기** 권한은 적용되지 않습니다.

## 워크스페이스에서 Grafana API와 함께 사용할 Grafana API 키 생성(콘솔)
<a name="API_key_console"></a>

**참고**  
Grafana 버전 10 이상과 호환되는 Amazon Managed Grafana 워크스페이스에서는 워크스페이스에서 API 키를 생성하는 기능이 제거되었습니다. 워크스페이스가 Grafana 버전 10 워크스페이스인 경우 AWS CLI 또는 API를 통해서만 API 키를 생성할 수 있습니다.  
향후 릴리스를 위해 Grafana Labs에서는 API 키 제거를 발표했습니다. 대신 서비스 계정을 사용하는 것이 좋습니다.

**워크스페이스 콘솔에서 Grafana API와 함께 사용할 Grafana API 키를 생성하는 방법**

1. [https://console.aws.amazon.com/grafana/](https://console.aws.amazon.com/grafana/home/)에서 Amazon Managed Grafana 콘솔을 엽니다.

1. 페이지 왼쪽 상단에서 메뉴 아이콘을 선택한 다음, **모든 워크스페이스**를 선택합니다.

1. Amazon Managed Grafana 워크스페이스의 이름을 선택하세요.

1. 워크스페이스 세부 정보 페이지의 **Grafana 워크스페이스 URL**에 표시된 URL을 선택하세요.

1.  Grafana 콘솔 사이드 메뉴에서 **구성**(톱니) 아이콘에서 일시 중지한 다음, **API 키**를 선택하세요.

1. **새 API 키**를 선택하세요.

1. 키의 고유한 이름을 입력하세요.

1. **역할**에서 키에서 부여할 액세스 수준을 선택하세요. 이 키가 있는 사용자가 가장 광범위하고 가장 강력한 관리 수준에서 API를 사용하도록 허용하려면 **관리자**를 선택하세요. 해당 권한으로 키의 사용자를 제한하려면 **편집자** 또는 **최종 사용자**를 선택하세요. 자세한 내용은 이전 표를 참조하세요.

1. **Time To Live(TTL)**에서 키의 유효 기간을 지정하세요. 최댓값은 30일(1개월)입니다. 숫자와 문자를 입력합니다. 유효한 문자는 **s**(초), **m**(분), **h**(시간), **d**(일), **w**(주), **M**(월)입니다. 예를 들어 **12h**는 12시간이고 **1M**은 1개월(30일)입니다.

    몇 시간 이하와 같이 키의 수명을 짧게 설정하는 것이 좋습니다. 이렇게 하면 장기간 유효한 API 키보다 위험이 훨씬 줄어듭니다.

1. **추가**를 선택합니다.

1. (선택 사항) Terraform을 사용하여 [API 키 생성](Grafana-API-Authentication.md) API를 사용해 API 키 생성을 자동화할 수 있습니다. Terraform을 사용하는 API 키 생성 자동화에 대한 자세한 내용은 [Creating Grafana API Key using Terraform](https://aws-observability.github.io/observability-best-practices/recipes/recipes/amg-automation-tf/)을 참조하세요.

## 를 사용하여 Amazon Managed Grafana 워크스페이스 API 키 생성 AWS CLI
<a name="API_key_CLI"></a>

** AWS CLI를 사용하여 Amazon Managed Grafana 워크스페이스 API 키를 생성하는 방법**

다음 예제에서는 *key\$1name*, *key\$1role*, *seconds\$1to\$1live*, *workspace\$1id*를 자체 정보로 바꿉니다. key-name, key-role, seconds-to-live 형식에 대해 자세히 알아보려면 API 안내서의 [https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceApiKey.html](https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceApiKey.html) 섹션을 참조하세요.

```
aws grafana create-workspace-api-key --key-name "key_name" --key-role "key_role" --seconds-to-live seconds_to_live --workspace-id "workspace_id"
```

다음은 샘플 CLI 응답입니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/grafana/latest/userguide/images/APICLI.png)


다음 명령을 실행하여 워크스페이스의 *workspace\$1id*를 찾을 수 있습니다.

```
aws grafana list-workspaces
```