Aracılığıyla paylaş


Azure Event Hubs ile parolasız bağlantılar kullanmak için bir uygulamayı geçirme

Azure hizmetlerine yönelik uygulama isteklerinin kimlik doğrulaması, hesap erişim anahtarları veya parolasız bağlantılar gibi yapılandırmalar kullanılarak yapılmalıdır. Ancak, mümkün olduğunda uygulamalarınızda parolasız bağlantılara öncelik vermelisiniz. Parola veya gizli anahtar kullanan geleneksel kimlik doğrulama yöntemleri, güvenlik riskleri ve karmaşıklıklar oluşturur. Parolasız bağlantılara geçmenin avantajları hakkında daha fazla bilgi edinmek için Azure services hub'ı için parolasız bağlantılar'ı ziyaret edin.

Aşağıdaki öğreticide, parolasız bağlantılar kullanarak var olan bir uygulamanın nasıl bağlanacak şekilde geçirilir açıklanmaktadır. Erişim anahtarları, bağlantı dizesi veya gizli dizi tabanlı başka bir yaklaşım kullanıyor olmanız fark etmeksizin bu geçiş adımları geçerli olmalıdır.

Yerel geliştirme ortamınızı yapılandırma

Parolasız bağlantılar hem yerel hem de Azure tarafından barındırılan ortamlarda çalışacak şekilde yapılandırılabilir. Bu bölümde, tek tek kullanıcıların yerel geliştirme için Azure Event Hubs'da kimlik doğrulaması yapmalarına izin vermek için yapılandırmalar uygulayacaksınız.

Kullanıcı rolleri atama

Yerel olarak geliştirme yaparken, Azure Event Hubs'a erişen kullanıcı hesabının doğru izinlere sahip olduğundan emin olun. İleti verilerini okumak ve yazmak için Azure Event Hubs Veri Alıcısı ve Azure Event Hubs Veri Gönderen rolleri gerekir. Kendinize bu rolü atamak için Kullanıcı Erişimi Yöneticisi rolüne veya Microsoft.Authorization/roleAssignments/write eylemini içeren başka bir role atanmalısınız. Azure portalı, Azure CLI veya Azure PowerShell'i kullanarak kullanıcıya Azure RBAC rolleri atayabilirsiniz. Kapsam genel bakış sayfasında rol atamaları için kullanılabilir kapsamlar hakkında daha fazla bilgi edinin.

Aşağıdaki örnek, kullanıcı hesabınıza Azure Event Hubs Veri Göndereni ve Azure Event Hubs Veri Alıcısı rollerini atar. Bu rol, olay hub'ı iletilerine okuma ve yazma erişimi verir.

  1. Azure portalında ana arama çubuğunu veya sol gezintiyi kullanarak olay hub'ınızı bulun.

  2. Olay hub'ına genel bakış sayfasında sol taraftaki menüden Erişim denetimi (IAM) öğesini seçin.

  3. Erişim denetimi (IAM) sayfasında Rol atamaları sekmesini seçin.

  4. Üst menüden + Ekle'yi seçin ve ardından açılan menüden Rol ataması ekle'yi seçin.

    Rol atamayı gösteren ekran görüntüsü.

  5. Sonuçları istenen role göre filtrelemek için arama kutusunu kullanın. Bu örnek için Azure Event Hubs Veri Göndereni'ni arayın, eşleşen sonucu seçin ve ardından İleri'yi seçin.

  6. Erişim ata'nın altında Kullanıcı, grup veya hizmet sorumlusu'na tıklayın ve ardından + Üye seç'e tıklayın.

  7. İletişim kutusunda Microsoft Entra kullanıcı adınızı (genellikle user@domain e-posta adresiniz) arayın ve iletişim kutusunun alt kısmındaki Seç'i seçin.

  8. Son sayfaya gitmek için Gözden geçir + ata'yı seçin ve ardından işlemi tamamlamak için Gözden geçir + yeniden ata'yı seçin.

  9. Hesabın ileti gönderip almasına izin vermek için Azure Event Hubs Veri Alıcısı rolü için bu adımları yineleyin.

Önemli

Çoğu durumda rol atamasının Azure'a yayılması bir veya iki dakika sürer, ancak nadir durumlarda sekiz dakikaya kadar sürebilir. Kodunuzu ilk kez çalıştırdığınızda kimlik doğrulama hataları alıyorsanız, birkaç dakika bekleyin ve yeniden deneyin.

Azure'da yerel olarak oturum açma

Yerel geliştirme için, rolü atadığınız Microsoft Entra hesabıyla kimliğinizin doğrulanmış olduğundan emin olun. Azure CLI veya Azure PowerShell gibi popüler geliştirme araçlarıyla kimlik doğrulaması yapabilirsiniz. Kimlik doğrulaması yapabileceğiniz geliştirme araçları farklı dillerde farklılık gösterir.

