Öğretici: Azure Key Vault ile Azure Cosmos DB kimlik bilgilerini depolama ve kullanma

ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa

Önemli

Azure Cosmos DB'ye erişmek için sistem tarafından atanan yönetilen kimlik kullanılması önerilir. Hem yönetilen kimlik çözümü hem de sertifika tabanlı çözüm ihtiyaçlarınızı karşılamıyorsa lütfen bu makaledeki Azure Key Vault çözümünü kullanın.

Veritabanınız olarak Azure Cosmos DB kullanıyorsanız, BIR SDK, API uç noktası ve birincil veya ikincil anahtar kullanarak veritabanlarına, kapsayıcıya ve öğelere bağlanırsınız.

Uç nokta URI'sini ve hassas okuma-yazma anahtarlarını doğrudan uygulama kodu veya yapılandırma dosyasında depolamak iyi bir uygulama değildir. İdeal olarak, bu veriler konaktaki ortam değişkenlerinden okunur. Azure Uygulaması Hizmeti'nde uygulama ayarları, geliştiricilerin bu kimlik bilgilerini güvenli olmayan net bir metin biçiminde depolamasına gerek kalmadan Azure Cosmos DB hesabınız için çalışma zamanı kimlik bilgilerini eklemenize olanak tanır.

Azure Key Vault, Azure Uygulaması Hizmeti tarafından yönetilen hizmetlere kimlik bilgilerine erişim verirken bu kimlik bilgilerini güvenli bir şekilde depolamanıza olanak tanıyarak bu en iyi yöntemi yineler. Azure Uygulaması Hizmeti, Azure Key Vault'tan kimlik bilgilerinizi güvenli bir şekilde okur ve bu kimlik bilgilerini çalışan uygulamanıza ekler.

Geliştiriciler bu en iyi uygulamayla Azure Cosmos DB öykünücüsü gibi araçların kimlik bilgilerini depolayabilir veya geliştirme sırasında Azure Cosmos DB'yi ücretsiz deneyin. Ardından operasyon ekibi, çalışma zamanında doğru üretim ayarlarının eklendiğine emin olabilir.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Key Vault örneği oluşturma
  • Azure Cosmos DB kimlik bilgilerini anahtar kasasına gizli dizi olarak ekleme
  • Azure Uygulaması Hizmeti kaynağı oluşturma ve kaydetme ve "okuma anahtarı" izinleri verme
  • Anahtar kasası gizli dizilerini App Service kaynağına ekleme

Not

Bu öğretici ve örnek uygulama NoSQL için Azure Cosmos DB hesabı kullanır. Diğer API'leri kullanarak aynı adımların çoğunu gerçekleştirebilirsiniz.

Önkoşullar

Başlamadan önce: Azure Cosmos DB kimlik bilgilerini alma

Başlamadan önce mevcut hesabınızın kimlik bilgilerini alırsınız.

  1. Mevcut NoSQL için Azure Cosmos DB hesabının Azure portalı sayfasına gidin.

  2. NoSQL için Azure Cosmos DB hesabı sayfasında Anahtarlar gezinti menüsü seçeneğini belirleyin.

    Azure Cosmos DB SQL API hesabı sayfasının ekran görüntüsü. Gezinti menüsünde Tuşlar seçeneği vurgulanır.

  3. URI ve BİRİnCİl ANAHTAR alanlarındaki değerleri kaydedin. Bu değerleri bu öğreticinin ilerleyen bölümlerinde kullanacaksınız.

    Azure Cosmos DB SQL API hesabı için çeşitli kimlik bilgilerini içeren Anahtarlar sayfasının ekran görüntüsü.

Azure Key Vault kaynağı oluşturma

