다음을 통해 공유


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>

참고 항목