1. 쉘을 통한 로그인, 테넌트 및 구독을 선택 하는 방법, 로그아웃 방법 (사용자 계정과 서비스 주체)
Azure CLI
브라우저를 통한 로그인
az login
명령줄 로그인 (명령줄에서 사용자 이름 및 암호를 사용한 인증은 권장되지 않는다.)
az login -u <유저 이름 @ 구독명> -p <암호>
구독 변경
az account set --subscription ""<구독 ID 또는 이름>""
로그 아웃
az logout <사용자 이름>
Azure Powershell
로그인
Connect-AzAccount
다른 테넌트 로그인
Connect-AzAccount -Tanant <테넌트 ID>
로그아웃
Disconnect-AzAccount
Azure CLI
1. 로그인 및 테넌트 선택
Azure Cloud Shell을 터미널에 설치 및 실행하면 브라우저를 통한 로그인을 요청한다.
제공된 devicelogin 페이지에서 제시된 코드를 입력하면 Cloud Shell에서의 로그인이 성공하며, 바로 테넌트를 선택하라는 안내가 나온다.
테넌트 선택까지 완료하면 아래와 같이 접속됨을 알리는 메시지가 출력된다.
2. 구독 선택
az account set --subscription "구독 명 또는 ID"
명령으로 구독을 선택 한다.
az account show --query <대상>
명령으로 현재 user에 대한 정보를 검토한다.
3. 로그아웃
Powershell
1. 로그인 전 Azure PowerShell 모듈 설치
PowerShell을 통해 Azure에 로그인하는것이 처음이라면 앞서 Azure PowerShell 모듈을 설치해야 한다. 설치하지 않고 로그인 진행 시 아래와 같은 오류가 발생한다.
Connect-AzAccount: The term 'Connect-AzAccount' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
참고로 'AzureRM PowerShell' 모듈은 더이상 지원되지 않는다. 'Az PowerShell' 모듈을 사용해야 한다.
2-1. Az PowerShell 모듈 설치 - 충돌
Install-Module -Name Az -Repository PSGallery -Force
명령어를 실행했더니 오류가 발생했다.
이미 시스템에 설치된 명령어와의 충돌로 발생한 오류이다.
충돌하지 않도록 '-AllowClobber' 인자를 전달 기존 명령어를 덮어씌운다.
2-2. Az PowerShell 모듈 설치 - 충돌 해결
Install-Module -Name Az -Repository PSGallery -Force -AllowClobber
모듈 설치가 완료되면 최신버전으로 업데이트를 수행한다.
3. Az PowerShell 모듈 업데이트
Update-Module -Name Az -Force
모듈 업데이트까지 완료되면 준비가 끝났다.
4. 로그인
Connect-AzAccount 실행 시 로그인할 계정을 선택해야 한다.
다단계 인증절차가 적용되어 있다면 인증을 진행해야 한다.
5. 구독 선택
로그인 성공 시 테넌트 및 구독을 선택한다.
5-1. 기본 구독 구성
로그인 시 마다 구독을 선택하기 귀찮다면 아래의 명령을 통해 기본 구독 설정이 가능하다.
Update-AzConfig -DefaultSubscriptionForLogin '<구독 명 or ID>'
6. 로그아웃
로그아웃을 수행한 주체의 Id, Type 등의 정보가 같이 출력된다.
참고사항
- Azure PowerShell 세션의 기본 시간 제한은 1시간이다. 제한 시간동안 활동이 없으면 세션이 만료된다.
Enable-AzContextAutosave
명령을 통해 PowerShell 세션을 저장하고 새로운 PowerShell 창을 열때마다 자동으로 로드된다. 다단계 인증이 있는 경우 인증 절차를 거쳐야 한다.$VerbosePreference = "Continue"
명령을 통해 실행되는 모든 명령어의 세부 정보 출력을 활성화 시킬 수 있다.