Azure CLI를 사용하여 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 토큰 가져오기
Important
이 문서에서는 Azure CLI를 사용하여 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 토큰을 수동으로 만드는 방법을 설명합니다.
Azure Databricks 관리 서비스 주체는 Azure Databricks 내에서 직접 관리됩니다. Microsoft Entra ID 관리 서비스 주체는 추가 권한이 필요한 Microsoft Entra ID에서 관리됩니다. Databricks는 대부분의 사용 사례에 Azure Databricks 관리 서비스 주체를 사용하는 것이 좋습니다. 그러나 Databricks는 Azure Databricks 및 기타 Azure 리소스를 동시에 인증해야 하는 경우 Microsoft Entra ID 관리 서비스 주체를 사용하는 것이 좋습니다.
Microsoft Entra ID 관리 서비스 주체 대신 Azure Databricks 관리 서비스 주체를 만들려면 서비스 주체 관리를 참조 하세요.
Databricks는 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 토큰을 수동으로 만드는 것을 권장하지 않습니다. 이는 각 Microsoft Entra ID 토큰이 수명이 짧고 일반적으로 1시간 이내에 만료하기 때문입니다. 이 시간 후에는 대체 Microsoft Entra ID 토큰을 수동으로 생성해야 합니다. 대신 Databricks 클라이언트 통합 인증 표준을 구현하는 참여 도구 또는 SDK 중 하나를 사용합니다. 이러한 도구 및 SDK는 다음 Databricks 인증 유형을 활용하여 만료된 Microsoft Entra ID 토큰을 자동으로 생성하고 대체합니다.
Azure CLI를 사용하여 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 액세스 토큰을 가져올 수 있습니다.
다음 정보를 수집합니다.
매개 변수 설명 Tenant ID
Directory (tenant) ID
Microsoft Entra ID에 등록된 관련 응용 프로그램의 경우입니다.Client ID
Application (client) ID
Microsoft Entra ID에 등록된 관련 응용 프로그램의 경우입니다.Client secret
Value
Microsoft Entra ID에 등록된 관련 애플리케이션에 대한 클라이언트 암호입니다.다음 중 하나를 수행하여 이 ID를 아직 모르는 경우 Microsoft Entra ID 서비스 주체에 대한 올바른 Azure 구독 ID를 가져옵니다.
Azure Databricks 작업 영역의 위쪽 탐색 모음에서 사용자 이름을 클릭한 다음 Azure Portal을 클릭합니다. 표시되는 Azure Databricks 작업 영역 리소스 페이지에서 사이드바에서 개요를 클릭합니다. 그런 다음 구독 ID가 포함된 구독 ID 필드를 찾습니다.
Azure CLI를 사용하여 결과 범위를 좁히는 옵션 및
-o
옵션을--output
사용하여--query
az databricks 작업 영역 목록 명령을 실행합니다. 를 포함하지https://
않고 작업 영역 인스턴스의 이름으로 바꿉adb-0000000000000000.0.azuredatabricks.net
다. 이 예제에서는 출력의00000000-0000-0000-0000-000000000000
다음/subscriptions/
이 구독 ID입니다.az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
다음 메시지가 나타나면 잘못된 테넌트에 로그인합니다. 올바른 테
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
넌트에 로그인하려면 올바른 테넌트 ID를 지정하는 옵션을--tenant
사용하여-t
명령을 다시 실행az login
해야 합니다.명령을
curl -v <per-workspace-URL>/aad/auth
실행하고 출력< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
(여기서00000000-0000-0000-0000-000000000000
테넌트 ID)을 확인하여 Azure Databricks 작업 영역에 대한 테넌트 ID를 가져올 수 있습니다. Azure Portal에서 구독 및 테넌트 ID 가져오기도 참조하세요.az login -t <tenant-id>
Microsoft Entra ID 서비스 주체에 대한 올바른 Azure 테넌트 ID, 클라이언트 ID, 클라이언트 암호 및 구독 ID가 있으면 Azure CLI를 사용하여 Azure에 로그인하여 az login 명령을 실행합니다. Microsoft Entra ID에
--service-principal
등록된 관련 애플리케이션에 대한 (Directory (tenant) ID
),Client ID
(Application (client) ID
) 및 (Value
)의Tenant ID
매개 변수 값을 지정하는 옵션과Client secret
함께 사용합니다.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
로그인한 Microsoft Entra ID 서비스 주체에 대한 올바른 구독에 로그인했는지 확인합니다. 이렇게 하려면 올바른 구독 ID를 지정하는 옵션 또는
--subscription
옵션을 사용하여-s
az account set 명령을 실행합니다.az account set -s <subscription-id>
az account get-access-token 명령을 실행 하여 로그인한 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 액세스 토큰 을 생성합니다.
--resource
옵션을 사용하여 Azure Databricks 서비스에 대한 고유한 리소스 ID를 지정합니다. 이는2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
입니다. 및-o
또는--output
옵션을 사용하여--query
명령 출력에 Microsoft Entra ID 토큰 값만 표시할 수 있습니다.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
참고 항목
MSAL 기반 Azure CLI는 MSAL(Microsoft 인증 라이브러리)을 기본 인증 라이브러리로 사용합니다. Azure CLI에서 생성하는 Microsoft Entra ID 액세스 토큰을 성공적으로 사용할 수 없는 경우 대신 MSAL을 직접 사용하여 Microsoft Entra ID 서비스 주체에 대한 Microsoft Entra ID 액세스 토큰을 가져올 수 있습니다. 서비스 주체에 대한 Microsoft Entra ID 토큰 가져오기를 참조 하세요.