Öğ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
- Mevcut bir NoSQL için Azure Cosmos DB hesabı.
- Azure aboneliğiniz varsa yeni bir hesap oluşturun.
- Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Alternatif olarak, işlemeden önce Azure Cosmos DB'yi ücretsiz deneyebilirsiniz.
- GitHub hesabı.
Başlamadan önce: Azure Cosmos DB kimlik bilgilerini alma
Başlamadan önce mevcut hesabınızın kimlik bilgilerini alırsınız.
Mevcut NoSQL için Azure Cosmos DB hesabının Azure portalı sayfasına gidin.
NoSQL için Azure Cosmos DB hesabı sayfasında Anahtarlar gezinti menüsü seçeneğini belirleyin.
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 Key Vault kaynağı oluşturma
İlk olarak, NoSQL kimlik bilgileri için API'nizi depolamak üzere yeni bir anahtar kasası oluşturun.
Azure Portal’ında oturum açın.
Kaynak > oluştur Güvenlik > Anahtarı Kasası'na tıklayın.
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. Kalan ayarları varsayılan değerlerine bırakın.
Gözden geçir ve oluştur’u seçin.
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.
Azure Key Vault kaynak sayfasına gitmek için Kaynağa git'i seçin.
Azure Key Vault kaynak sayfasında Gizli Diziler gezinti menüsü seçeneğini belirleyin.
Menüden Oluştur/İçeri Aktar'ı 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-endpoint Gizli dizi değeri Bu öğreticinin önceki bölümlerinde kopyaladığınız URI'yi girin. Yeni cosmos-endpoint gizli dizisini oluşturmak için Oluştur'u seçin.
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. Yeni cosmos-readwrite-key gizli dizisini oluşturmak için Oluştur'u seçin.
Gizli diziler oluşturulduktan sonra, bunları Gizli Diziler sayfasındaki gizli diziler listesinde görüntüleyin.
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
.
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.
cosmos-db-nosql-dotnet-sample-web-environment-variables şablonunu kullanarak yeni bir GitHub deposu oluşturun.
Azure portalında Kaynak > oluştur Web > Uygulaması'nı seçin.
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. Kalan ayarları varsayılan değerlerine bırakın.
İleri: Dağıtım'ı seçin.
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. Gözden geçir ve oluştur’u seçin.
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.
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.
Kimlik gezinti menüsü seçeneğini belirleyin.
Kimlik sayfasında Sistem tarafından atanan yönetilen kimlik için Açık'ı ve ardından Kaydet'i seçin.
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.
Azure portalında anahtar kasası sayfasına dönün. Gezinti menüsünden Erişim ilkeleri'ni seçin.
Erişim ilkeleri sayfasında menüden Oluştur'u seçin.
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.
Sorumlu sekmesinde, bu öğreticinin önceki bölümlerinde oluşturduğunuz web uygulamasının adını seçin. İleri'yi seçin.
Not
Bu örnek ekran görüntüsünde, web uygulaması msdocs-dotnet-web olarak adlandırılmıştır.
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.
Azure portalında web uygulaması sayfasına dönün. Gezinti menüsünden Yapılandırma'ya tıklayın.
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)
.Yeni uygulama ayarını kalıcı hale getirmek için Tamam'ı seçin
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>)
.Yapılandırma sayfasına geri dönüp Kaydet'i seçerek web uygulamasının uygulama ayarlarını güncelleştirin.
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.
Gezinti menüsünden Genel Bakış'ı seçin. Uygulamayı doldurulmuş kimlik bilgileriyle görmek için Gözat'ı seçin.
Sonraki adımlar
- Azure Cosmos DB için güvenlik duvarı yapılandırmak için güvenlik duvarı destek makalesine bakın.
- Sanal ağ hizmet uç noktasını yapılandırmak için sanal ağ hizmet uç noktasını kullanarak güvenli erişim makalesine bakın.