İlk olarak, NoSQL kimlik bilgileri için API'nizi depolamak üzere yeni bir anahtar kasası oluşturun.

  1. Azure Portal’ında oturum açın.

  2. Kaynak > oluştur Güvenlik > Anahtarı Kasası'na tıklayın.

  3. Anahtar kasası oluştur sayfasında aşağıdaki bilgileri girin:

    Ayar Açıklama
    Abonelik Bu Azure Cosmos hesabı için kullanmak istediğiniz Azure aboneliğini seçin.
    Kaynak grubu Bir kaynak grubu seçin veya Yeni oluştur seçeneğini belirleyin ve yeni kaynak grubu için benzersiz bir ad girin.
    Anahtar kasası adı Anahtar kasanız için genel olarak benzersiz bir ad girin.
    Bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın.
    Fiyatlandırma katmanı Standart'ı seçin.
  4. Kalan ayarları varsayılan değerlerine bırakın.

  5. Gözden geçir ve oluştur’u seçin.

  6. Sağladığınız ayarları gözden geçirin ve oluştur'u seçin. Hesabın oluşturulması birkaç dakika sürer. Devam etmeden önce portal sayfasının Dağıtımınız tamamlandı ifadesinin görüntülenmesini bekleyin.

Azure Cosmos DB erişim anahtarlarını Key Vault'a ekleme

Şimdi Azure Cosmos DB kimlik bilgilerinizi anahtar kasasında gizli dizi olarak depolayın.

  1. Azure Key Vault kaynak sayfasına gitmek için Kaynağa git'i seçin.

  2. Azure Key Vault kaynak sayfasında Gizli Diziler gezinti menüsü seçeneğini belirleyin.

  3. Menüden Oluştur/İçeri Aktar'ı seçin.

    Anahtar kasası menüsündeki Oluştur/İçeri Aktar seçeneğinin ekran görüntüsü.

  4. Gizli dizi oluştur sayfasında aşağıdaki bilgileri girin:

    Ayar Açıklama
    Karşıya yükleme seçenekleri El ile
    Ad cosmos-endpoint
    Gizli dizi değeri Bu öğreticinin önceki bölümlerinde kopyaladığınız URI'yi girin.

    Azure portalında URI gizli dizisinin ayrıntılarını içeren Gizli dizi oluştur iletişim kutusunun ekran görüntüsü.

  5. Yeni cosmos-endpoint gizli dizisini oluşturmak için Oluştur'u seçin.

  6. Menüden Oluştur/İçeri Aktar'ı yeniden seçin. Gizli dizi oluştur sayfasında aşağıdaki bilgileri girin:

    Ayar Açıklama
    Karşıya yükleme seçenekleri El ile
    Ad cosmos-readwrite-key
    Gizli dizi değeri Bu öğreticinin önceki bölümlerinde kopyaladığınız BİRİnCİl ANAHTAR'ı girin.

    Azure portalında BİrİnCİl ANAHTAR gizli dizisinin ayrıntılarını içeren Gizli dizi oluştur iletişim kutusunun ekran görüntüsü.

  7. Yeni cosmos-readwrite-key gizli dizisini oluşturmak için Oluştur'u seçin.

  8. Gizli diziler oluşturulduktan sonra, bunları Gizli Diziler sayfasındaki gizli diziler listesinde görüntüleyin.

    Anahtar kasası için gizli dizi listesinin ekran görüntüsü.

  9. Her anahtarı seçin, en son sürümü seçin ve ardından Gizli Dizi Tanımlayıcısı'nı kopyalayın. Bu öğreticinin devamında cosmos-endpoint ve cosmos-readwrite-key gizli dizileri için tanımlayıcıyı kullanacaksınız.

    İpucu

    Gizli dizi tanımlayıcısı bu biçimde https://<key-vault-name>.vault.azure.net/secrets/<secret-name>/<version-id>olacaktır. Örneğin, anahtar kasasının adı msdocs-key-vault ise anahtarın adı cosmos-readwrite-key ve 83b995e363d947999ac6cf487ae0e12e ise, gizli dizi tanımlayıcısı olacaktırhttps://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/83b995e363d947999ac6cf487ae0e12e.

    cosmos-readwrite-key adlı bir anahtar kasası gizli dizisinin gizli dizi tanımlayıcısının ekran görüntüsü.

