MSAL 기반 Azure CLI

버전 2.30.0부터 Azure CLI는 MSAL을 기본 인증 라이브러리로 사용합니다. MSAL은 AAD v2.0 인증 흐름을 사용하여 더 많은 기능을 제공하고 토큰 캐시에 대한 보안을 강화합니다.

경고

Azure CLI 2.30.0에는 호환성이 손상되는 변경이 있습니다. 설치하기 전에 문서를 주의 깊게 읽으세요.

accessTokens.json 사용 중단

이전 버전의 Azure CLI는 ADAL 토큰 및 서비스 주체 항목을 ~/.azure/accessToken.json에 저장합니다. 최신 버전의 Azure CLI는 MSAL을 사용하며 더 이상 accessTokens.json을 생성하지 않습니다. accessTokens.json에 따르는 기존 워크플로는 더 이상 작동하지 않습니다.

MSAL 토큰 캐시 및 서비스 주체 항목은 Windows에서는 암호화된 파일로, Linux 및 MacOS에서는 일반 텍스트 파일로 저장됩니다.

중요

Azure DevOps와 같이 파이프라인에서 Azure CLI를 사용하는 경우 모든 작업 및 단계에서 MSAL 기반 Azure CLI용 v2.30.0 이상의 Azure CLI 버전을 사용하고 있는지 확인합니다. Azure CLI 2.30.0은 이전 버전과 호환되지 않으며 2.30.0 미만의 버전으로 작업할 때 오류가 발생합니다.

고려할 대안

다음은 안정성을 위해 고려할 수 있는 몇 가지 대안입니다.

호출 az account get-access-token

터미널에서 수동으로 az account get-access-token을 호출하거나 하위 프로세스를 사용하여 다른 프로그래밍 언어에서 호출할 수 있습니다. 기본적으로 반환된 액세스 토큰은 ARM(Azure Resource Manager) 및 az account show에 표시된 기본 구독/테넌트용입니다.

# get the active subscription
az account show --output table

# get access token for the active subscription
az account get-access-token

# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"

AzureCliCredential 사용

AzureCliCredential은 모든 기존 언어 SDK의 자격 증명 유형입니다. 하위 프로세스를 사용하여 az account get-access-token을 호출하여 현재 로그인된 계정에 대한 액세스 토큰을 가져옵니다.

참고 항목