Azure CLI를 사용하여 Azure 구독을 관리하는 방법

Azure CLI를 사용하여 Azure 구독을 관리하고, 관리 그룹을 만들고, 구독을 잠글 수 있습니다. Azure 내에 여러 구독이 있을 수 있습니다. 사용자가 둘 이상의 조직에 속할 수 있거나 조직에서 특정 리소스에 대한 액세스를 그룹별로 나눌 수 있습니다. Azure CLI는 전역적으로 그리고 명령별로 구독을 선택할 수 있도록 지원합니다.

구독, 청구 및 비용 관리에 대한 자세한 내용은 청구 및 비용 관리 설명서를 참조하세요.

테넌트, 사용자 및 구독

테넌트는 전체 조직을 포괄하는 Azure Active Directory 엔터티입니다. 테넌트에는 하나 이상의 구독사용자가 있습니다. 사용자는 Azure에 로그인하여 리소스를 생성, 관리, 사용하는 계정입니다. 사용자는 여러 구독에 액세스할 수 있지만 사용자는 단일 테넌트에만 연결됩니다. 구독은 Azure를 포함한 클라우드 서비스를 사용하기 위해 Microsoft와 체결한 계약입니다. 모든 리소스가 구독과 연결됩니다.

테넌트, 사용자 및 구독 간의 차이점에 대한 자세한 내용은 Azure 클라우드 용어 사전을 참조하세요.

활성 테넌트 가져오기

az account tenant list 또는 az account show를 사용하여 활성 테넌트 ID를 가져옵니다.

az account tenant list

az account show

활성 테넌트 변경

테넌트를 전환하려면 원하는 테넌트 내에서 사용자로 로그인해야 합니다. az login을 사용하여 활성 테넌트를 변경하고 사용자가 속한 구독 목록을 업데이트합니다.

# sign in as a different user
az login --user <myAlias@myCompany.com> -password <myPassword>

# sign in with a different tenant
az login --tenant <myTenantID>

조직에서 다단계 인증이 필요한 경우 az login --user를 사용할 때 다음 오류가 발생할 수 있습니다.

Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access...

대체 az login --tenant 명령을 사용하면 HTTPS 페이지를 열고 제공된 코드를 입력하라는 메시지가 표시됩니다. 그런 다음, 다단계 인증을 사용하고 성공적으로 로그인할 수 있습니다. Azure CLI를 사용한 로그인 옵션에 대한 자세한 내용은 Azure CLI로 로그인을 참조하세요.

활성 구독 가져오기

대부분의 Azure CLI 명령은 구독 내에서 작동합니다. 최적의 보안을 위해 Azure CLI 명령은 더 이상 현재 활성 구독의 구독 ID를 기본값으로 설정하지 않습니다. 이제 명령에서 --subscription 또는 --scope 매개 변수를 사용하여 작업할 구독을 지정해야 합니다.

현재 사용 중인 구독을 확인하거나 사용 가능한 구독 목록을 가져오려면 az account show 또는 az account list 명령을 실행합니다. Azure CLI에서 Bash를 사용하는 방법 알아보기로 이동하여 az account show를 사용하는 방법에 대한 더 많은 예제를 확인합니다.

# get the current default subscription using show
az account show --output table

# get the current default subscription using list
az account list --query "[?isDefault]"

# store the default subscription  in a variable
subscriptionId="$(az account list --query "[?isDefault].id" -o tsv)"
echo $subscriptionId

--output 매개 변수는 모든 명령에 사용할 수 있는 글로벌 매개 변수입니다. table 값은 출력을 친숙한 형식으로 표시합니다. 자세한 내용은 Azure CLI 명령의 출력 형식을 참조하세요.

구독에는 리소스 그룹이 포함되어 있습니다. Azure 리소스 그룹은 Azure 솔루션에 관련된 리소스를 보유하는 컨테이너입니다. 구독 내에서 리소스 그룹을 관리하는 방법을 알아보려면 Azure CLI를 사용하여 Azure 리소스 그룹을 관리하는 방법을 참조하세요.

