다음을 통해 공유


Azure Databricks 개인용 액세스 토큰으로 인증(레거시)

Azure Databricks PAT(개인용 액세스 토큰)를 사용하면 작업 영역 수준에서 리소스 및 API에 인증할 수 있습니다. 환경 변수 또는 Azure Databricks 구성 프로필에 저장할 수 있습니다. 각 PAT는 하나의 작업 영역에만 유효하며 사용자는 작업 영역당 최대 600개의 PAT를 만들 수 있습니다. Azure Databricks는 90일 동안 사용되지 않은 PAT를 자동으로 해지합니다.

중요

사용자 이름 및 암호 인증(토큰 제외)은 2024년 7월 10일에 수명이 종료되었습니다. Databricks는 OAuth가 더 강력한 보안을 제공하기 때문에 사용자 계정 인증에 PAT 대신 OAuth를 사용하는 것이 좋습니다. OAuth를 사용하여 Databricks 사용자 계정으로 인증하는 방법을 알아보려면 OAuth를 사용하여 Azure Databricks에 대한 사용자 액세스 권한 부여를 참조하세요.

개인 액세스 토큰을 사용하여 Azure Databricks 계정 수준 기능을 자동화할 수 없습니다. 대신 Azure Databricks 계정 관리자의 Microsoft Entra ID 토큰을 사용합니다. Azure Databricks 계정 관리자는 사용자 또는 서비스 주체일 수 있습니다. 자세한 내용은 다음을 참조하세요.

작업 영역 사용자를 위한 개인용 액세스 토큰 만들기

Azure Databricks 작업 영역 사용자에 대한 개인 액세스 토큰을 만들려면 다음을 수행합니다.

  1. Azure Databricks 작업 영역에서 위쪽 표시줄에서 사용자 이름을 클릭하고 설정을 선택합니다.

  2. 개발자를 클릭합니다.

  3. 액세스 토큰 옆에 있는 관리를 클릭합니다.

  4. 새 토큰생성을 클릭합니다.

  5. 나중에 이 토큰을 식별하는 데 도움이 되는 메모를 입력합니다.

  6. 토큰의 수명을 일 단위로 설정합니다. 새 개인 액세스 토큰의 최대 수명 설정을 참조하세요.

  7. 생성을 클릭합니다.

  8. 표시된 토큰을 안전한 위치에 복사한 다음 완료를 클릭합니다. 토큰을 안전하게 저장하고 공유하지 않습니다. 손실된 경우 새 토큰을 만들어야 합니다.

토큰을 만들거나 사용할 수 없는 경우 작업 영역 관리자가 토큰을 사용하지 않도록 설정했거나 사용 권한을 부여하지 않았을 수 있습니다. 작업 영역 관리자 또는 다음을 참조하세요:

서비스 주체에 대한 개인용 액세스 토큰 만들기

서비스 주체는 자체에 대한 개인 액세스 토큰을 만들 수 있습니다.

  1. 다음 명령을 실행하여 액세스 토큰을 생성합니다.

    databricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>
    

    다음 값을 바꿉니다.

    • <lifetime-seconds>: 토큰 수명(초)(예: 1일 86400) 기본값은 작업 영역 최대값(일반적으로 730일)입니다.
    • <profile-name>: 인증 정보가 있는 구성 프로필입니다. 기본값은 DEFAULT입니다.
  2. 응답에서 token_value 복사하여, 서비스 주체의 액세스 토큰을 확보합니다. 토큰을 안전하게 저장하고 공유하지 않습니다. 손실된 경우 새 토큰을 만들어야 합니다.

토큰을 만들거나 사용할 수 없는 경우 작업 영역 관리자가 토큰을 사용하지 않도록 설정했거나 사용 권한을 부여하지 않았을 수 있습니다. 작업 영역 관리자 또는 다음을 참조하세요:

개인 액세스 토큰 인증 수행

Azure Databricks 개인용 액세스 토큰 인증을 구성하려면 다음과 같은 연결된 환경 변수, 필드, .databrickscfg Terraform 필드 또는 Config 필드를 설정합니다.

  • 예를 들어, 대상 Azure Databricks 작업 영역별 URL로 지정된 Azure Databricks 호스트는 https://adb-1234567890123456.7.azuredatabricks.net입니다.
  • Azure Databricks 사용자 계정에 대한 Azure Databricks 개인용 액세스 토큰.

Azure Databricks 개인용 액세스 토큰 인증을 수행하려면 참여 도구 또는 SDK를 기반으로 코드 내에 다음을 통합합니다.

환경

도구 또는 SDK를 사용하여 특정 Azure Databricks 인증 유형에 환경 변수를 사용하려면 Azure Databricks 리소스 또는 도구 또는 SDK 설명서에 대한 액세스 권한 부여를 참조하세요. 또한 통합 인증 및 인증방법 우선 순위는 환경 변수 및 필드를 참조하세요.

다음 환경 변수를 설정합니다.

  • DATABRICKS_HOST를 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)로 설정합니다.
  • DATABRICKS_TOKEN을(를) 토큰 문자열로 설정합니다.

