Databricks CLI에 대한 인증

참고 항목

이 정보는 공개 미리 보기에 있는 Databricks CLI 버전 0.205 이상에 적용됩니다. Databricks CLI 버전을 찾으려면 databricks -v를 실행합니다.

이 문서에서는 Databricks CLI와 Azure Databricks 계정 및 작업 영역 간에 인증을 설정하는 방법을 설명합니다. Databricks CLI란?을 참조하세요.

이 문서에서는Databricks CLI가 이미 설치되어 있다고 가정합니다. Databricks CLI 설치 또는 업데이트를 참조하세요.

Databricks CLI 명령을 실행하려면 먼저 실행하려는 CLI 명령 유형에 따라 Databricks CLI와 Azure Databricks 계정, 작업 영역 또는 이들 조합 간에 인증을 설정해야 합니다.

Azure Databricks 계정 또는 작업 영역 내에서 Azure Databricks 자동화 명령을 실행하려면 런타임에 관련 리소스에 Databricks CLI를 인증해야 합니다. Azure Databricks 작업 영역 수준 명령, Azure Databricks 계정 수준 명령 또는 둘 다를 호출할지에 따라 Azure Databricks 작업 영역, 계정 또는 둘 다에 인증해야 합니다. Azure Databricks 작업 영역 수준 및 계정 수준 CLI 명령 그룹 목록을 보려면 databricks -h 명령을 실행합니다. Databricks CLI 명령에서 다루는 Azure Databricks 작업 영역 수준 및 계정 수준 REST API 작업의 목록은 Databricks REST API를 참조하세요.

특히 Azure DevOps를 사용하여 Databricks에 대한 Microsoft Entra 인증에 대한 자세한 내용은 Databricks에서 Azure DevOps로 인증을 참조하세요.

다음 섹션에서는 Databricks CLI와 Azure Databricks 간에 인증을 설정하는 방법에 대한 정보를 제공합니다.

Azure Databricks 개인용 액세스 토큰 인증

Azure Databricks 개인용 액세스 토큰 인증은 Azure Databricks 개인용 액세스 토큰을 사용하여 Azure Databricks 사용자 계정과 같은 대상 Azure Databricks 엔터티를 인증합니다. Azure Databricks 개인용 액세스 토큰 인증을 참조하세요.

참고 항목

Azure Databricks 계정 수준 명령은 인증에 Azure Databricks 개인 액세스 토큰을 사용하지 않으므로 Azure Databricks 계정으로 인증하기 위해 Azure Databricks 개인용 액세스 토큰 인증을 사용할 수 없습니다. Azure Databricks 계정으로 인증하려면 다음 인증 유형 중 하나를 대신 사용하는 것을 고려해 보세요.

개인용 액세스 토큰을 만들려면 다음을 수행합니다.

  1. Azure Databricks 작업 영역의 위쪽 표시줄에서 Azure Databricks 사용자 이름을 클릭한 다음 드롭다운에서 설정을 선택합니다.
  2. 개발자를 클릭합니다.
  3. 액세스 토큰 옆에 있는 관리를 클릭합니다.
  4. 새 토큰 생성을 클릭합니다.
  5. (선택 사항) 나중에 이 토큰을 식별할 수 있도록 하는 설명을 입력하고 토큰의 기본 수명을 90일로 변경합니다. 수명이 없는 토큰을 만들려면(권장하지 않음) 수명(일) 상자를 비워 둡니다(공백).
  6. 생성을 클릭합니다.
  7. 표시된 토큰을 안전한 장소로 복사한 다음, 완료를 클릭합니다.

참고 항목

복사한 토큰을 안전한 위치에 저장합니다. 복사한 토큰을 다른 사용자와 공유하지 마세요. 복사한 토큰을 분실하면 정확히 동일한 토큰을 다시 생성할 수 없습니다. 대신 이 프로시저를 반복하여 새 토큰을 만들어야 합니다. 복사한 토큰을 분실한 경우, 또는 토큰이 손상되었다고 생각되면, Databricks의 권장 사항에 따라 액세스 토큰 페이지에서 토큰 옆에 있는 휴지통(취소)아이콘을 클릭하여 작업 영역에서 해당 토큰을 즉시 삭제할 것을 강력하게 권장합니다.

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

Azure Databricks 개인용 액세스 토큰 인증을 구성하고 사용하려면 다음을 수행합니다.

참고 항목

다음 절차에서는 DEFAULT 이름으로 Azure Databricks 구성 프로필을 만듭니다. 사용하려는 DEFAULT 구성 프로필이 이미 있는 경우 이 절차를 건너뜁니다. 그렇지 않으면 이 절차는 기존 DEFAULT 구성 프로필을 덮어씁니다. 기존 구성 프로필의 이름과 호스트를 보려면 databricks auth profiles 명령을 실행합니다.

