Azure Resource Manager’a erişmek için Linux VM sistem tarafından atanan yönetilen kimliği 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 hızlı başlangıçta, Azure Resource Manager API'sine erişmek için linux sanal makinesi (VM) kimliği olarak sistem tarafından atanan yönetilen kimliğin nasıl kullanılacağı gösterilmektedir. Azure kaynakları için yönetilen kimlikler Azure tarafından otomatik olarak yönetilir ve kodunuza kimlik bilgileri eklemeye gerek kalmadan Microsoft Entra kimlik doğrulamasını destekleyen hizmetlerde kimlik doğrulaması yapmanıza olanak tanır. Şunları yapmayı öğreneceksiniz:

  • Azure Resource Manager’da Kaynak Grubuna VM'niz için erişim verme
  • VM kimliğini kullanarak erişim belirteci alma ve Azure Resource Manager çağrısı yapmak için bunu kullanma

Önkoşullar

  • Yönetilen kimlikleri anlama. Yönetilen kimlikleri bilmiyorsanız bu genel bakışa bakın.
  • Bir Azure hesabı, ücretsiz bir hesaba kaydolun.
  • Ayrıca sistem tarafından atanan yönetilen kimliklerin etkinleştirildiği bir Linux Sanal makinesine de ihtiyacınız vardır. Vm'niz varsa ancak sistem tarafından atanan yönetilen kimlikleri etkinleştirmeniz gerekiyorsa, bunu sanal makinenin özelliklerinin kimlik bölümünde yapabilirsiniz.
    • Bu öğretici için bir sanal makine oluşturmanız gerekiyorsa Azure portalıyla Linux sanal makinesi oluşturma başlıklı makaleyi izleyebilirsiniz

Erişim verme

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Azure kaynakları için yönetilen kimlikleri kullandığınızda kodunuz, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklarda kimlik doğrulaması yapmak için erişim belirteçleri alabilir. Azure Resource Manager API'si Microsoft Entra kimlik doğrulamasını destekler. İlk olarak, bu VM'nin kimliğine Azure Resource Manager'daki bir kaynağa(bu örnekte VM'nin bulunduğu Kaynak Grubu) erişim izni vermemiz gerekir.

  1. Yönetici hesabınızla Azure portalında oturum açın.

  2. Kaynak Grupları sekmesine gidin.

  3. VM'nin yönetilen kimlik erişimine vermek istediğiniz Kaynak Grubunu seçin.

  4. Sol panelde Erişim denetimi (IAM) öğesini seçin.

  5. Ekle'yi ve ardından Rol ataması ekle'yi seçin.

  6. Rol sekmesinde Okuyucu'ya tıklayın. Bu rol tüm kaynakları görüntülemenize izin verir, ancak herhangi bir değişiklik yapmanıza izin vermez.

  7. Üyeler sekmesinde, Erişim ata için Yönetilen kimlik'i seçin. Ardından + Üye seç'i seçin.

  8. Abonelik açılan listesinde uygun aboneliğin listelendiğinden emin olun. Kaynak Grubu için de Tüm kaynak grupları'nı seçin.

  9. Kimliği yönet açılan listesinde Sanal Makine'yi seçin.

  10. Son olarak, Seç'te açılan listeden Windows Sanal Makinenizi seçin ve Kaydet'i seçin.

    Yönetilen kimliğe okuyucu rolü eklemeyi gösteren ekran görüntüsü.

VM’nin sistem tarafından atanan yönetilen kimliğini kullanarak erişim belirteci alma ve Resource Manager çağrısı yapmak için bunu kullanma

Bu adımları tamamlamak bir SSH istemciniz olmalıdır. Windows kullanıyorsanız, Linux için Windows Alt Sistemi SSH istemcisini kullanabilirsiniz. SSSH istemcinizin anahtarlarını yapılandırmak için yardıma ihtiyacınız olursa, bkz. Azure'da Windows ile SSH anahtarlarını kullanma veya Azure’da Linux VM’ler için SSH ortak ve özel anahtar çifti oluşturma.

  1. Portalda Linux VM'nize gidin ve Genel Bakış'ta Bağlan'ı seçin.

  2. Tercih ettiğiniz SSH istemciyle VM'ye bağlanın.

  3. Terminal penceresinde kullanarak curlAzure Resource Manager için erişim belirteci almak üzere Azure kaynakları uç noktasına yönelik yerel yönetilen kimliklere bir istek gönderin.   curl Erişim belirteci isteği aşağıdadır.

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Not

Parametresinin resource değeri, Microsoft Entra Id tarafından beklenen değerle tam olarak eşleşmelidir. Resource Manager kaynak kimliğinin kullanılması durumunda, URI'nin sonundaki eğik çizgiyi de eklemelisiniz.

Yanıtta, Azure Resource Manager’a erişmek için ihtiyacınız olan erişim belirteci vardır.

Yanıt:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Azure Resource Manager’a erişmek ve örneğin daha önceden bu VM’ye erişim verdiğiniz Kaynak Grubunun ayrıntılarını okumak için bu erişim belirtecini kullanabilirsiniz. , <RESOURCE-GROUP>ve <ACCESS-TOKEN> değerlerini <SUBSCRIPTION-ID>daha önce oluşturduğunuz değerlerle değiştirin.

Not

URL büyük/küçük harfe duyarlıdır; dolayısıyla daha önce Kaynak Grubunu adlandırırken kullandığınız büyük/küçük harf düzenini kullanmaya dikkat edin ("resourceGroups" adındaki büyük "G" harfine de dikkat edin).  

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

Belirli Kaynak Grubu bilgilerini içeren yanıt:

{
"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Sonraki adımlar

Bu hızlı başlangıçta, Azure Resource Manager API'sine erişmek amacıyla, sistem tarafından atanmış bir yönetilen kimliği nasıl kullanacağınızı öğrendiniz. Azure Resource Manager hakkında daha fazla bilgi için bkz: