Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Tento obsah je výňatek z elektronické knihy Architektura cloud-native .NET aplikací pro Azure, která je k dispozici na .NET Docs nebo jako bezplatné PDF ke stažení, které si můžete přečíst offline.
Na rozdíl od monolitické aplikace, ve které se všechno spouští v rámci jedné instance, se aplikace nativní pro cloud skládá z nezávislých služeb distribuovaných napříč virtuálními počítači, kontejnery a geografickými oblastmi. Správa nastavení konfigurace pro desítky vzájemně závislých služeb může být náročná. Duplicitní kopie nastavení konfigurace v různých umístěních jsou náchylné k chybám a obtížně se spravují. Centralizovaná konfigurace je kritickým požadavkem pro distribuované aplikace nativní pro cloud.
Jak je popsáno v kapitole 1, doporučení aplikace Twelve-Factor vyžadují striktní oddělení mezi kódem a konfigurací. Konfigurace musí být uložena externě mimo aplikaci a načítána podle potřeby. Ukládání hodnot konfigurace jako konstant nebo hodnot literálů v kódu je porušením. Stejné konfigurační hodnoty často používají mnoho služeb ve stejné aplikaci. Kromě toho musíme podporovat stejné hodnoty v různých prostředích, jako jsou vývoj, testování a produkční prostředí. Osvědčeným postupem je jejich uložení do centralizovaného úložiště konfigurací.
Cloud Azure nabízí několik skvělých možností.
Konfigurace aplikace Azure
Azure App Configuration je plně spravovaná služba Azure, která ukládá nastavení konfigurace bez tajného klíče do zabezpečeného centralizovaného umístění. Uložené hodnoty je možné sdílet mezi několika službami a aplikacemi.
Služba je jednoduchá a poskytuje několik výhod:
- Flexibilní reprezentace klíčů a hodnot a jejich mapování
- Označování pomocí štítků Azure
- Vyhrazené uživatelské rozhraní pro správu
- Šifrování citlivých informací
- Dotazování a dávkové načítání
Azure App Configuration uchovává změny nastavení klíčů a hodnot po dobu sedmi dnů. Funkce snímku stavu umožňuje rekonstruovat historii nastavení a dokonce provést návrat zpět v případě neúspěšného nasazení.
App Configuration automaticky ukládá každé nastavení do mezipaměti, aby nedocházelo k nadměrným voláním do úložiště konfigurace. Operace aktualizace čeká, dokud nevyprší platnost hodnoty nastavení uložené v mezipaměti, aby se toto nastavení aktualizovalo, i když se jeho hodnota změní v úložišti konfigurace. Výchozí doba vypršení platnosti mezipaměti je 30 sekund. Čas vypršení platnosti můžete přepsat.
App Configuration šifruje všechny konfigurační hodnoty během přenosu a v klidovém stavu. Názvy klíčů a popisky se používají jako indexy pro načítání konfiguračních dat a nejsou šifrované.
I když Služba App Configuration poskytuje posílené zabezpečení, azure Key Vault je stále nejlepším místem pro ukládání tajných kódů aplikací. Key Vault poskytuje šifrování na úrovni hardwaru, podrobné zásady přístupu a operace správy, jako je obměny certifikátů. Můžete vytvořit hodnoty konfigurace aplikace, které odkazují na tajné kódy uložené ve službě Key Vault.
Azure Key Vault
Key Vault je spravovaná služba pro bezpečné ukládání tajných kódů a přístup k nim. Tajný kód je vše, co chcete pevně řídit přístup, jako jsou klíče rozhraní API, hesla nebo certifikáty. Trezor je logická skupina tajných kódů.
Key Vault výrazně snižuje riziko nechtěného úniku tajných klíčů. Při používání služby Key Vault už vývojáři aplikací nemusí ukládat informace o zabezpečení ve své aplikaci. Tento postup eliminuje potřebu ukládat tyto informace do kódu. Aplikace se může například muset připojit k databázi. Místo uložení připojovací řetězec do kódu aplikace ji můžete bezpečně uložit ve službě Key Vault.
Vaše aplikace můžou bezpečně přistupovat k potřebným informacím pomocí identifikátorů URI. Tyto identifikátory URI umožňují aplikacím načíst konkrétní verze tajného kódu. Není nutné psát vlastní kód pro ochranu jakýchkoli tajných informací uložených ve službě Key Vault.
Přístup ke službě Key Vault vyžaduje správné ověřování a autorizaci volajícího. Každá mikroslužba nativní pro cloud obvykle používá kombinaci ClientId/ClientSecret. Tyto přihlašovací údaje je důležité uchovávat mimo správu zdrojového kódu. Osvědčeným postupem je nastavit je v prostředí aplikace. Přímého přístupu ke službě Key Vault z AKS lze dosáhnout pomocí Key Vault FlexVolume.
Konfigurace v eShopu
Aplikace eShopOnContainers obsahuje soubory nastavení místní aplikace s každou mikroslužbou. Tyto soubory jsou vráceny do správy zdrojového kódu, ale nezahrnují produkční tajné kódy, jako jsou připojovací řetězce nebo klíče rozhraní API. V produkčním prostředí mohou být jednotlivá nastavení přepsána proměnnými prostředí specifickými pro službu. Vkládání tajných kódů do proměnných prostředí je běžný postup pro hostované aplikace, ale neposkytuje centrální úložiště konfigurace. Aby bylo možné podporovat centralizovanou správu nastavení konfigurace, každá mikroslužba obsahuje nastavení pro přepínání mezi místním nastavením nebo nastavením služby Azure Key Vault.
Odkazy
- Architektura eShopOnContainers
- Orchestrace mikroslužeb a vícekontejnerových aplikací pro vysokou škálovatelnost a dostupnost
- Azure API Management
- Přehled služby Azure SQL Database
- Azure Cache for Redis
- Rozhraní API služby Azure Cosmos DB pro MongoDB
- Azure Service Bus
- Přehled služby Azure Monitor
- eShopOnContainers: Vytvoření clusteru Kubernetes v AKS
- eShopOnContainers: Azure Dev Spaces
- Azure Dev Spaces