DEFAULT가 아닌 이름으로 구성 프로필을 만들려면 --profile <configuration-profile-name> 또는 -p <configuration-profile-name>을 다음의 databricks configure 명령의 끝에 추가하여 <configuration-profile-name>를 새 구성 프로필의 이름으로 바꿉니다.

  1. Databricks CLI를 사용하여 다음 명령을 실행합니다.

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

  3. 개인용 액세스 토큰의 경우 작업 영역 사용자에 대한 Azure Databricks 개인용 액세스 토큰을 입력합니다.

    Azure Databricks 개인용 액세스 토큰을 입력하면 해당 구성 프로필이 .databrickscfg 파일에 추가됩니다. Databricks CLI가 기본 위치에서 이 파일을 찾을 수 없는 경우 먼저 이 파일을 만든 다음 이 구성 프로필을 새 파일에 추가합니다. 이 파일의 기본 위치는 Unix, Linux 또는 macOS의 ~(사용자 홈) 폴더 또는 Windows의 %USERPROFILE%(사용자 홈) 폴더에 있습니다.

  4. 이제 Databricks CLI 명령 호출의 일부로 Databricks CLI의 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용할 수 있습니다(예: databricks clusters list -p <configuration-profile-name>).

OAuth M2M(machine-to-machine) 인증

Azure Databricks 개인용 액세스 토큰 인증을 사용하여 Azure Databricks로 인증하는 대신 OAuth 인증을 사용할 수 있습니다. OAuth는 Azure Databricks 개인용 액세스 토큰보다 더 빠른 만료 시간을 가진 토큰을 제공하며 서버 쪽 세션 무효 및 범위 지정을 향상합니다. OAuth 액세스 토큰은 한 시간 이내에 만료되므로 실수로 토큰을 소스 제어에 검사하는 것과 관련된 위험이 줄어듭니다. OAuth(OAuth M2M)를 사용하여 서비스 주체로 Azure Databricks에 액세스 인증도 참조하세요.

OAuth M2M 인증을 구성하고 사용하려면 다음을 수행합니다.

  1. OAuth M2M 인증 설정 지침을 완료합니다. OAuth(OAuth M2M)를 사용하여 서비스 주체로 Azure Databricks에 액세스 인증 참조

  2. .databrickscfg 파일의 다음 필드를 사용하여 Azure Databricks 구성 프로필을 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉니다.

    계정 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    작업 영역 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    참고 항목

    .databrickscfg 파일의 기본 위치는 사용자의 홈 디렉터리에 있습니다. Linux 및 macOS용 ~ 및 Windows용 %USERPROFILE%입니다.

  3. Databricks CLI 명령 호출의 일부로 Databricks CLI의 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다(예: databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>).

    구성 프로필 이름을 수동으로 입력하는 대신 --profile 또는 -p 이후에 Tab을 눌러서 선택하려는 기존 사용 가능한 구성 프로필 목록을 표시합니다.

OAuth 사용자 대 컴퓨터(U2M) 인증

토큰 인증을 사용하여 Azure Databricks로 인증하는 대신 OAuth 인증을 사용할 수 있습니다. OAuth는 Azure Databricks 개인용 액세스 토큰보다 더 빠른 만료 시간을 가진 토큰을 제공하며 서버 쪽 세션 무효 및 범위 지정을 향상합니다. OAuth 액세스 토큰은 한 시간 이내에 만료되므로 실수로 토큰을 소스 제어에 검사하는 것과 관련된 위험이 줄어듭니다. OAuth(OAuth M2M)를 사용하여 사용자 계정으로 Azure Databricks에 액세스 인증을 참조하세요.

