연습 - Azure VM에 대한 시스템 할당 관리 ID 구성
앱을 호스트하는 VM(가상 머신)이 Azure에 배포되었습니다. 이제 회사의 Azure 구독에서 관리 ID를 사용하도록 설정해야 합니다. 이 개념은 재고 추적 앱이 필요한 Azure 리소스에 액세스할 수 있도록 하는 것입니다.
이 단원에서는 VM의 시스템이 할당한 관리 ID를 만듭니다. ID 내에서 Azure 리소스에 액세스하는 방법을 확인할 수 있습니다.
환경 설정
다음 코드를 사용하여 회사의 개인 데이터를 저장할 Azure Key Vault의 인스턴스를 만듭니다. 모든 Azure Key Vault 이름은 전역적으로 고유해야 합니다.
export VMNAME=prodserver export KVNAME=furniture-secrets$RANDOM az keyvault create --name $KVNAME \ --resource-group <rgn>[Sandbox resource group]</rgn> \ --default-action Allow \ --location $(az resource list --output tsv --query [0].location) \ --sku standard
회사의 앱을 호스트할 VM을 만듭니다. 환경 변수에 공용 IP 주소를 저장합니다.
export publicIP=$(az vm create \ --name $VMNAME \ --resource-group <rgn>[Sandbox resource group]</rgn> \ --image Ubuntu2204 \ --generate-ssh-keys \ --output tsv \ --query "publicIpAddress")
참고
VM을 만드는 데 몇 분 정도 걸릴 수 있습니다.
Azure VM에 대한 시스템 할당 관리 ID 구성
시스템 할당 관리 ID를 VM에 할당합니다.
az vm identity assign \ --name $VMNAME \ --resource-group <rgn>[Sandbox resource group]</rgn>
다음 명령은 관리 ID를 보여 주는 응답을 반환합니다. 다음은 응답의 예입니다.
{ "systemAssignedIdentity": "a78ddd60-183b-4e27-9f0d-c11a11c417d8", "userAssignedIdentities": {} }
키 자격 증명 모음을 사용하여 비밀 저장
키 자격 증명 모음에 연결 문자열을 추가합니다.
az keyvault secret set \ --vault-name $KVNAME \ --name DBCredentials \ --value "Server=tcp:prodserverSQL.database.windows.net,1433;Database=myDataBase;User ID=mylogin@myserver;Password=examplePassword;Trusted_Connection=False;Encrypt=True;"
키 자격 증명 모음 이름을 적어 둡니다.
echo $KVNAME
회사의 재고 추적 앱에 대한 VM 설정
SSH를 사용하여 VM에 액세스합니다.
ssh $publicIP
프롬프트에 예를 입력합니다.
다음 연습에서는 모듈의 샘플 앱에서 사용할 VM에 .NET Core 버전을 다운로드하여 설치합니다.
sudo snap install dotnet-sdk --classic --channel=3.1
참고 항목
.NET SDK 설치를 완료하는 데 몇 분 정도 걸릴 수 있습니다.
이 모듈의 샘플 앱의 소스 코드를 다운로드합니다.
git clone https://github.com/MicrosoftDocs/mslearn-authenticate-apps-with-managed-identities identity
SSH 세션을 종료합니다.
exit