프로필

파일의 다음 필드를 포함하여 Azure Databricks 구성 프로필을 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉다. 도구 또는 SDK와 함께 프로필을 사용하려면 Azure Databricks 리소스 또는 도구 또는 SDK 설명서에 대한 액세스 권한 부여를 참조하세요. 또한 통합 인증 및 인증방법 우선 순위는 환경 변수 및 필드를 참조하세요.

.databrickscfg 파일에서 다음 값을 설정합니다. 이 경우 호스트는 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)입니다.

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

값을 수동으로 설정하는 대신 Databricks CLI를 사용하여 이러한 값을 대신 설정할 수 있습니다.

참고

다음 절차에서는 Databricks CLI를 사용하여 이름으로 Azure Databricks DEFAULT을 만듭니다. DEFAULT 구성 프로필이 이미 있는 경우 이 절차는 기존 DEFAULT 구성 프로필을 덮어씁니다.

구성 프로필이 DEFAULT 이미 있는지 확인하고 이 프로필의 설정이 있는지 확인하려면 Databricks CLI를 사용하여 명령을 databricks auth env --profile DEFAULT실행합니다.

DEFAULT가 아닌 이름으로 구성 프로필을 만들려면 다음 DEFAULT 명령에 있는 --profile DEFAULTdatabricks configure를 이 구성 프로필에 대해 다른 이름으로 바꿉니다.

  1. Databricks CLI를 사용하여 Azure Databricks 개인용 액세스 토큰 인증을 사용하는 구성 프로필DEFAULT로 만듭니다. 이렇게 하려면 다음 명령을 실행합니다.

    databricks configure --profile DEFAULT
    
  2. Databricks 호스트 프롬프트의 경우 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)을 입력합니다.

  3. 개인용 액세스 토큰 프롬프트에 대해, 귀하의 작업 공간에 대한 Azure Databricks 개인용 액세스 토큰을 입력하세요.

명령 줄 인터페이스 (CLI)

Databricks CLI의 경우 databricks configure 명령을 실행합니다. 프롬프트에서 다음 설정을 입력합니다.

  • 예를 들어, 대상 Azure Databricks 작업 영역별 URL로 지정된 Azure Databricks 호스트는 https://adb-1234567890123456.7.azuredatabricks.net입니다.
  • Azure Databricks 사용자 계정에 대한 Azure Databricks 개인용 액세스 토큰.

자세한 내용은 개인 액세스 토큰 인증(사용되지 않음)을 참조하세요.

연결

참고

Azure Databricks 개인용 액세스 토큰 인증은 다음 Databricks Connect 버전에서 지원됩니다.

  • Python의 경우 Databricks Connect는 Databricks Runtime 13.3 LTS 이상 버전용입니다.
  • Scala의 경우, Databricks Runtime 13.3 LTS 이상의 버전에서 사용할 수 있는 Databricks Connect.

Databricks Connect의 경우, .databrickscfg 파일에서 Databricks CLI를 사용하여 프로필 섹션에 지정된 대로 Azure Databricks 작업 영역 수준 작업에 대한 값을 설정합니다.

다음 절차에서는 기존의 DEFAULT 프로필을 덮어쓰는 DEFAULT Azure Databricks 구성 프로필을 만듭니다. DEFAULT 프로필이 존재하는지 확인하려면 databricks auth env --profile DEFAULT를 실행합니다. 있는 경우 다른 프로필 이름을 사용합니다.

  1. 다음 명령을 실행하여 개인 액세스 토큰 인증을 사용하는 Azure DEFAULT Databricks 구성 프로필을 만듭니다.

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Databricks 호스트 프롬프트의 경우 Azure Databricks 작업 영역별 URL(예: https://adb-1234567890123456.7.azuredatabricks.net)을 입력합니다.

  3. 프롬프트 개인 액세스 토큰의 경우 작업 영역에 대한 개인 액세스 토큰을 입력합니다.

  4. 사용 가능한 클러스터 목록에서 작업 영역에서 대상 Azure Databricks 클러스터를 선택합니다. 클러스터 표시 이름의 일부를 입력하여 사용 가능한 클러스터 목록을 필터링할 수 있습니다.

Azure Databricks REST API를 사용하여 개인 액세스 토큰 발급

Azure Databricks는 PAT를 발급하는 REST 엔드포인트 /api/2.0/token/create 를 제공합니다. API 세부 정보는 사용자 토큰 만들기를 참조하세요.

다음 예제에서는 다음 값을 설정합니다.

  • <databricks-instance>: Databricks 작업 영역 URL입니다. 예들 들어 dbc-abcd1234-5678.cloud.databricks.com입니다.
  • <your-existing-access-token>: 새 토큰을 만들 수 있는 권한이 있는 기존 유효한 PAT(문자열)입니다.
  • <lifetime-seconds>: 토큰의 수명(초)입니다.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>
}'

성공하면 다음과 유사한 응답 페이로드가 발생합니다.

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Databricks REST API에 대한 후속 호출의 권한 부여 헤더에 응답의 새 토큰을 제공합니다. 예시:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)