활성 구독 변경

Azure 구독에는 이름과 ID가 모두 있습니다. 원하는 구독 ID 또는 이름을 지정하는 az account set을 사용하여 다른 구독으로 전환할 수 있습니다.

# change the active subscription using the subscription name
az account set --subscription "My Demos"

# change the active subscription using the subscription ID
az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

# change the active subscription using a variable
subscriptionId="$(az account list --query "[?isDefault].id" -o tsv)"
az account set --subscription $subscriptionId

az account set 명령을 사용하여 활성 구독을 다른 테넌트 내의 구독으로 변경할 수 없습니다. 먼저 원하는 테넌트 내에서 사용자로 로그인해야 합니다. 구독을 다른 테넌트 내의 구독으로 설정하려고 하면 다음 오류가 표시됩니다.

The subscription of 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' doesn't exist in cloud 'AzureCloud'.

새 구독을 Azure Active Directory 테넌트에 추가하는 방법을 알아보려면 Azure 구독을 Azure Active Directory 테넌트에 연결 또는 추가하는 방법을 참조하세요.

Azure 관리 그룹 만들기

Azure 관리 그룹에는 구독이 포함되어 있습니다. 관리 그룹은 해당 구독에 대한 액세스, 정책 및 규정 준수를 관리하는 방법을 제공합니다. 자세한 내용은 Azure 관리 그룹이란?을 참조하세요.

az account management-group 명령을 사용하여 Azure 관리 그룹을 만들고 관리합니다.

여러 구독에 대한 관리 그룹은 az account management-group create 명령을 사용하여 만들 수 있습니다.

az account management-group create --name Contoso01

모든 관리 그룹을 보려면 az account management-group list 명령을 사용합니다.

az account management-group list

구독을 새 그룹에 추가하려면 az account management-group subscription add 명령을 사용합니다.

az account management-group subscription add --name Contoso01 --subscription "My Demos"
az account management-group subscription add --name Contoso01 --subscription "My Second Demos"

구독을 제거하려면 az account management-group subscription remove 명령을 사용합니다.

az account management-group subscription remove --name Contoso01 --subscription "My Demos"

관리 그룹을 제거하려면 az account management-group delete 명령을 실행합니다.

az account management-group delete --name Contoso01

구독을 제거하거나 관리 그룹을 삭제해도 구독이 삭제되거나 비활성화되지 않습니다.

Azure 구독 잠금 설정

사용자가 구독을 삭제하거나 수정하지 못하도록 관리자는 구독을 잠가야 할 수 있습니다. 자세한 내용은 예기치 않은 변경을 방지하기 위해 리소스 잠그기를 참조하세요.

Azure CLI에서 az account lock 명령을 사용합니다. 예를 들어 az account lock create 명령은 사용자가 구독을 삭제하지 못하게 할 수 있습니다.

az account lock create --name "Cannot delete subscription" --lock-type CanNotDelete

참고

잠금을 만들거나 변경하려면 적절한 권한이 있어야 합니다.

구독에 대한 현재 잠금을 보려면 az account lock list 명령을 사용합니다.

az account lock list --output table

계정을 읽기 전용으로 설정하는 경우 결과는 모든 사용자에게 읽기 권한자 역할의 권한을 할당하는 것과 비슷합니다. 개별 사용자 및 역할에 대한 권한을 설정하는 방법에 대한 자세한 내용은 Azure CLI를 사용하여 Azure 역할 할당 추가 또는 제거를 참조하세요.

잠금에 대한 세부 정보를 보려면 az account lock show 명령을 사용합니다.

az account lock show --name "Cannot delete subscription"

잠금은 az account lock delete 명령을 사용하여 제거할 수 있습니다.

az account lock delete --name "Cannot delete subscription"

참고 항목