Aşağıdaki komutu kullanarak Azure CLI aracılığıyla Azure'da oturum açın:

az login

Uygulama kodunu parolasız bağlantıları kullanacak şekilde güncelleştirme

Aşağıdaki ekosistemlerin her biri için Azure Identity istemci kitaplığı, Azure'da parolasız kimlik doğrulamasını işleyen bir DefaultAzureCredential sınıf sağlar:

DefaultAzureCredential birden çok kimlik doğrulama yöntemini destekler. Kullanılacak yöntem çalışma zamanında belirlenir. Bu yaklaşım, uygulamanızın ortama özgü kod uygulamadan farklı ortamlarda (yerel ve üretim) farklı kimlik doğrulama yöntemleri kullanmasını sağlar. Kimlik bilgilerinin arandığı DefaultAzureCredential sıra ve konumlar için önceki bağlantılara bakın.

  1. .NET uygulamasında kullanmak DefaultAzureCredential için paketini yükleyin Azure.Identity :

    dotnet add package Azure.Identity
    
  2. Dosyanızın en üstüne aşağıdaki kodu ekleyin:

    using Azure.Identity;
    
  3. Kodunuzda Azure Event Hubs'a bağlanmak için bir EventHubProducerClient veya EventProcessorClient nesnesi oluşturan konumları belirleyin. Kodunuzu aşağıdaki örnekle eşleşecek şekilde güncelleştirin:

    DefaultAzureCredential credential = new();
    var eventHubNamespace = $"https://{namespace}.servicebus.windows.net";
    
    // Event Hubs producer
    EventHubProducerClient producerClient = new(
        eventHubNamespace,
        eventHubName,
        credential);
    
    // Event Hubs processor
    EventProcessorClient processorClient = new(
        storageClient,
        EventHubConsumerClient.DefaultConsumerGroupName,
        eventHubNamespace,
        eventHubName,
        credential);
    
  1. veya EventProcessorClient nesnelerinizin URI'sindeki event hubs ad alanını güncelleştirdiğinden EventHubProducerClient emin olun. Ad alanı adını Azure portalının genel bakış sayfasında bulabilirsiniz.

    Ad alanı adını bulmayı gösteren ekran görüntüsü.

Uygulamayı yerel olarak çalıştırma

Bu kod değişikliklerini yaptıktan sonra uygulamanızı yerel olarak çalıştırın. Yeni yapılandırma, Azure CLI, Visual Studio veya IntelliJ gibi yerel kimlik bilgilerinizi almalıdır. Azure'da kullanıcınıza atadığınız roller, uygulamanızın Azure hizmetine yerel olarak bağlanmasına olanak tanır.

Azure barındırma ortamını yapılandırma

Uygulamanız parolasız bağlantıları kullanacak şekilde yapılandırıldıktan ve yerel olarak çalıştırıldıktan sonra aynı kod Azure'a dağıtıldıktan sonra Azure hizmetlerinde kimlik doğrulaması yapabilir. Aşağıdaki bölümlerde, yönetilen kimlik kullanarak Azure Event Hubs'a bağlanmak için dağıtılan bir uygulamanın nasıl yapılandırılacağı açıklanmaktadır. Yönetilen kimlikler, Microsoft Entra Kimliği ortamında uygulamaların Microsoft Entra kimlik doğrulamasını destekleyen kaynaklara bağlanırken kullanabileceği otomatik olarak yönetilen bir kimlik sağlar. Yönetilen kimlikler hakkında daha fazla bilgi edinin:

Yönetilen kimliği oluşturma

Azure portalını veya Azure CLI'yi kullanarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilirsiniz. Uygulamanız diğer hizmetlerde kimlik doğrulaması yapmak için bu kimliği kullanır.

  1. Azure portalının üst kısmında Yönetilen kimlikler'i arayın. Yönetilen Kimlikler sonucunu seçin.
  2. Yönetilen Kimliklere genel bakış sayfasının üst kısmındaki + Oluştur'u seçin.
  3. Temel Bilgiler sekmesinde aşağıdaki değerleri girin:
    • Abonelik: İstediğiniz aboneliği seçin.
    • Kaynak Grubu: İstediğiniz kaynak grubunu seçin.
    • Bölge: Konumunuza yakın bir bölge seçin.
    • Ad: Kimliğiniz için MigrationIdentity gibi tanınabilir bir ad girin.
  4. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.
  5. Doğrulama denetimleri tamamlandığında Oluştur'u seçin. Azure, kullanıcı tarafından atanan yeni bir kimlik oluşturur.

Kaynak oluşturulduktan sonra, yönetilen kimliğin ayrıntılarını görüntülemek için Kaynağa git'i seçin.

Kullanıcı tarafından atanan yönetilen kimliğin nasıl oluşturulacağını gösteren ekran görüntüsü.

