Központosított konfiguráció

Jótanács

Ez a tartalom a „Az Azure-hoz készült natív felhőalapú .NET-alkalmazások tervezése” című eBookból egy részlet, amely elérhető a .NET Docs oldalán, vagy ingyenesen letölthető PDF fájlként, amely offline módban is olvasható.

Azure-szolgáltatásban futó Cloud Native .NET-alkalmazások ebook borítójának miniatűrje.

Ellentétben egy monolitikus alkalmazással, amelyben minden egyetlen példányon belül fut, a natív felhőbeli alkalmazások a virtuális gépek, tárolók és földrajzi régiók között elosztott független szolgáltatásokból állnak. Több tucat egymástól függő szolgáltatás konfigurációs beállításainak kezelése kihívást jelenthet. A különböző helyek konfigurációs beállításainak duplikált másolatai hibalehetőséget jelentenek, és nehezen kezelhetők. A központi konfiguráció kritikus követelmény az elosztott natív felhőbeli alkalmazásokhoz.

Az 1. fejezetben leírtak szerint a Twelve-Factor alkalmazásra vonatkozó javaslatok szigorú elkülönítést igényelnek a kód és a konfiguráció között. A konfigurációt az alkalmazáson kívül kell tárolni, és szükség szerint be kell olvasni. A konfigurációs értékek állandóként vagy literálértékként való tárolása a kódban szabálysértés. Ugyanazokat a konfigurációs értékeket gyakran használják ugyanazon alkalmazás számos szolgáltatása. Emellett azonos értékeket kell támogatnunk több különböző környezetben, például fejlesztési, tesztelési és éles környezetben. Az ajánlott eljárás az, hogy egy központi konfigurációs tárolóban tárolja őket.

Az Azure-felhő számos nagyszerű lehetőséget kínál.

Azure alkalmazáskonfiguráció

Az Azure App Configuration egy teljes mértékben felügyelt Azure-szolgáltatás, amely biztonságos, központosított helyen tárolja a nem titkos konfigurációs beállításokat. A tárolt értékek több szolgáltatás és alkalmazás között is megoszthatóak.

A szolgáltatás egyszerűen használható, és számos előnnyel jár:

  • Rugalmas kulcs-/értékábrázolások és -leképezések
  • Címkézés Azure-címkékkel
  • Dedikált felhasználói felület a felügyelethez
  • Bizalmas adatok titkosítása
  • Lekérdezés és tömeges lekérdezés

Az Azure App Configuration hét napig tartja karban a kulcs-érték beállítások módosításait. Az időponthoz kötött pillanatkép funkció lehetővé teszi egy beállítás előzményeinek rekonstruálását, és akár a sikertelen üzembe helyezés visszaállítását is.

Az alkalmazáskonfiguráció automatikusan gyorsítótárazza az egyes beállításokat, hogy elkerülje a konfigurációs tárba irányuló túlzott hívásokat. A frissítési művelet megvárja, amíg egy beállítás gyorsítótárazott értéke lejár a beállítás frissítéséhez, még akkor is, ha annak értéke megváltozik a konfigurációs tárolóban. A gyorsítótár alapértelmezett lejárati ideje 30 másodperc. Felülbírálhatja a lejárati időt.

Az alkalmazáskonfiguráció titkosítja az összes konfigurációs értéket az átvitelben és az inaktív állapotban. A rendszer a kulcsneveket és a címkéket indexként használja a konfigurációs adatok lekéréséhez, és nem titkosítja őket.

Bár az alkalmazáskonfiguráció edzett biztonságot nyújt, az Azure Key Vault továbbra is a legjobb hely az alkalmazás titkos kulcsainak tárolására. A Key Vault hardverszintű titkosítást, részletes hozzáférési szabályzatokat és felügyeleti műveleteket, például tanúsítványváltást biztosít. Olyan alkalmazáskonfigurációs értékeket hozhat létre, amelyek a Key Vaultban tárolt titkos kulcsra hivatkoznak.

Azure Key Vault

A Key Vault egy felügyelt szolgáltatás a titkos kódok biztonságos tárolására és elérésére. A titkos kód minden olyan dolog, amelyhez szigorúan szabályozni szeretné a hozzáférést, például API-kulcsokat, jelszavakat vagy tanúsítványokat. A tároló a titkos kódok logikai csoportja.

A Key Vault nagymértékben csökkenti a veszélyét annak, hogy a titkos kulcsok véletlenül kiszivárogjanak. A Key Vault használatakor az alkalmazásfejlesztőknek már nem kell biztonsági információkat tárolniuk az alkalmazásukban. Ez a gyakorlat szükségtelenné teszi, hogy ezeket az információkat a kódban tárolja. Előfordulhat például, hogy egy alkalmazásnak csatlakoznia kell egy adatbázishoz. A kapcsolati sztring az alkalmazás kódjában való tárolása helyett biztonságosan tárolhatja a Key Vaultban.

Az alkalmazások URI-k használatával biztonságosan hozzáférhetnek a szükséges információkhoz. Ezek az URI-k lehetővé teszik, hogy az alkalmazások lekérjenek egy titkos kód bizonyos verzióit. A Key Vaultban tárolt titkos adatok védelméhez nincs szükség egyéni kód írására.

A Key Vaulthoz való hozzáféréshez megfelelő hívó hitelesítésre és engedélyezésre van szükség. Általában minden natív felhőbeli mikroszolgáltatás egy ClientId/ClientSecret kombinációt használ. Fontos, hogy ezeket a hitelesítő adatokat ne a forráskontrollon kívül tartsa. Ajánlott az alkalmazás környezetében beállítani őket. A Key Vaulthoz való közvetlen hozzáférés az AKS-ből a Key Vault FlexVolume használatával érhető el.

Konfiguráció az eShopban

Az eShopOnContainers alkalmazás helyi alkalmazásbeállítási fájlokat tartalmaz az egyes mikroszolgáltatásokhoz. Ezek a fájlok ellenőrizve lettek és feltöltve a forrásvezérlőbe, de nem tartalmaznak gyártási titkokat, például kapcsolati láncokat vagy API-kulcsokat. Gyártás során az egyes beállítások felülírhatók szolgáltatásonként környezeti változókkal. A titkos kulcsok környezeti változókba való injektálása gyakori eljárás az üzemeltetett alkalmazások esetében, de nem biztosít központi konfigurációs tárolót. A konfigurációs beállítások központosított felügyeletének támogatása érdekében minden mikroszolgáltatás tartalmaz egy beállítást, amely a helyi beállítások vagy az Azure Key Vault beállításai között vált.

Hivatkozások