Service Fabric yönetilen bir kümeye uygulama gizli dizilerini dağıtma
Gizlilikler, depolama bağlantı dizeleri, parolalar veya düz metin olarak işlenmemelidir diğer değerler gibi herhangi bir hassas bilgi olabilir. Service Fabric yönetilen kümeler için anahtar ve gizli dizileri yönetmek üzere Azure Key Vault kullanmanızı ve bu makale için bu makalenin yararlanmasını öneririz. Ancak, bir uygulamadaki gizli dizileri kullanmak , uygulamaların herhangi bir yerde barındırılan bir kümeye dağıtılmasına olanak tanımak için bulut platformudur.
Hizmet yapılandırma ayarlarını yönetmenin önerilen yolu, hizmet yapılandırma paketleriaracılığıyla yapılır. Yapılandırma paketleri, sistem durumu doğrulama ve otomatik geri alma ile yönetilen sıralı yükseltmeler aracılığıyla sürümlenmiş ve güncelleştirilebilir. Bu, küresel hizmet kesintisi olasılığını azalttığı için genel yapılandırma için tercih edilir. Şifrelenmiş gizli diziler özel durum değildir. Service Fabric, sertifika şifrelemesini kullanarak bir yapılandırma paketindeki Settings.xml bir dosyadaki değerleri şifrelemek ve şifrelerini çözmek için yerleşik özelliklere sahiptir.
aşağıdaki diyagramda Service Fabric uygulamasındaki gizli yönetim için temel akış gösterilmektedir:

Bu akışta dört ana adım vardır:
- Veri şifreleme sertifikası alın.
- Sertifikayı kümenize yükler.
- Bir uygulamayı sertifikayla dağıtmakta ve bir hizmetin Settings.xml yapılandırma dosyasına eklerken gizli değerleri şifreleyin.
- Aynı şifreleme sertifikasıyla şifre çözme yoluyla Settings.xml şifrelenmiş değerleri okuyun.
Azure Key Vault , sertifikalar için güvenli bir depolama konumu olarak ve Azure 'daki Service Fabric yönetilen küme düğümlerinde yüklü sertifikaları almanın bir yolu olarak kullanılır.
Uygulamaların gizli dizilerini nasıl uygulayacağınızı gösteren bir örnek için bkz. uygulama gizli dizilerini yönetme.
Alternatif olarak, Keyvaultreferencede destekliyoruz. Service Fabric KeyVaultReference desteği, Key Vault uygulamanızda saklanan gizli dizinin URL 'sine başvurarak gizli dizileri uygulamalarınıza dağıtmayı kolaylaştırır.
Veri şifreleme sertifikası oluşturma
Kendi anahtar kasanızı oluşturmak ve sertifikaları kurmak için Azure CLI, PowerShell, Portal ve daha fazlasınıkullanarak Azure Key Vault yönergelerini izleyin.
Not
İşlem kaynak sağlayıcısının sertifika almasını ve küme düğümlerine yüklemesini sağlamak için, Anahtar Kasası 'nın şablon dağıtımı için etkinleştirilmesi gerekir.
Sertifikayı kümenize yükler
bu sertifikanın kümedeki her düğüme yüklenmesi ve Service Fabric yönetilen kümelerin bu kadar kolay olmasına yardımcı olması gerekir. Yönetilen küme hizmeti, düğümlere özel bir kök CA yükleme gibi sık değişmeyecek gizli dizileri yüklemeye yardımcı olması için sürüme özgü gizli dizileri düğümlere gönderebilir. Çoğu üretim iş yükleri için Anahtar Kasası uzantısınıkullanmayı öneririz. Key Vault VM uzantısı, bir Azure Anahtar Kasası 'nda depolanan sertifikaların otomatik olarak yenilenmesini sağlar ve statik bir sürümdür.
Yönetilen kümeler için, Azure Key Vault iki değerden ve düğümlerde yerel mağaza adı için karar vereceğiniz üç değere sahip olmanız gerekir.
Parametreler:
Source Vault: Bu,- ör.:/subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1
Certificate URL: Bu tam nesne tanımlayıcısıdır ve büyük/küçük harfe duyarsız ve sabittirCertificate Store: Bu, sertifikanın yerleştirileceği düğümlerde yerel sertifika deposudur- düğümlerdeki sertifika depolama adı, örneğin: "MY"
Service Fabric yönetilen kümeler, düğümlere sürüme özgü gizlilikler eklemek için iki yöntemi destekler.
- İlk küme oluşturma sırasında Portal yalnızca yukarıdaki ' dan bu alana değer ekler:

- Oluşturma veya her zaman Azure Resource Manager
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"properties": {
"vmSecrets": [
{
"sourceVault": {
"id": "/subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1"
},
"vaultCertificates": [
{
"certificateStore": "MY",
"certificateUrl": "https://mykeyvault1.vault.azure.net/certificates/{certificatename}/{secret-version}"
}
]
}
]
}
}