Azure Key Vault ile Azure Web Uygulaması oluşturma ve kaydetme

Bu bölümde yeni bir Azure Web Uygulaması oluşturun, örnek bir uygulama dağıtın ve ardından Web Uygulamasının yönetilen kimliğini Azure Key Vault'a kaydedin.

  1. cosmos-db-nosql-dotnet-sample-web-environment-variables şablonunu kullanarak yeni bir GitHub deposu oluşturun.

  2. Azure portalında Kaynak > oluştur Web > Uygulaması'nı seçin.

  3. Web Uygulaması Oluştur sayfasında ve Temel Bilgiler sekmesinde aşağıdaki bilgileri girin:

    Ayar Açıklama
    Abonelik Bu Azure Cosmos hesabı için kullanmak istediğiniz Azure aboneliğini seçin.
    Kaynak grubu Bir kaynak grubu seçin veya Yeni oluştur seçeneğini belirleyin ve yeni kaynak grubu için benzersiz bir ad girin.
    Ad Web uygulamanız için genel olarak benzersiz bir ad girin.
    Yayınla Kod’u seçin.
    Çalışma zamanı yığını .NET 6 (LTS) öğesini seçin.
    İşletim Sistemi Windows’u seçin.
    Bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın.
  4. Kalan ayarları varsayılan değerlerine bırakın.

  5. İleri: Dağıtım'ı seçin.

  6. Dağıtım sekmesinde aşağıdaki bilgileri girin:

    Ayar Açıklama
    Sürekli dağıtım Etkinleştir'i seçin.
    GitHub hesabı Yetkilendir'i seçin. Azure'a yeni oluşturduğunuz GitHub deponuzu okuma izni vermek için GitHub hesabı yetkilendirme istemlerini izleyin.
    Kuruluş Yeni GitHub deponuz için kuruluşu seçin.
    Depo Yeni GitHub deponuzun adını seçin.
    Dal Ana öğesini seçin.
  7. Gözden geçir ve oluştur’u seçin.

  8. Sağladığınız ayarları gözden geçirin ve oluştur'u seçin. Hesabın oluşturulması birkaç dakika sürer. Devam etmeden önce portal sayfasının Dağıtımınız tamamlandı ifadesinin görüntülenmesini bekleyin.

  9. Web uygulamasının başlangıçta web uygulamasına dağıtılması için birkaç dakika daha beklemeniz gerekebilir. Azure Web App kaynak sayfasında Gözat'ı seçerek uygulamanın varsayılan durumunu görün.

    Web uygulamasının kimlik bilgileri olmadan varsayılan durumundaki ekran görüntüsü.

  10. Kimlik gezinti menüsü seçeneğini belirleyin.

  11. Kimlik sayfasında Sistem tarafından atanan yönetilen kimlik için Açık'ı ve ardından Kaydet'i seçin.

    Kimlik sayfasından sistem tarafından atanan yönetilen kimliğin etkinleştirildiğinin ekran görüntüsü.

Azure Key Vault gizli dizilerini Azure Web App uygulaması ayarları olarak ekleme

