Oturum açmak için azure vm'sindeki Azure kaynakları için yönetilen kimlikleri kullanma

Azure kaynakları için yönetilen kimlikler, Microsoft Entra Id'nin bir özelliğidir. Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetlerinin her biri kendi zaman çizelgesine tabidir. Başlamadan önce kaynağınıza yönelik yönetilen kimliklerin kullanılabilirlik durumunu ve bilinen sorunları gözden geçirdiğinizden emin olun.

Bu makalede, Azure kaynakları hizmet sorumlusu için yönetilen kimlikleri kullanarak oturum açmaya yönelik PowerShell ve CLI betik örnekleri ve hata işleme gibi önemli konulara yönelik yönergeler sağlanmaktadır.

Dekont

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

Bu makaledeki Azure PowerShell veya Azure CLI örneklerini kullanmayı planlıyorsanız Azure PowerShell veya Azure CLI'nın en son sürümünü yüklediğinizden emin olun.

Önemli

  • Bu makaledeki tüm örnek betiklerde, komut satırı istemcisinin Azure kaynakları için yönetilen kimliklerin etkinleştirildiği bir VM üzerinde çalıştığı varsayılır. VM'nize uzaktan bağlanmak için Azure portalındaki VM "Bağlan" özelliğini kullanın. Vm'de Azure kaynakları için yönetilen kimlikleri etkinleştirme hakkında ayrıntılı bilgi için bkz . Azure portalını veya değişken makalelerden birini (PowerShell, CLI, şablon veya Azure SDK kullanarak) kullanarak VM'de Azure kaynakları için yönetilen kimlikleri yapılandırma.
  • Kaynak erişimi sırasında hataları önlemek için VM'nin yönetilen kimliğine, VM'de Azure Resource Manager işlemlerine izin vermek için uygun kapsamda (VM veya üzeri) en az "Okuyucu" erişimi verilmelidir. Ayrıntılar için bkz . Azure portalını kullanarak Azure kaynaklarına erişim için yönetilen kimlikler atama.

Genel Bakış

Azure kaynakları için yönetilen kimlikler, VM'de Azure kaynakları için yönetilen kimlikler etkinleştirildiğinde oluşturulan bir hizmet sorumlusu nesnesi sağlar. Hizmet sorumlusuna Azure kaynaklarına erişim verilebilir ve oturum açma ve kaynak erişimi için betik/komut satırı istemcileri tarafından kimlik olarak kullanılabilir. Geleneksel olarak, kendi kimliği altında güvenli kaynaklara erişmek için bir betik istemcisinin şunları yapabilmesi gerekir:

  • gizli/web istemci uygulaması olarak Microsoft Entra Id ile kayıtlı ve onaylanmış olmalıdır
  • uygulamanın kimlik bilgilerini (betikte eklenmiş olabilir) kullanarak hizmet sorumlusu altında oturum açın

Azure kaynakları için yönetilen kimliklerle, betik istemcinizin artık azure kaynakları hizmet sorumlusu için yönetilen kimlikler altında oturum açabildiği için bunları yapması gerekmez.

Azure CLI

Aşağıdaki betik nasıl yapılacağını gösterir:

  1. Azure kaynakları hizmet sorumlusu için VM'nin yönetilen kimliği altında Microsoft Entra Kimliği'nde oturum açın

  2. Azure Resource Manager'ı çağırın ve VM'nin hizmet sorumlusu kimliğini alın. CLI, sizin için otomatik olarak belirteç alımını/kullanımını yönetmeyi üstlenir. sanal makinenizin adını ile <VM-NAME>değiştirerek bunu yapmaya özen gösterin.

    az login --identity
    
    $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv)
    echo The managed identity for Azure resources service principal ID is $spID
    

Azure PowerShell

Aşağıdaki betik nasıl yapılacağını gösterir:

  1. Azure kaynakları hizmet sorumlusu için VM'nin yönetilen kimliği altında Microsoft Entra Kimliği'nde oturum açın

  2. VM hakkında bilgi almak için bir Azure Resource Manager cmdlet'ini çağırın. PowerShell, belirteç kullanımını sizin için otomatik olarak yönetir.

    Add-AzAccount -identity
    
    # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. 
    $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME>
    $spID = $vmInfoPs.Identity.PrincipalId
    echo "The managed identity for Azure resources service principal ID is $spID"
    

Azure hizmetleri için kaynak kimlikleri

Microsoft Entra Kimliğini destekleyen ve Azure kaynakları ve ilgili kaynak kimlikleri için yönetilen kimliklerle test edilmiş kaynakların listesi için bkz . Microsoft Entra kimlik doğrulamasını destekleyen Azure hizmetleri.

Hata işleme kılavuzu

Aşağıdaki gibi yanıtlar, Vm'nin Azure kaynakları için yönetilen kimliğinin doğru yapılandırılmadığını gösterebilir:

  • PowerShell: Invoke-WebRequest : Uzak sunucuya bağlanılamıyor
  • CLI: MSI: 'HTTP Bağlan ionPool(host='localhost', port=50342) hatasıyla belirteç http://localhost:50342/oauth2/token alınamadı

Bu hatalardan birini alırsanız, Azure portalında Azure VM'sine dönün ve Kimlik sayfasına gidin ve Sistem tarafından atanan öğesinin "Evet" olarak ayarlandığından emin olun.

Sonraki adımlar