Azure Databricks 개인용 액세스 토큰을 사용하여 인증

Databricks REST API에 인증하고 액세스하려면 Azure Databricks 개인용 액세스 토큰 또는 Azure AD(Azure Active Directory) 토큰을 사용하면 됩니다.

이 문서에서는 Azure Databricks 개인용 액세스 토큰을 사용하는 방법을 설명합니다. Azure AD 토큰은 Azure AD 토큰을 참조하세요.

중요

토큰은 인증 흐름에서 암호를 대체하므로 암호처럼 보호되어야 합니다. 토큰을 보호하기 위해, Databricks는 토큰을 다음 위치에 저장할 것을 권장합니다.

참고

보안 모범 사례로, 자동화된 도구, 시스템, 스크립트 및 앱을 사용하여 인증할 때 작업 영역 사용자 대신 서비스 주체에 속한 액세스 토큰을 사용하는 것이 좋습니다. 서비스 주체에 대한 액세스 토큰을 만들려면 서비스 주체에 대한 액세스 토큰 관리를 참조하세요.

요구 사항

토큰 기반 인증은 2018년 1월 이후에 시작된 모든 Azure Databricks 계정에 대해 기본적으로 사용하도록 설정되어 있습니다. 토큰 기반 인증을 사용하지 않도록 설정한 경우, 관리자가 이를 사용하도록 설정해야 개인용 액세스 토큰 관리에서 설명하는 작업을 수행할 수 있습니다.

개인용 액세스 토큰 생성

Azure Databricks 개인용 액세스 토큰을 참조하세요.

토큰 API 2.0을 사용하여 토큰을 생성하고 철회할 수도 있습니다.

사용자당 개인용 액세스 토큰의 수는 작업 영역당 600개로 제한됩니다.

개인용 액세스 토큰 철회

이 섹션에서는 Azure Databricks UI를 사용하여 개인용 액세스 토큰을 철회하는 방법을 설명합니다. 토큰 API 2.0을 사용하여 액세스 토큰을 생성하고 철회할 수도 있습니다.

  1. Azure Databricks 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭하고 드롭다운에서 사용자 설정을 선택합니다.
  2. 액세스 토큰 탭으로 이동합니다.
  3. 철회하려는 토큰에 대해 x를 클릭합니다.
  4. 토큰 철회 대화 상자에서 토큰 철회 단추를 클릭합니다.

개인용 액세스 토큰을 사용하여 Databricks REST API에 액세스

개인용 액세스 토큰을 .netrc 파일에 저장하고 curl에서 사용하거나 Authorization: Bearer 헤더에 전달할 수 있습니다.

토큰을 .netrc 파일에 저장하고 curl에서 사용

machine, login, password 속성을 사용하여 .netrc 파일을 만듭니다.

machine <databricks-instance>
login token
password <token-value>

여기서

  • <databricks-instance>는 Azure Databricks 배포의 작업 영역 URL의 인스턴스 ID 부분입니다. 예를 들어, 작업 영역 URL이 https://adb-1234567890123456.7.azuredatabricks.net이면 <databricks-instance>adb-1234567890123456.7.azuredatabricks.net입니다.
  • token은 리터럴 문자열 token입니다.
  • <token-value>는 토큰의 값입니다(예: dapi1234567890ab1cde2f3ab456c7d89efa).

결과는 다음과 같습니다.

machine adb-1234567890123456.7.azuredatabricks.net
login token
password dapi1234567890ab1cde2f3ab456c7d89efa

머신/토큰 항목이 여러 개인 경우, 한 줄에 하나의 항목을 입력하고 각 머신/토큰 매칭 쌍의 machine, login, password 속성을 같은 줄에 추가하세요. 결과는 다음과 같습니다.

machine adb-1234567890123456.7.azuredatabricks.net login token password dapi1234567890ab1cde2f3ab456c7d89efa
machine adb-2345678901234567.8.azuredatabricks.net login token password dapi2345678901cd2efa3b4cd567e8f90abc
machine adb-3456789012345678.9.azuredatabricks.net login token password dapi3456789012de3fab4c5de678f9a01bcd

이 예제에서는 curl 명령에서 --netrc를 사용하여(-n을 사용하는 것도 가능) .netrc 파일을 호출합니다. 지정된 작업 영역 URL을 사용하여 .netrc 파일에서 일치하는 machine 항목을 찾습니다.

curl --netrc -X GET https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list

Bearer 인증에 토큰 전달

Bearer 인증을 사용하여 헤더에 토큰을 포함할 수 있습니다. 이 방법은 curl에서 또는 사용자가 빌드한 클라이언트에서 사용할 수 있습니다. 후자의 경우 DBFS에 큰 파일 업로드를 참조하세요.

이 예제에서는 Bearer 인증을 사용하여 지정된 작업 영역에 모든 사용 가능한 클러스터를 나열합니다.

export DATABRICKS_TOKEN=dapi1234567890ab1cde2f3ab456c7d89efa

curl -X GET --header "Authorization: Bearer $DATABRICKS_TOKEN" \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list