Son olarak, anahtar kasanızda depolanan gizli dizileri web uygulamasına uygulama ayarları olarak ekleyin. Uygulama ayarları da kimlik bilgilerini düz metinde depolamadan çalışma zamanında uygulamaya ekler.

  1. Azure portalında anahtar kasası sayfasına dönün. Gezinti menüsünden Erişim ilkeleri'ni seçin.

  2. Erişim ilkeleri sayfasında menüden Oluştur'u seçin.

    Erişim ilkeleri menüsündeki Oluştur seçeneğinin ekran görüntüsü.

  3. Erişim ilkesi oluştur sayfasının İzinler sekmesinde Gizli dizi izinleri bölümündeki Al seçeneğini belirleyin. İleri'yi seçin.

    Gizli dizi izinleri için get izninin etkinleştirildiğinin ekran görüntüsü.

  4. Sorumlu sekmesinde, bu öğreticinin önceki bölümlerinde oluşturduğunuz web uygulamasının adını seçin. İleri'yi seçin.

    bir izne atanan web uygulaması yönetilen kimliğinin ekran görüntüsü.

    Not

    Bu örnek ekran görüntüsünde, web uygulaması msdocs-dotnet-web olarak adlandırılmıştır.

  5. Uygulama sekmesini atlamak için yeniden İleri'yi seçin. Gözden Geçir + oluştur sekmesinde, sağladığınız ayarları gözden geçirin ve oluştur'u seçin.

  6. Azure portalında web uygulaması sayfasına dönün. Gezinti menüsünden Yapılandırma'ya tıklayın.

  7. Yapılandırma sayfasında Yeni uygulama ayarı'nı seçin. Uygulama ayarı ekle/düzenle iletişim kutusunda aşağıdaki bilgileri girin:

    Ayar Tanım
    Adı CREDENTIALS__ENDPOINT
    Anahtar Bu öğreticide daha önce oluşturduğunuz anahtar kasanızda cosmos-endpoint gizli dizisinin gizli dizi tanımlayıcısını alın. Tanımlayıcıyı şu biçimde girin: @Microsoft.KeyVault(SecretUri=<secret-identifier>).

    İpucu

    Ortam değişkeninin tek bir alt çizgi yerine çift alt çizgi (__) değerine sahip olduğundan emin olun. Çift alt çizgi, tüm platformlarda .NET tarafından desteklenen bir anahtar sınırlayıcıdır. Daha fazla bilgi için bkz . ortam değişkenleri yapılandırması.

    Not

    Örneğin, gizli dizi tanımlayıcısı ise https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07, başvuru olacaktır @Microsoft.KeyVault(SecretUri=https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07).

    Anahtar kasası gizli dizisine başvuran yeni bir uygulama ayarının bulunduğu Uygulama ayarı ekle/düzenle iletişim kutusunun ekran görüntüsü.

  8. Yeni uygulama ayarını kalıcı hale getirmek için Tamam'ı seçin

  9. Yeni uygulama ayarı'nu yeniden seçin. Uygulama ayarı ekle/düzenle iletişim kutusunda aşağıdaki bilgileri girin ve Tamam'ı seçin:

    Ayar Tanım
    Adı CREDENTIALS__KEY
    Anahtar Bu öğreticinin önceki bölümlerinde oluşturduğunuz anahtar kasanızda cosmos-readwrite-key gizli dizisinin gizli dizi tanımlayıcısını alın. Tanımlayıcıyı şu biçimde girin: @Microsoft.KeyVault(SecretUri=<secret-identifier>).
  10. Yapılandırma sayfasına geri dönüp Kaydet'i seçerek web uygulamasının uygulama ayarlarını güncelleştirin.

    Yapılandırma sayfasının menüsündeki Kaydet seçeneğinin ekran görüntüsü.

  11. Web uygulamasının yeni uygulama ayarlarıyla yeniden başlatılması için birkaç dakika bekleyin. Bu noktada, yeni uygulama ayarları bunların bir Anahtar Kasası Başvurusu olduğunu göstermelidir.

    Web uygulamasındaki iki uygulama ayarında Anahtar kasası Başvurusu atamasının ekran görüntüsü.

  12. Gezinti menüsünden Genel Bakış'ı seçin. Uygulamayı doldurulmuş kimlik bilgileriyle görmek için Gözat'ı seçin.

    NoSQL hesabı kimlik bilgileri için geçerli Azure Cosmos DB ile web uygulamasının ekran görüntüsü.

Sonraki adımlar