OAuth U2M 인증을 구성하고 사용하려면 다음을 수행합니다.

  1. Azure Databricks 계정 수준 명령을 호출하기 전에 다음 명령을 실행하여 로컬에서 OAuth 토큰 관리를 시작해야 합니다. 이 명령은 명령을 실행하려는 각 계정에 대해 별도로 실행해야 합니다. 계정 수준 작업을 호출하지 않으려면 5단계로 건너뜁니다.

    다음 명령에서 다음 자리 표시자를 바꿉니다.

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. Databricks CLI는 계정 콘솔 URL 및 계정 ID를 로컬에서 Azure Databricks 구성 프로필로 저장하라는 메시지를 표시합니다. Enter를 눌러 제안된 프로필 이름을 수락하거나 새 프로필 또는 기존 프로필의 이름을 입력합니다. 이름이 같은 기존 프로필은 이 계정 콘솔 URL 및 계정 ID로 덮어 쓰입니다.

    기존 프로필 목록을 얻으려면 별도의 터미널 또는 명령 프롬프트에서 databricks auth profiles 명령을 실행합니다. 특정 프로필의 기존 설정을 보려면 databricks auth env --profile <profile-name> 명령을 실행합니다.

  3. 웹 브라우저에서 화면상의 지침을 완료하여 Azure Databricks 계정에 로그인합니다.

  4. 현재 OAuth 토큰 값과 예정된 만료 타임스탬프를 보려면 databricks auth token --host <account-console-url> --account-id <account-id> 명령을 실행합니다.

  5. Azure Databricks 작업 영역 수준 명령을 호출하기 전에 다음 명령을 실행하여 로컬에서 OAuth 토큰 관리를 시작해야 합니다. 이 명령은 명령을 실행하려는 각 작업 영역에 대해 별도로 실행해야 합니다.

    다음 명령에서 <workspace-url>를 Azure Databricks 작업 영역 URL로 바꿉니다(예: https://adb-1234567890123456.7.azuredatabricks.net).

    databricks auth login --host <workspace-url>
    
  6. Databricks CLI는 이 작업 영역 URL을 로컬에서 Azure Databricks 구성 프로필로 저장하라는 메시지를 표시합니다. Enter를 눌러 제안된 프로필 이름을 수락하거나 새 프로필 또는 기존 프로필의 이름을 입력합니다. 이름이 같은 기존 프로필은 이 작업 영역 URL로 덮어 쓰입니다.

    기존 프로필 목록을 얻으려면 별도의 터미널 또는 명령 프롬프트에서 databricks auth profiles 명령을 실행합니다. 특정 프로필의 기존 설정을 보려면 databricks auth env --profile <profile-name> 명령을 실행합니다.

  7. 웹 브라우저에서 화면상의 지침을 완료하여 Azure Databricks 작업 영역에 로그인합니다.

  8. 현재 OAuth 토큰 값과 예정된 만료 타임스탬프를 보려면 databricks auth token --host <workspace-url> 명령을 실행합니다.

  9. Databricks CLI 명령 호출의 일부로 Databricks CLI의 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다(예: databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>).

    구성 프로필 이름을 수동으로 입력하는 대신 --profile 또는 -p 이후에 Tab을 눌러서 선택하려는 기존 사용 가능한 구성 프로필 목록을 표시할 수 있습니다.

Azure 관리 ID 인증

Azure 관리 ID 인증은 인증에 Azure 리소스(이전의 MSI(관리 서비스 ID))에 대한 관리 ID를 사용합니다. Azure 리소스에 대한 관리 ID란?을 참조하세요. Azure 관리 ID 인증도 참조하세요.

Azure 사용자가 할당한 관리 ID를 만들려면 다음을 따르세요.

  1. Azure VM을 만들거나 식별하고 거기에 Databricks CLI를 설치한 다음, 관리 ID를 Azure VM 및 대상 Azure Databricks 계정, 작업 영역 또는 둘 다에 할당합니다. Azure Databricks 자동화에 대한 Azure 관리 ID 인증 설정 및 사용을 참조하세요.

  2. Azure VM에서 .databrickscfg 파일의 다음 필드를 사용하여 Azure Databricks 구성 프로필 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉니다.

    계정 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    작업 영역 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    작업 영역 수준 명령의 경우 대상 ID가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 host 대신 Azure 리소스 ID와 함께 azure_workspace_resource_id를 지정합니다. 이 경우 대상 ID에는 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

    참고 항목

    .databrickscfg 파일의 기본 위치는 사용자의 홈 디렉터리에 있습니다. Linux 및 macOS용 ~ 및 Windows용 %USERPROFILE%입니다.

  3. Azure VM에서 Databricks CLI --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용하여Databricks에서 사용할 프로필을 설정합니다(예: databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>).

    구성 프로필 이름을 수동으로 입력하는 대신 --profile 또는 -p 이후에 Tab을 눌러서 선택하려는 기존 사용 가능한 구성 프로필 목록을 표시할 수 있습니다.

Microsoft Entra ID 서비스 주체 인증

Microsoft Entra ID 서비스 주체 인증은 Microsoft Entra ID 서비스 주체의 자격 증명을 사용하여 인증합니다. Azure Databricks용 서비스 주체를 만들거나 관리하려면 서비스 주체 관리를 참조하세요. MS Entra 서비스 주체 인증도 참조하세요.

Microsoft Entra ID 서비스 주체 인증을 구성하고 사용하려면 Azure CLI 인증을 로컬로 설치해야 합니다. 다음도 설정해야 합니다.

  1. .databrickscfg 파일의 다음 필드를 사용하여 Azure Databricks 구성 프로필을 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉니다.

    계정 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    작업 영역 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    작업 영역 수준 명령의 경우 대상 Microsoft Entra ID 서비스 주체가 작업 영역에 아직 추가되지 않은 경우 작업 영역 URL과 함께 host 대신 Azure 리소스 ID와 함께 azure_workspace_resource_id를 지정합니다. 이 경우 대상 Microsoft Entra ID 서비스 주체는 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

    참고 항목

    .databrickscfg 파일의 기본 위치는 사용자의 홈 디렉터리에 있습니다. Linux 및 macOS용 ~ 및 Windows용 %USERPROFILE%입니다.

  2. Databricks CLI 명령 호출의 일부로 Databricks CLI의 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다(예: databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>).

    구성 프로필 이름을 수동으로 입력하는 대신 --profile 또는 -p 이후에 Tab을 눌러서 선택하려는 기존 사용 가능한 구성 프로필 목록을 표시할 수 있습니다.

Azure CLI 인증

Azure CLI 인증은 Azure CLI를 사용하여 로그인한 엔터티를 인증합니다. Azure CLI 인증도 참조하세요.

Azure CLI 인증을 구성하려면 다음을 수행해야 합니다.

  1. 로컬에 설치된 Azure CLI가 있어야 합니다.

  2. Azure CLI를 사용하여 az login 명령을 실행하고 Azure Databricks에 로그인합니다. Azure Databricks 사용자 계정으로 Azure CLI 로그인을 참조하세요.

  3. .databrickscfg 파일의 다음 필드를 사용하여 Azure Databricks 구성 프로필을 만들거나 식별합니다. 프로필을 만드는 경우 자리 표시자를 적절한 값으로 바꿉니다.

    계정 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    작업 영역 수준 명령의 경우 .databrickscfg 파일에서 다음 값을 설정합니다.

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

    참고 항목

    .databrickscfg 파일의 기본 위치는 사용자의 홈 디렉터리에 있습니다. Linux 및 macOS용 ~ 및 Windows용 %USERPROFILE%입니다.

  4. Databricks CLI 명령 호출의 일부로 Databricks CLI의 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다(예: databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>).

    구성 프로필 이름을 수동으로 입력하는 대신 --profile 또는 -p 이후에 Tab을 눌러서 선택하려는 기존 사용 가능한 구성 프로필 목록을 표시할 수 있습니다.

평가의 인증 순서

Databricks CLI는 Azure Databricks 작업 영역 또는 계정으로 인증을 시도하는 데 필요한 설정을 수집해야 할 때마다 다음 순서대로 다음 위치에서 이러한 설정을 검색합니다.

  1. 번들 작업 디렉터리(번들 루트 및 모든 중첩된 경로)에서 실행되는 명령의 경우 프로젝트의 번들 설정 파일 내 필드 값. (번들 설정 파일은 액세스 자격 증명 값의 직접 포함을 지원하지 않습니다.)
  2. 이 문서 및 클라이언트 통합 인증을 위한 환경 변수 및 필드에 나열된 환경 변수의 값.
  3. 이 문서 내에서 이전에 나열된 대로 .databrickscfg 파일 내의 구성 프로필 필드 값.

Databricks CLI는 필요한 설정을 찾을 때마다 다른 위치에서 검색을 중지합니다. 예시:

  • Databricks CLI에서는 Azure Databricks 개인용 액세스 토큰의 값이 필요합니다. DATABRICKS_TOKEN 환경 변수가 설정되고 .databrickscfg 파일에는 여러 개인용 액세스 토큰도 포함됩니다. 이 예제에서 Databricks CLI는 환경 변수의 DATABRICKS_TOKEN 값을 사용하며 .databrickscfg 파일을 검색하지 않습니다.
  • databricks bundle deploy -t dev 명령에서는 Azure Databricks 개인용 액세스 토큰의 값이 필요합니다. DATABRICKS_TOKEN 환경 변수는 설정되지 않고 .databrickscfg 파일에 여러 개인용 액세스 토큰이 포함됩니다. 프로젝트의 번들 설정 파일에는 해당 profile 필드를 통해 DEV라는 구성 프로필을 참조하는 dev 환경 선언이 포함되어 있습니다. 이 예제에서 Databricks CLI는 .databrickscfg 파일에서 DEV라는 프로필을 검색하여 해당 프로필의 token 필드 값을 사용합니다.
  • databricks bundle run -t dev hello-job 명령에서는 Azure Databricks 개인용 액세스 토큰의 값이 필요합니다. DATABRICKS_TOKEN 환경 변수는 설정되지 않고 .databrickscfg 파일에 여러 개인용 액세스 토큰이 포함됩니다. 프로젝트의 번들 설정 파일에는 해당 host 필드를 통해 특정 Azure Databricks 작업 영역 URL을 참조하는 dev 환경 선언이 포함되어 있습니다. 이 예제에서 Databricks CLI는 .databrickscfg 파일 내의 구성 프로필을 통해 일치하는 작업 영역 URL이 있는 host 필드가 포함된 프로필을 검색합니다. Databricks CLI는 일치하는 host 필드를 찾은 다음 해당 프로필의 token 필드 값을 사용합니다.