Aracılığıyla paylaş


Azure Blob Depolama 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.

Rolleri ve kullanıcıları yerel geliştirme kimlik doğrulaması için yapılandırma

Yerel olarak geliştirme yaparken blob verilerine erişen kullanıcı hesabının doğru izinlere sahip olduğundan emin olun. Blob verilerini okumak ve yazmak için Depolama Blob Verileri Katkıda Bulunanı 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. Rol atamaları için kullanılabilir kapsamlar hakkında daha fazla bilgiyi kapsam genel bakış sayfasından öğrenebilirsiniz.

Bu senaryoda, En Az Ayrıcalık İlkesi'ni izlemek için depolama hesabı kapsamındaki kullanıcı hesabınıza izinler atayacaksınız. Bu uygulama kullanıcılara yalnızca gereken minimum izinleri verir ve daha güvenli üretim ortamları oluşturur.

Aşağıdaki örnek, depolama hesabınızdaki blob verilerine hem okuma hem de yazma erişimi sağlayan Depolama Blob Verileri Katkıda Bulunanı rolünü kullanıcı hesabınıza atar.

Ö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.

  1. Azure portalında ana arama çubuğunu veya sol gezintiyi kullanarak depolama hesabınızı bulun.

  2. Depolama hesabı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 Depolama Blobu Veri Katkıda Bulunanı'nı arayın ve 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.

Parolasız bağlantıları kullanmak için oturum açın ve uygulama kodunu geçirin

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

Ardından, parolanızı parolasız bağlantıları kullanacak şekilde güncelleştirin.

  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 Blob Depolama bağlanmak için bir BlobServiceClient oluşturan konumları belirleyin. Kodunuzu aşağıdaki örnekle eşleşecek şekilde güncelleştirin:

    DefaultAzureCredential credential = new();
    
    BlobServiceClient blobServiceClient = new(
        new Uri($"https://{storageAccountName}.blob.core.windows.net"),
        credential);
    
  1. URI'nizdeki depolama hesabı adını güncelleştirdiğinden BlobServiceClientemin olun. Depolama hesabı adını Azure portalının genel bakış sayfasında bulabilirsiniz.

    Depolama hesabı 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 yerel geliştirici 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 Blob Depolama bağlanmak için dağıtılan bir uygulamanın nasıl yapılandırılacağı açıklanmaktadır.

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, depolama hesabı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. Depolama hesabı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, bloblar için veri işlemlerini yönetmek için kullanılan yaygın bir rol olan Depolama Blobu Veri Katkıda Bulunanı'nı arayın. Kullanım örneğiniz için uygun olan rolü atayabilirsiniz. Listeden Depolama Blob Verileri Katkıda Bulunanı'nı 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.

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 depolama hesabı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: