Azure CLI로 로그인Sign in with Azure CLI

Azure CLI에 대한 인증 유형은 여러 가지가 있습니다.There are several authentication types for the Azure CLI. 시작하는 가장 쉬운 방법은 Azure Cloud Shell을 사용하는 것으로서, 자동으로 로그인합니다.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. 로컬에서는, az 로그인 명령을 사용하여 브라우저를 통해 대화형으로 로그인할 수 있습니다.Locally, you can sign in interactively through your browser with the az login command. 스크립트를 작성할 때 서비스 주체를 사용하는 것이 좋습니다.When writing scripts, the recommended approach is to use service principals. 서비스 주체에게 필요한 접근 권한만 부여하여 자동화를 안전하게 보호할 수 있습니다.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

CLI에 의해 저장된 로그인 정보가 없습니다.None of your sign-in information is stored by the CLI. 대신 인증 새로 고침 토큰이 Azure에서 생성되고 저장됩니다.Instead, an authentication refresh token is generated by Azure and stored. 2018년 8월부터 비활성 기간이 90일 지나면 이 토큰이 철회되지만, Microsoft 또는 테넌트 관리자가 이 값을 변경할 수 있습니다.As of August 2018 this token is revoked after 90 days of inactivity, but this value can be changed by Microsoft or your tenant administrator. 토큰이 철회되면 CLI에서 다시 로그인하라는 메시지가 표시됩니다.Once the token is revoked you get a message from the CLI saying you need to sign in again.

로그인한 후 CLI 명령은 기본 구독에 대해 실행됩니다.After signing in, CLI commands are run against your default subscription. 구독이 두 개 이상인 경우 기본 구독 변경을 수행할 수 있습니다.If you have multiple subscriptions, you can change your default subscription.

대화형으로 로그인Sign in interactively

Azure CLI의 기본 인증 방법은 웹 브라우저와 액세스 토큰으로 로그인하는 것입니다.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. login 명령을 실행합니다.Run the login command.

    az login
    

    CLI가 기본 브라우저를 열 수 있는 경우, 그렇게 하고 로그인 페이지를 로드합니다.If the CLI can open your default browser, it will do so and load a sign-in page.

    그렇지 않은 경우, 브라우저 페이지를 열고 명령줄의 지침에 따라 브라우저에서 https://aka.ms/devicelogin 으로 이동한 후 권한 부여 코드를 입력합니다.Otherwise, you need to open a browser page and follow the instructions on the command line to enter an authorization code after navigating to https://aka.ms/devicelogin in your browser.

  2. 브라우저에서 계정 자격 증명으로 로그인합니다.Sign in with your account credentials in the browser.

명령줄에 자격 증명을 입력하여 로그인합니다.Sign in with credentials on the command line

명령줄에 Azure 사용자 자격 증명을 입력합니다.Provide your Azure user credentials on the command line.

참고

이 접근 방식은 Microsoft 계정 또는 2단계 인증을 사용하는 계정에서는 작동하지 않습니다.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

az login -u <username> -p <password>

중요

콘솔에 암호를 표시하지 않고 az login을 대화식으로 사용하려는 경우 bash에서 read -s 명령을 사용합니다.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

PowerShell에서 Read-Host -AsSecureString cmdlet를 사용하고 문자열 변환을 보호합니다.Under PowerShell, use the Read-Host -AsSecureString cmdlet and secure string conversion.

$securePass =  Read-Host "Azure password: " -AsSecureString;
$AzPass = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePass));
az login -u <username> -p $AzPass;
$AzPass = ""

서비스 주체를 사용하여 로그인Sign in with a service principal

서비스 주체는 특정 사용자에게 연결되지 않은 계정으로서, 미리 정의된 역할을 통해 사용자에게 권한을 할당할 수 있습니다.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. 보안 스크립트 또는 프로그램 작성을 위한 가장 좋은 방법은 권한 제한 사항 및 로컬로 저장된 정적 자격 증명 정보를 적용할 수 있게 해주는 서비스 주체를 사용한 인증입니다.Authenticating with a service principal is the best way to write secure scripts or programs, allowing you to apply both permissions restrictions and locally stored static credential information. 서비스 주체에 대해 자세히 알아보려면 Azure CLI를 사용하여 Azure 서비스 주체 만들기를 참조하십시오.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

서비스 주체를 사용하여 로그인하려면 다음이 필요합니다.To sign in with a service principal, you need:

  • 서비스 주체와 연결된 URL 또는 이름The URL or name associated with the service principal
  • PEM 형식에서 서비스 주체를 만드는 데 사용되는 서비스 주체 암호, 또는 X509 인증서The service principal password, or the X509 certificate used to create the service principal in PEM format
  • .onmicrosoft.com 도메인 또는 Azure 개체 ID로서 서비스 주체를 사용하여 연결하는 테넌트The tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID
az login --service-principal -u <app-url> -p <password-or-cert> --tenant <tenant>

중요

콘솔에 암호를 표시하지 않고 az login을 대화식으로 사용하려는 경우 bash에서 read -s 명령을 사용합니다.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-url> -p $AZ_PASS --tenant <tenant>

PowerShell에서 Read-Host -AsSecureString cmdlet를 사용하고 문자열 변환을 보호합니다.Under PowerShell, use the Read-Host -AsSecureString cmdlet and secure string conversion.

$securePass =  Read-Host "Azure password: " -AsSecureString;
$AzPass = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePass));
az login --service-principal -u <app-url> -p $AzPass --tenant <tenant>;
$AzPass = ""

다른 테넌트로 로그인Sign in with a different tenant

--tenant 인수를 사용하여 로그인할 테넌트를 선택할 수 있습니다.You can select a tenant to sign in under with the --tenant argument. 이 인수의 값은 .onmicrosoft.com 도메인 또는 테넌트에 대한 Azure 개체 ID일 수 있습니다.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. 대화형 및 명령줄 로그인 방법 모두 --tenant(으)로 작동합니다.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

관리 ID를 사용하여 로그인Sign in with a managed identity

Azure 리소스에 대한 관리 ID로 구성된 리소스에서 관리 ID를 사용하여 로그인할 수 있습니다.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. 리소스의 ID로 로그인하는 것은 --identity 플래그를 통해 이루어집니다.Signing in with the resource's identity is done through the --identity flag.

az login --identity

Azure 리소스에 대한 관리 ID에 대한 자세한 내용은 Azure 리소스에 대한 관리 ID 구성로그인에 대한 Azure 리소스를 위한 관리 ID 사용을 참조하십시오.To learn more about managed identities for Azure resources, see Configure managed identities for Azure resources and Use managed identities for Azure resources for sign in.