Azure Databricks REST API에 인증하기 위해 사용자는 PAT(개인 액세스 토큰)를 만들고 REST API 요청에 사용할 수 있습니다. 또한 사용자는 서비스 주체를 만들고 개인 액세스 토큰과 함께 사용하여 CI/CD 도구 및 자동화에서 Azure Databricks REST API를 호출할 수 있습니다. 이 문서에서는 Azure Databricks 관리자가 작업 영역에서 개인 액세스 토큰을 관리하는 방법을 설명합니다. 개인 액세스 토큰을 만들려면 Azure Databricks 개인용 액세스 토큰(레거시)을 사용하여 인증을 참조하세요.
개인용 액세스 토큰 대신 OAuth 사용
Databricks에서는 보안 및 편의성을 높이기 위해 PAT 대신 OAuth 액세스 토큰을 사용하는 것이 좋습니다. Databricks는 계속해서 PAT를 지원하지만 더 큰 보안 위험으로 인해 계정의 현재 PAT 사용을 감사하고 사용자 및 서비스 주체를 OAuth 액세스 토큰으로 마이그레이션하는 것이 좋습니다. 자동화에서 서비스 주체와 함께 사용할 OAuth 액세스 토큰(PAT 대신)을 만들려면 OAuth를 사용하여 Azure Databricks에 대한 서비스 주체 액세스 권한 부여를 참조하세요.
Databricks는 다음 단계를 사용하여 개인 액세스 토큰 노출을 최소화하는 것이 좋습니다.
- 작업 영역에서 만든 모든 새 토큰에 대해 짧은 수명을 설정합니다. 수명은 90일 미만이어야 합니다. 기본적으로 모든 새 토큰의 최대 수명은 730일(2년)입니다.
- Azure Databricks 작업 영역 관리자 및 사용자와 협력하여 수명이 짧은 토큰으로 전환합니다.
- 이러한 오래된 토큰이 시간이 지남에 따라 오용될 위험을 줄이기 위해 수명이 긴 모든 토큰을 해지합니다. Databricks는 토큰이 90일 이상 사용되지 않은 경우 Azure Databricks 작업 영역에 대한 모든 PAT를 자동으로 해지합니다.
요구 사항
개인 액세스 토큰을 관리하려면 관리자여야 합니다.
Azure Databricks 계정 관리자는 계정 전체에서 개인 액세스 토큰을 모니터링하고 해지할 수 있습니다.
Azure Databricks 작업 영역 관리자는 다음을 수행할 수 있습니다.
- 작업 영역에 대한 개인 액세스 토큰을 사용하지 않도록 설정합니다.
- 관리자가 아닌 사용자가 토큰을 생성하고 사용할 수 있는지 제어합니다.
- 새 토큰의 최대 수명을 설정합니다.
- 자신의 작업 영역에서 토큰을 모니터링하고 취소합니다.
작업 영역에서 개인 액세스 토큰을 관리하려면 프리미엄 요금제 가 필요합니다.
계정에서 개인 액세스 토큰 모니터링 및 해지
계정 관리자는 계정 콘솔에서 개인 액세스 토큰을 모니터링하고 해지할 수 있습니다. 토큰을 모니터링하는 쿼리는 계정 관리자가 토큰 보고서 페이지를 사용하는 경우에만 실행됩니다.
계정 관리자로서 계정 콘솔으로 로그인합니다.
사이드바에서 보안 및 토큰 보고서를 클릭합니다.
토큰 소유자, 작업 영역, 만든 날짜, 만료 날짜 및 토큰이 마지막으로 사용된 날짜를 기준으로 필터링할 수 있습니다. 보고서 상단의 버튼을 사용하여 비활성 보안 주체의 액세스 토큰을 필터링하거나 만료일이 없는 액세스 토큰을 필터링합니다.
CSV로 보고서를 내보내려면 내보내기클릭합니다.
토큰을 해지하려면 토큰을 선택하고 취소를 클릭합니다.
작업 영역에 대한 개인용 액세스 토큰 인증 사용 또는 사용 안 함
개인 액세스 토큰 인증은 기본적으로 모든 Azure Databricks 작업 영역에 대해 사용하도록 설정됩니다. 작업 영역 설정 페이지에서 이 설정을 변경할 수 있습니다.
작업 영역에 개인용 액세스 토큰을 사용하지 않도록 설정한 경우 개인용 액세스 토큰을 사용하여 Azure Databricks에 인증할 수 없으며 작업 영역 사용자 및 서비스 주체는 새 토큰을 만들 수 없습니다. 작업 영역에 대한 개인용 액세스 토큰 인증을 사용하지 않도록 설정하면 토큰이 삭제되지 않습니다. 나중에 토큰을 다시 사용하도록 설정하면 만료되지 않은 토큰을 사용할 수 있습니다.
사용자의 하위 집합에 대한 토큰 액세스를 사용하지 않도록 설정하려면 작업 영역에 대해 개인 액세스 토큰 인증을 사용하도록 설정하고 사용자 및 그룹에 대한 세분화된 권한을 설정할 수 있습니다. 개인용 액세스 토큰을 만들고 사용할 수 있는 사용자 제어를 참조 하세요.
작업 영역에 대한 개인용 액세스 토큰을 만들고 사용하는 기능을 사용하지 않도록 설정하려면 다음을 수행합니다.
설정 페이지로 이동합니다.
고급 탭을 클릭합니다.
개인용 액세스 토큰 토글을 클릭합니다.
확인을 클릭합니다.
이 변경 내용이 적용되는 데 몇 초 정도 걸릴 수 있습니다.
작업 영역 구성 API를 사용하여 작업 영역에 대한 개인용 액세스 토큰을 사용하지 않도록 설정할 수도 있습니다.
개인 액세스 토큰을 만들고 사용할 수 있는 사용자 제어
작업 영역 관리자는 개인 액세스 토큰에 대한 권한을 설정하여 토큰을 만들고 사용할 수 있는 사용자, 서비스 주체 및 그룹을 제어할 수 있습니다. 개인용 액세스 토큰 권한을 구성하는 방법에 대한 자세한 내용은 개인용 액세스 토큰 권한 관리를 참조하세요.
새 개인 액세스 토큰의 최대 수명 설정
기본적으로 새 토큰의 최대 수명은 730일(2년)입니다. Databricks CLI 또는 작업 영역 구성 API를 사용하여 작업 영역에서 더 짧은 최대 토큰 수명을 설정합니다. 이 제한은 새 토큰에만 적용됩니다.
새 토큰의 최대 수명(일)으로 정수로 설정합니다 maxTokenLifetimeDays . 예시:
Databricks 명령줄 인터페이스 (CLI)
databricks workspace-conf set-status --json '{
"maxTokenLifetimeDays": "90"
}'
작업 영역 구성 API
curl -n -X PATCH "https://<databricks-instance>/api/2.0/workspace-conf" \
-d '{
"maxTokenLifetimeDays": "90"
}'
Terraform (테라폼)
Databricks Terraform 공급자를 사용하여 작업 영역에서 새 토큰의 최대 수명을 관리하려면 databricks_workspace_conf 리소스를 참조하세요.
사용자 지정 수명 제한을 제거하고 시스템 기본값인 730일(2년)로 되돌리도록 maxTokenLifetimeDays 설정합니다"0". 이 설정을 사용하여 이전에 구성된 사용자 지정 제한을 사용하지 않도록 설정합니다.
개인 액세스 토큰 만료 알림
Databricks는 개인 액세스 토큰이 만료되기 약 7일 전에 작업 영역 사용자에게 이메일 알림을 보냅니다. 이러한 알림을 받으려면 사용자에게 이메일 기반 사용자 이름이 있어야 합니다. Databricks는 동일한 작업 영역 내의 모든 만료 토큰을 단일 전자 메일로 그룹화합니다.
서비스 주체 토큰 만료 알림
Important
이 기능은 베타 버전으로 제공됩니다.
서비스 주체 토큰의 경우 Databricks는 작업 영역 관리자에게 만료 알림을 보냅니다. 알림은 한 번 이상 사용된 수명이 7일보다 큰 서비스 주체 토큰에 대해서만 전송됩니다.
작업 영역에서 토큰 모니터링 및 해지
이 섹션에서는 작업 영역 관리자가 Databricks CLI 사용하여 작업 영역의 기존 토큰을 관리하는 방법을 설명합니다. 토큰 관리 API를 사용할 수도 있습니다. Databricks는 90일 이상 사용되지 않은 개인용 액세스 토큰을 자동으로 해지합니다.
작업 영역에 대한 토큰 가져오기
작업 영역의 토큰을 가져오려면 다음을 수행합니다.
파이썬
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
spark.createDataFrame([token.as_dict() for token in w.token_management.list()]).createOrReplaceTempView('tokens')
display(spark.sql('select * from tokens order by creation_time'))
배쉬
# Filter results by a user by using the `created-by-id` (to filter by the user ID) or `created-by-username` flags.
databricks token-management list
토큰 삭제(취소)
토큰을 삭제하려면 TOKEN_ID를 삭제할 토큰의 ID로 바꿉니다.
databricks token-management delete TOKEN_ID
토큰 자동 범위 지정 상태 검토
작업 영역 UI 또는 토큰 API를 사용하여 토큰의 자동 범위 지정 상태, 유추된 범위 및 적용된 범위를 검토할 수 있습니다. 자동 범위 지정의 작동 방식에 대한 개요는 개인용 액세스 토큰에 대한 자동 범위 지정을 참조하세요.
새 토큰의 경우 작업 영역 UI에서 제안된 범위를 볼 수 있습니다. 모든 API 액세스 권한이 있는 기존 토큰의 경우 제안된 범위는 API를 통해서만 사용할 수 있습니다.
작업 영역 UI
- Azure Databricks 작업 영역에서 오른쪽 위 모서리에 있는 사용자 이름을 클릭합니다.
- 설정을 클릭합니다.
- 왼쪽 탐색 창에서 개발자를 클릭합니다.
- 액세스 토큰>관리를 클릭합니다.
- 각 토큰의 자동 범위 지정 상태와 이력 범위 또는 적용 범위를 검토합니다.
API
GET /api/2.0/token/list를 사용하여 추론된 범위와 자동 스코프 지정 상태를 검토합니다.
새 토큰: 응답에는 현재 추론된 범위를 표시하는 inferred_scopes 및 현재 자동 범위 지정 상태를 표시하는 autoscope_state가 포함됩니다.
{
"token_infos": [
{
"token_id": "<token-id>",
"comment": "example autoscoping completed PAT",
"scopes": ["authentication"],
"autoscope_state": "AUTOSCOPE_STATE_COMPLETED",
"inferred_scopes": ["authentication"]
}
]
}
기존 토큰: 응답에는 기록 API 사용에서 유추된 범위를 보여 주는 필드가 포함됩니다 backfill_scopes .
{
"token_infos": [
{
"token_id": "<token-id>",
"comment": "example existing all-apis PAT",
"backfill_scopes": ["authentication"]
}
]
}