Yönetilen kimliği web uygulamanızla ilişkilendirme

Web uygulamanızı oluşturduğunuz yönetilen kimliği kullanacak şekilde yapılandırmanız gerekir. Azure portalını veya Azure CLI'yı kullanarak kimliği uygulamanıza atayın.

Bir kimliği uygulamanızla ilişkilendirmek için Azure portalında aşağıdaki adımları tamamlayın. Bu adımlar aşağıdaki Azure hizmetleri için de geçerlidir:

  • Azure Spring Apps
  • Azure Container Apps
  • Azure sanal makineleri
  • Azure Kubernetes Service
  1. Web uygulamanızın genel bakış sayfasına gidin.

  2. Sol gezinti bölmesinden Kimlik'i seçin.

  3. Kimlik sayfasında Kullanıcı tarafından atanan sekmesine geçin.

  4. Kullanıcı tarafından atanan yönetilen kimlik ekle açılır öğesini açmak için + Ekle'yi seçin.

  5. Kimliği oluşturmak için daha önce kullandığınız aboneliği seçin.

  6. MigrationIdentity öğesini ada göre arayın ve arama sonuçlarından seçin.

  7. Kimliği uygulamanızla ilişkilendirmek için Ekle'yi seçin.

    Kullanıcı tarafından atanan kimliğin nasıl oluşturulacağını gösteren ekran görüntüsü.

Yönetilen kimliğe rol atama

Ardından, olay hub'ınıza erişmek için oluşturduğunuz yönetilen kimliğe izin vermeniz gerekir. Yerel geliştirme kullanıcınızda yaptığınız gibi yönetilen kimliğe bir rol atayarak izinler verin.

  1. Olay hub'ına genel bakış sayfanıza gidin ve sol gezinti bölmesinden Erişim Denetimi (IAM) öğesini seçin.

  2. Rol ataması ekle'yi seçin

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

  3. Rol arama kutusunda, kuyruklar için veri işlemlerini yönetmek için kullanılan yaygın bir rol olan Azure Event Hubs Veri Göndereni'ni arayın. Kullanım örneğiniz için uygun olan rolü atayabilirsiniz. Listeden Azure Event Hubs Veri Göndereni'ni seçin ve İleri'yi seçin.

  4. Rol ataması ekle ekranında, Erişim ata seçeneği için Yönetilen kimlik'i seçin. Ardından +Üye seç'i seçin.

  5. Açılır menüde, ada göre oluşturduğunuz yönetilen kimliği arayın ve sonuçlardan seçin. Açılır menüyü kapatmak için Seç'i seçin.

    Atanan yönetilen kimliğin nasıl seçildiğini gösteren ekran görüntüsü.

  6. Rol atamasını tamamlamak için Gözden geçir ve ata'yı seçene kadar birkaç kez İleri'yi seçin.

  7. Azure Olay Hub'ı Veri Alıcısı rolü için bu adımları yineleyin.

Uygulama kodunu güncelleştirme

Uygulama kodunuzu Azure'a dağıtıldığında oluşturduğunuz belirli yönetilen kimliği aramak için yapılandırmanız gerekir. Bazı senaryolarda, uygulama için yönetilen kimliği açıkça ayarlamak, diğer ortam kimliklerinin yanlışlıkla algılanmasını ve otomatik olarak kullanılmasını da önler.

  1. Yönetilen kimliğe genel bakış sayfasında, istemci kimliği değerini panonuza kopyalayın.

  2. Dile özgü aşağıdaki değişiklikleri uygulayın:

    Bir DefaultAzureCredentialOptions nesne oluşturun ve öğesine DefaultAzureCredentialgeçirin. ManagedIdentityClientId özelliğini istemci kimliği olarak ayarlayın.

    DefaultAzureCredential credential = new(
        new DefaultAzureCredentialOptions
        {
            ManagedIdentityClientId = managedIdentityClientId
        });
    
  3. Yapılandırma güncelleştirmelerinin uygulanması için bu değişikliği yaptıktan sonra kodunuzu Azure'a yeniden dağıtın.

Uygulamayı test etme

Güncelleştirilmiş kodu dağıttığınızda tarayıcıda barındırılan uygulamanıza göz atın. Uygulamanızın olay hub'ına başarıyla bağlanabilmesi gerekir. Rol atamalarının Azure ortamınızda yayılmasının birkaç dakika sürebileceğini unutmayın. Uygulamanız artık geliştiricilerin uygulamadaki gizli dizileri yönetmek zorunda kalmadan hem yerel hem de üretim ortamında çalışacak şekilde yapılandırılmıştır.

Sonraki adımlar

Bu öğreticide, bir uygulamayı parolasız bağlantılara geçirmeyi öğrendiniz.

Bu makalede ele alınan kavramları daha ayrıntılı incelemek için aşağıdaki kaynakları okuyabilirsiniz: