
안녕하세요. 오랜만에 Databricks 관련 글을 올립니다. 오랜만에 쓰는 글인데 심화적인 글은 아니고 간단한 API를 이용한 내용입니다. Databricks에서는 AWS나 GCP 같은 플랫폼에서와 같이 Key 형태의 Token을 제공합니다. Token을 이용해서 여러 가지 Databricks의 모니터링을 할 때 Token을 이용해서 코드에 삽입하여 사용합니다.
제가 만든 수많은 모니터링 시스템에서 필요한 것이 Databricks의 Token입니다. 모니터링을 하려면 AWS에서는 Access key 가 필요하고 GCP에서는 key file이 필요하듯이 여기서도 Token이라는 것이 존재 합니다.
Authenticate with Databricks personal access tokens (legacy) | Databricks on AWS
Authenticate with Databricks personal access tokens (legacy) | Databricks on AWS
Learn how to set up Databricks authentication by using Databricks personal access tokens (PATs).
docs.databricks.com
하지만 이 Token에도 관리가 필요합니다. 특히 최근에 많은 이슈가 되고 있는 보안을 위해서 Token을 주기적으로 교체하거나 수명주기를 관리하여 Token을 관리해야 합니다.
Token 확인 방법

Databricks Token의 경우 위의 스크린숏과 같이 우측 상단의 워크스페이스명을 누르면 나오는 곳의 가장 아래에 "계정 관리"부분을 클릭하면 나오는 페이지로 접속 후 아래와 같이 확인 가능 합니다.

여기서 Token을 생성하는 방법이나 각각의 워크스페이스별로 보는 방법은 다루지 않겠습니다. (글 목적과 맞지 않으므로)
Token 정보 가져오기
Databricks의 Token 정보의 경우 다음의 API를 통해서 가져올 수 있습니다.
List all tokens | Token management API | REST API reference | Databricks on AWS
Databricks REST API reference
docs.databricks.com
Token의 정보를 가져올 수 있으며 결과값 예시는 다음과 같습니다.
{
"token_infos": [
{
"comment": "This is for the ABC department automation scripts.",
"created_by_id": 202480738464078,
"created_by_username": "jsmith@example.com",
"creation_time": 1580265020299,
"expiry_time": 1580265020299,
"last_used_day": 1710374400000,
"owner_id": 202480738464078,
"token_id": "5684c955822ac792a51ae2aeb80190f13457bab3e2e2934c133a08b38454816c",
"workspace_id": 5750939285643220
}
]
}
다음의 코드로 Token의 정보를 가져올수 있습니다. info_list에 보시면 list형태로 넣은 이유는 list에 여러 개의 워크스페이스를 넣어서 한 번에 정보를 전부 가져오기 위함입니다. (각 워크스페이스마다 Token을 생성하여 각 워크스페이스마다 API를 실행해야지 모든 Token정보를 획득 가능함)
import requests
from datetime import datetime,timedelta
info_list = [
{'account':'Please enter your account.','domain':'Please enter your domain.','token':'Please enter your token.'}
]
for info_row in info_list:
account = info_row.get('account')
domain = info_row.get('domain')
token = info_row.get('token')
print(f'Collect the corresponding {account}')
url = f"https://{domain}/api/2.0/token-management/tokens"
headers = {"Authorization": f"Bearer {token}" }
response = requests.get(url=url, headers=headers)
result = response.json()
token_list = result.get('token_infos')
if token_list == []:
pass
else:
for token in token_list:
print(token)
위의 코드를 이용해서 Token 정보를 가져오고 저희 같은 경우 다음과 같이 Teams 메신저를 통해서 알림을 받고 있습니다. 이렇게 Token의 만료기간을 알려서 사용자가 갑자기 Token이 안 되는 상황을 막고 사전에 이를 방지하기 위함입니다.

'Databricks' 카테고리의 다른 글
| [Databricks] Job Monitoring 방법론 : 수집📥 알람🚨 보기👀 (2) | 2025.09.02 |
|---|---|
| Databricks와 함께한 데이터 플랫폼 구축 1년 회고 (9) | 2025.07.24 |
| [Databricks] 비효율적인 작업 추적기 만들기 (6) | 2025.07.11 |
| [Databricks] Databricks 운영 정리 - 1편 (1) | 2025.05.21 |
| [Databricks] targetFileSize 테이블 옵션 (1) | 2025.04.30 |
