Alkalmazáskulcsok üzembe helyezése felügyelt Service Fabric-fürtön
A titkos kulcsok lehetnek bizalmas információk, például tárolási kapcsolati sztring, jelszavak vagy más értékek, amelyeket nem szabad egyszerű szövegben kezelni. Javasoljuk, hogy az Azure Key Vault használatával kezelje a Service Fabric által felügyelt fürtök kulcsait és titkos kulcsait, és használja ezt a cikket. A titkos kódok alkalmazásbeli használata azonban felhőalapú platformfüggetlen, így lehetővé teszi az alkalmazások üzembe helyezését egy bárhol üzemeltetett fürtön.
A szolgáltatáskonfigurációs beállítások kezelésének ajánlott módja a szolgáltatáskonfigurációs csomagokon keresztül történik. A konfigurációs csomagok verziószámozottak és frissíthetők felügyelt gördülő frissítésekkel, állapot-ellenőrzéssel és automatikus visszaállítással. Ez előnyben részesíti a globális konfigurációt, mivel csökkenti a globális szolgáltatáskimaradás esélyét. A titkosított titkos kódok nem kivételek. A Service Fabric beépített funkciókkal rendelkezik egy konfigurációs csomag értékeinek titkosításához és visszafejtéséhez Gépház.xml fájlban tanúsítványtitkosítással.
Az alábbi ábra egy Service Fabric-alkalmazás titkos kulcskezelésének alapfolyamatát mutatja be:
A folyamat négy fő lépésből áll:
- Szerezze be az adatfelfedési tanúsítványt.
- Telepítse a tanúsítványt a fürtben.
- Titkos kódértékek titkosítása egy alkalmazás tanúsítványsal való üzembe helyezésekor, majd a szolgáltatás Gépház.xml konfigurációs fájljába való injektálásakor.
- A titkosított értékeket az Gépház.xml kiolvashatja ugyanazzal a titkosítási tanúsítvánnyal való visszafejtéssel.
Az Azure Key Vault a tanúsítványok biztonságos tárolási helyeként és a tanúsítványok Azure-beli Service Fabric által felügyelt fürtcsomópontjaira való telepítésének módjaként szolgál.
Az alkalmazás titkos kulcsainak implementálására vonatkozó példát az alkalmazás titkos kulcsainak kezelése című témakörben talál.
Másik lehetőségként a KeyVaultReference-t is támogatjuk. A Service Fabric KeyVaultReference támogatása egyszerűvé teszi a titkos kulcsok alkalmazásokba való üzembe helyezését egyszerűen a Key Vaultban tárolt titkos kulcs URL-címére való hivatkozással
Adatfelfedési tanúsítvány létrehozása
Saját kulcstartó létrehozásához és a tanúsítványok beállításához kövesse az Azure Key Vault utasításait az Azure CLI, a PowerShell, a Portál és egyebek használatával.
Feljegyzés
A kulcstartót engedélyezni kell a sablon üzembe helyezéséhez , hogy a számítási erőforrás-szolgáltató tanúsítványokat kapjon tőle, és a fürtcsomópontokra telepítse.
A tanúsítvány telepítése a fürtben
Ezt a tanúsítványt telepíteni kell a fürt minden csomópontjára, és a Service Fabric által felügyelt fürtök megkönnyítik ezt. A felügyelt fürtszolgáltatás a verzióspecifikus titkos kulcsokat leküldheti a csomópontokra, így olyan titkos kulcsokat telepíthet, amelyek gyakran nem változnak, például privát legfelső szintű hitelesítésszolgáltatót telepít a csomópontokra. A legtöbb éles számítási feladat esetében a KeyVault bővítmény használatát javasoljuk. A Key Vault virtuálisgép-bővítmény az Azure Key Vaultban tárolt tanúsítványok automatikus frissítését biztosítja a statikus verzióval szemben.
Felügyelt fürtök esetén három értékre lesz szüksége, kettőre az Azure Key Vaultból, egyet pedig a csomópontok helyi tárolójának nevére.
Paraméterek:
Source Vault
: Ez a- Például: /subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1
Certificate URL
: Ez a Key Vault titkos kulcsazonosítója, amely nem érzéketlen és nem módosíthatóCertificate Store
: Ez a helyi tanúsítványtároló azon csomópontokon, ahol a tanúsítvány lesz elhelyezve- tanúsítványtároló neve a csomópontokon, például: "MY"
A Service Fabric által felügyelt fürtök két módszert támogatnak a verzióspecifikus titkos kódok csomópontokhoz való hozzáadásához.
- A portál a kezdeti fürtlétrehozás során csak felülről ide szúrja be az értékeket:
- Azure Resource Manager létrehozáskor vagy bármikor
{
"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}"
}
]
}
]
}
}