Azure CLI 2.0으로 로그인Sign in with Azure CLI 2.0

Azure CLI를 사용하여 인증하는 여러 방법이 있습니다.There are several ways to authenticate with the Azure CLI. 가장 간단하게 시작하는 방법은 Azure Cloud Shell을 통해 브라우저에서 대화형으로 또는 az login 명령으로 로그인하는 것입니다.The easiest way to get started is to sign in interactively through your browser through either Azure Cloud Shell or the az login command. 권장되는 접근 방법은 권한 제한 계정인 서비스 주체를 사용하는 것입니다.The recommended approach is to use service principals, which are permissions-restricted accounts. 서비스 주체에게 필요한 접근 권한만 부여하여 자동화 스크립트를 훨씬 안전하게 보호할 수 있습니다.By granting just the appropriate permissions needed to a service principal, you can ensure your automation scripts are even more secure.

개인 자격 증명 정보는 로컬로 저장되지 않습니다.None of your private credential information is stored locally. 대신, Azure에서 인증 토큰이 생성되고 저장됩니다.Instead, an authentication token is generated by Azure and stored. 로그인 후에는 사용되지 않더라도 인증 토큰이 14일 동안 유효합니다.After signing in, your authentication token is valid until it goes for 14 days without being used. 그 다음에는 다시 인증해야 합니다.At that point, you need to re-authenticate.

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

대화형 로그인Interactive sign in

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 determine your default browser and has access to open it, it will do so and direct you immediately to 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.

명령 줄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 specific tenant

여러 테넌트를 사용할 때 --tenant 인수를 사용하여 로그인할 테넌트를 선택할 수 있습니다.If you work with multiple tenants, you can select your 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. 대화형으로 로그인하거나 --user--password 인수를 포함한 자격 증명을 제공할 수 있습니다.You can sign in interactively, or provide your credentials with the --user and --password arguments.

az login --tenant <tenant>

서비스 주체를 사용하여 로그인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.

서비스 주체로 로그인하려면 사용자 이름, 암호 또는 인증서 PEM 파일 및 서비스 주체와 연결된 테넌트를 제공합니다.To sign in with a service principal, you provide the username, password or certificate PEM file, and the tenant associated with the service principal:

az login --service-principal -u <app-url> -p <password-or-cert> --tenant <tenant>

테넌트 값은 서비스 주체와 연결된 Azure Active Directory 테넌트입니다.The tenant value is the Azure Active Directory tenant associated with the service principal. 이 값은 .onmicrosoft.com 도메인 또는 테넌트에 대한 Azure 개체 ID일 수 있습니다.This can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. 다음 명령을 사용하여 현재 활성 계정을 위한 테넌트 개체 ID를 가져올 수 있습니다.You can get the tenant object ID for your currently active account by using the following command:

az account show --query 'tenantId' -o tsv

중요

콘솔에 암호를 표시하지 않고 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 = ""