다음을 통해 공유


Azure CLI를 사용하여 Azure에 인증

Azure CLI는 여러 인증 방법을 지원합니다. Azure 리소스를 안전하게 유지하기 위해 사용 사례에 대한 로그인 권한을 제한합니다.

Azure CLI를 사용하여 Azure에 로그인

Azure CLI를 사용하는 경우 다음 네 가지 인증 옵션이 있습니다.

인증 방법 장점
Azure Cloud Shell Azure Cloud Shell은 자동으로 로그인하고 시작하는 가장 쉬운 방법입니다.
대화형으로 로그인 이는 Azure CLI 명령을 학습하고 Azure CLI를 로컬로 실행할 때 좋은 옵션입니다. az login 명령을 사용하여 브라우저를 통해 로그인 합니다. 또한 대화형 로그인은 기본 구독을 자동으로 설정하는 구독 선택기를 제공합니다.
관리 ID로 로그인 관리 ID는 Microsoft Entra 인증을 지원하는 리소스에 연결할 때 사용할 애플리케이션에 대한 Azure 관리 ID를 제공합니다. 관리 ID를 사용하면 비밀, 자격 증명, 인증서 및 키를 관리할 필요가 없습니다.
서비스 주체를 사용하여 로그인 스크립트를 작성할 때 서비스 주체사용하는 것이 권장되는 인증 방법입니다. 자동화를 안전하게 유지하는 서비스 주체에 필요한 적절한 권한만 부여합니다.

다중 요소 인증(MFA)

Microsoft는 2024년 5월에 모든 Azure 사용자에게 MFA가 필요하다고 발표했습니다. 이 변경을 계획하는 방법에 대한 자세한 내용은 Azure 및 기타 관리 포털에 대한 필수 다단계 인증 계획을 참조 하세요.

MFA는 Microsoft Entra ID 사용자에게만 영향을 미칩니다. 서비스 주체 또는 관리 ID에는 영향을 주지 않습니다.

현재 구독 찾기 또는 변경

로그인하면 CLI 명령이 기본 구독에 대해 실행됩니다. 구독이 여러 개 az account set --subscription있는 경우 .

az account set --subscription "<subscription ID or name>"

Azure 구독 관리에 대한 자세한 내용은 Azure CLI를 사용하여 Azure 구독을 관리하는 방법을 참조하세요.

새로 고침 토큰

사용자 계정으로 로그인하면 Azure CLI에서 인증 새로 고침 토큰을 생성하고 저장합니다. 액세스 토큰은 짧은 기간 동안만 유효하므로 액세스 토큰이 발급될 때 동시에 새로 고침 토큰이 발급됩니다. 클라이언트 애플리케이션은 필요한 경우 새 액세스 토큰을 이 새로 고침 토큰으로 교환할 수 있습니다. 토큰 수명 및 만료에 대한 자세한 내용은 Microsoft ID 플랫폼 새로 고침 토큰을 참조하세요.

az account get-access-token 명령을 사용하여 액세스 토큰을 검색합니다.

# 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>"

다음은 액세스 토큰 만료 날짜에 대한 몇 가지 추가 정보입니다.

  • 만료 날짜는 MSAL 기반 Azure CLI에서 지원하는 형식으로 업데이트됩니다.
  • Azure CLI 2.54.0 az account get-access-token 부터 토큰 만료 시간에 대한 속성과 expires_on 함께 속성을 반환 expiresOn 합니다.
  • 이 속성은 expires_on POSIX(이식 가능한 운영 체제 인터페이스) 타임스탬프를 나타내고 expiresOn 속성은 로컬 날짜/시간을 나타냅니다.
  • 일광 절약 시간이 끝날 때 속성은 expiresOn "접기"를 표시하지 않습니다. 이로 인해 일광 절약 시간이 채택된 국가 또는 지역에서 문제가 발생할 수 있습니다. "fold"에 대한 자세한 내용은 PEP 495 – 현지 시간 명확성을 참조 하세요.
  • UTC(유니버설 타임 코드)를 사용하므로 다운스트림 애플리케이션에서 이 속성을 사용하는 expires_on 것이 좋습니다.

예제 출력:

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

참고 항목

로그인 방법에 따라 테넌트에는 특정 리소스에 대한 액세스를 제한하는 조건부 액세스 정책이 있을 수 있습니다.

참고 항목