Azure CLI를 사용하여 서비스 주체를 사용하여 Azure에 로그인
서비스 주체는 특정 사용자에 연결되지 않은 계정으로, 미리 정의된 역할을 통해 권한을 할당할 수 있습니다. 서비스 주체를 사용하여 인증하는 것이 보안 스크립트 또는 프로그램을 작성하는 가장 좋은 방법입니다. 사용 권한 제한과 로컬로 저장된 정적 자격 증명 정보를 모두 적용할 수 있습니다. 서비스 주체에 대한 자세한 내용은 Azure CLI를 사용하여 Azure 서비스 주체 작업을 참조하세요.
서비스 주체로 로그인하려면 다음이 필요합니다.
- 서비스 주체와 연결된 URL 또는 이름입니다.
- 서비스 주체 클라이언트 암호 또는 PEM 형식으로 서비스 주체를 만드는 데 사용되는 X509 인증서입니다.
- 서비스 주체와 연결된 테넌트(
.onmicrosoft.com
도메인 또는 Microsoft Entra 테넌트 ID)입니다.
서비스 주체와 Azure CLI를 사용할 때는 다음 두 가지 중요한 사실을 확인합니다.
PEM 파일 내의 PRIVATE KEY에 인증서를 추가해야 합니다. PEM 파일 형식의 예제는 인증서 기반 인증을 참조하세요.
서비스 주체가 Key Vault에 저장된 인증서를 사용하는 경우 Azure에 로그인하지 않고 해당 인증서의 프라이빗 키를 사용할 수 있어야 합니다. 인증서
az login
를 검색하려면 Key Vault에서 인증서 검색을 참조 하세요.
클라이언트 암호로 로그인하려면 다음 명령을 사용합니다.
az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID
인증서로 로그인하려면 다음 명령을 사용합니다.
az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID
Important
대화형으로 az login
사용할 때 콘솔에 암호가 표시되지 않도록 하려면 bash
아래의 read -s
명령을 사용합니다.
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>
PowerShell에서 Get-Credential
cmdlet을 사용합니다.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>
참고 항목
Azure CLI