다음을 통해 공유


Databricks CLI에 대한 인증

비고

이 정보는 Databricks CLI 버전 0.205 이상에 적용됩니다. Databricks CLI는 공개 미리 보기로 제공됩니다.

Databricks CLI 사용은 Databricks 라이선스Databricks 개인 정보 보호 고지, 그리고 모든 사용 데이터 관련 조항의 적용을 받습니다.

이 문서에서는 Databricks CLI와 Azure Databricks 계정 및 작업 영역 간에 인증을 설정하는 데 사용할 수 있는 옵션을 설명합니다. 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 인증에 대한 자세한 내용은 Azure 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 계정으로 인증하려면 다음 인증 유형 중 하나를 대신 사용하는 것을 고려해 보세요.

개인 액세스 토큰을 만들려면 작업 영역 사용자를 위한 Azure Databricks 개인용 액세스 토큰의 단계를 따릅니다.

비고

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

새로운 구성 프로필의 이름으로 DEFAULT를 바꾼 후, 다음 --profile <configuration-profile-name> 명령의 끝에 -p <configuration-profile-name> 또는 databricks configure를 추가하여 구성 프로필 이름을 <configuration-profile-name>이외의 다른 것으로 설정하십시오.

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

  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 명령 호출의 일부로 --profile 또는 -p 옵션 뒤에 구성 프로필 이름을 사용하여 명령을 실행할 수 있습니다 databricks clusters list -p <configuration-profile-name>.

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

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

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

  1. OAuth M2M 인증 설정 지침을 완료합니다. OAuth를 사용하여 서비스 주체를 사용하여 Azure Databricks 리소스에 대한 무인 액세스 권한 부여 참조

  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용 ~ 및 Windows용 %USERPROFILE%입니다.

  3. Databricks CLI의 --profile 옵션 또는 -p 옵션 뒤에 구성 프로필의 이름을 Databricks CLI 명령 호출의 일부로 사용하십시오. 예를 들어, databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>.

    구성 프로필 이름을 수동으로 입력하는 대신 Tab 또는 --profile-p 눌러 선택할 수 있는 기존 구성 프로필 목록을 표시합니다.

OAuth 사용자와 기계 간(U2M) 인증

토큰 인증을 사용하여 Azure Databricks로 인증하는 대신 OAuth 인증을 사용할 수 있습니다. OAuth는 Azure Databricks 개인용 액세스 토큰보다 더 빠른 만료 시간을 가진 토큰을 제공하며 서버 쪽 세션 무효 및 범위 지정을 향상합니다. OAuth 액세스 토큰은 한 시간 이내에 만료되므로 실수로 토큰을 소스 제어에 검사하는 것과 관련된 위험이 줄어듭니다. OAuth를 사용하여 사용자 계정으로 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 명령 호출의 일환으로 --profile 또는 -p 옵션 뒤에 구성 프로필의 이름을 사용합니다. 예를 들어 databricks account groups list -p <configuration-profile-name> 또는 databricks clusters list -p <configuration-profile-name>입니다.

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

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 azure_workspace_resource_id 와 함께 지정 host 합니다. 이 경우 대상 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>)을 설정합니다.

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

Microsoft Entra ID 서비스 주체 인증

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

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

    비고

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

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

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

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. 파일에 있는 다음 필드를 사용하여 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용 ~ 및 Windows용 %USERPROFILE%입니다.

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

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

평가의 인증 순서

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