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를 참조하세요.

참고 항목

Databricks CLI는 인증에 대한 통합되고 일관된 보관 및 프로그래밍 방식인 Databricks 클라이언트 통합 인증 표준을 구현합니다. 이 방법을 사용하면 Azure Databricks를 사용하여 인증을 보다 중앙 집중화하고 예측 가능하게 설정하고 자동화할 수 있습니다. 이를 통해 Azure Databricks 인증을 한 번 구성한 다음, 추가 인증 구성 변경 없이 여러 Azure Databricks 도구 및 SDK에서 해당 구성을 사용할 수 있습니다. 이 표준에 대한 자세한 내용은 Databricks 클라이언트 통합 인증을 참조하세요.

다음 섹션에서는 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 개인용 액세스 토큰 인증을 구성하고 사용하려면 다음을 수행합니다.

참고 항목

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

다음 databricks configure 명령의 끝부분에 이름이 아닌 -p <configuration-profile-name>--profile <configuration-profile-name>DEFAULT이름을 사용하여 구성 프로필을 만들려면 새 구성 프로필의 이름으로 바꿉 <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의 (사용자 홈) 폴더 또는 %USERPROFILE% Windows의 사용자 홈 폴더에 있습니다.

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

OAuth M2M(컴퓨터 대 컴퓨터) 인증

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

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

  1. OAuth M2M 인증 설정 지침을 완료합니다. OAuth M2M(컴퓨터 대 컴퓨터) 인증 참조

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

    계정 수준 명령의 경우 파일에서 .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 및 %USERPROFILE% Windows용입니다.

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

    구성 프로필 이름을 수동으로 입력하는 대신 선택할 수 있는 기존 구성 프로필 목록을 표시 Tab 하거나 -p 누르 --profile 세요.

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

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

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 토큰 관리를 시작해야 합니다. 이 명령은 명령을 실행하려는 각 작업 영역에 대해 별도로 실행해야 합니다.

    다음 명령에서 작업 영역별 Azure Databricks URL로 바꿉 <workspace-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 명령 호출의 --profile 일부로 Databricks CLI 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다. 예를 들면 databricks account groups list -p <configuration-profile-name>databricks clusters list -p <configuration-profile-name>다음과 같습니다.

    구성 프로필 이름을 수동으로 입력하는 대신 선택할 기존 사용 가능한 구성 프로필 목록을 표시하거나 -p--profileTab 수 있습니다.

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

    계정 수준 명령의 경우 파일에서 .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 대신 Azure 리소스 ID host 와 함께 지정 azure_workspace_resource_id 합니다. 이 경우 대상 ID에는 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

    참고 항목

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

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

    구성 프로필 이름을 수동으로 입력하는 대신 선택할 기존 사용 가능한 구성 프로필 목록을 표시하거나 -p--profileTab 수 있습니다.

Microsoft Entra ID 서비스 주체 인증

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

Microsoft Entra ID 서비스 주체 인증을 구성하고 사용하려면 Azure CLI로컬로 설치되어 있어야 합니다. 또한 다음을 수행해야 합니다.

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

    계정 수준 명령의 경우 파일에서 .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 대신 Azure 리소스 ID host 와 함께 지정 azure_workspace_resource_id 합니다. 이 경우 대상 Microsoft Entra ID 서비스 주체는 Azure 리소스에 대한 기여자 또는 소유자 권한 이상이 있어야 합니다.

    참고 항목

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

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

    구성 프로필 이름을 수동으로 입력하는 대신 선택할 기존 사용 가능한 구성 프로필 목록을 표시하거나 -p--profileTab 수 있습니다.

Azure CLI 인증

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

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

  1. Azure CLI로컬로 설치합니다.

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

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

    계정 수준 명령의 경우 파일에서 .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 및 %USERPROFILE% Windows용입니다.

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

    구성 프로필 이름을 수동으로 입력하는 대신 선택할 기존 사용 가능한 구성 프로필 목록을 표시하거나 -p--profileTab 수 있습니다.

평가의 인증 순서

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