Sdílet prostřednictvím


Doporučení pro ochranu tajných klíčů aplikace

Vztahuje se na toto doporučení Power Platform Dobře uspořádaného kontrolního seznamu zabezpečení:

SE:07 Chraňte tajné klíče aplikací posílením jejich úložiště a omezením přístupu a manipulace a auditováním těchto akcí. Spusťte spolehlivý a pravidelný proces rotace, který může improvizovat rotace v případě nouze.

Tato příručka popisuje doporučení pro zabezpečení citlivých informací v úlohách. Správná správa tajných klíčů je zásadní pro zachování bezpečnosti a integrity vaší aplikace, úlohy a souvisejících dat. Nesprávné zacházení s tajnými klíči může vést k narušení dat, narušení služeb, porušení předpisů a dalším problémům.

Pověření, jako jsou klíče API, tokeny otevřené autorizace (OAuth) a klíče Secure Shell (SSH), jsou tajné. Požadavky na dodržování předpisů mohou způsobit, že nastavení konfigurace, která se obvykle nepovažují za tajný klíč, budou považována za tajné klíče aplikace.

Definice

Pojem definice
Certifikáty Digitální soubory, které obsahují veřejné klíče pro šifrování nebo dešifrování.
Credentials Informace, které se používají k ověření identity vydavatele nebo spotřebitele v komunikačním kanálu.
Skenování tajného klíče Proces ověřování zdrojového kódu, aby se zajistilo, že nejsou zahrnuty tajné klíče.
Šifrování Proces, při kterém jsou data nečitelná a uzamčena tajným kódem.
Key Tajný kód, který se používá k zamykání nebo odemykání šifrovaných dat.
Přístup s nejnižší možnou úrovní oprávnění Princip nulové důvěry, jehož cílem je minimalizovat sadu oprávnění k provedení funkce úlohy.
Spravovaná identita Identita, která je přiřazena k prostředkům a spravována Azure.
Netajné informace Informace, které v případě úniku neohrozí bezpečnostní pozici úlohy.
Rotace Proces pravidelné aktualizace tajných klíčů, takže pokud jsou prozrazena, jsou k dispozici pouze po omezenou dobu.
Tajný Důvěrná součást systému, která usnadňuje komunikaci mezi součástmi úlohy. Pokud dojde k úniku, tajné klíče mohou způsobit porušení.
X.509 Standard, který definuje formát certifikátů veřejného klíče.

Důležité

Nezacházejte s netajnými informacemi jako s tajnými klíči. Tajné klíče vyžaduje provozní přísnost, která je pro netajné věci zbytečná a která může mít za následek dodatečné náklady.

Nastavení aplikace, která nejsou tajná, jako jsou adresy URL rozhraní API, která aplikace potřebuje, by měla být uchovávána odděleně od kódu aplikace nebo tajných klíčů aplikace. K ukládání konfigurace aplikace zvažte použití vlastního konektoru nebo proměnných prostředí. Další možností je použít tabulku Dataverse pro uložení metadat o konfiguraci aplikace. Budete však muset najít způsob, jak tato data vyplnit v novém prostředí, jako je přenos konfiguračních dat z vývoje do testování nebo produkce. K tomu můžete použít datové toky.

Klíčové strategie návrhu

Před uložením a správou tajných klíčů zvažte následující oblasti zájmu:

  • Vytvořené tajné klíče by měly být uchovávány v bezpečném úložišti s přísnou kontrolou přístupu.
  • Rotace tajných klíčů je proaktivní operace, zatímco odvolávání je reaktivní.
  • Přístup k tajným klíčům by měly mít pouze důvěryhodné identity.
  • Měli byste udržovat auditní záznam, abyste mohli kontrolovat a ověřovat přístup k tajným klíčům.

Vytvořte strategii kolem těchto bodů, která pomůže zabránit krádeži identity, vyhnout se odmítnutí a minimalizovat zbytečné vystavení informacím.

Bezpečné postupy pro správu tajných klíčů

Doporučujeme, aby klíče měly tři různé role: uživatel, správce a auditor. Rozlišení rolí pomáhá zajistit, aby k tajným informacím měly přístup pouze důvěryhodné identity s příslušnou úrovní oprávnění. Poučte vývojáře, správce a další relevantní pracovníky o důležitosti osvědčených postupů pro správu tajných klíčů a zabezpečení.

Předsdílené klíče

Přístup můžete řídit vytvořením samostatných klíčů pro každého spotřebitele. Klient, jako je aplikace nebo tok, například komunikuje s rozhraním API třetí strany pomocí předem sdíleného klíče. Pokud jiný klient potřebuje přístup ke stejnému rozhraní API, musí použít jiný klíč. Nesdílejte klíče, i když mají dva spotřebitelé stejné přístupové vzorce nebo role. Rozsahy spotřebitelů se mohou v průběhu času měnit a po sdílení klíče nemůžete nezávisle aktualizovat oprávnění ani rozlišovat vzorce použití. Odlišný přístup také usnadňuje odvolání. Pokud je klíč spotřebitele prozrazen, je snazší tento klíč odvolat nebo rotovat, aniž by to ovlivnilo ostatní spotřebitele.

Tyto pokyny platí pro různá prostředí. Stejný klíč by se neměl používat pro předprodukční i produkční prostředí. Pokud jste odpovědní za vytváření předsdílených klíčů, ujistěte se, že vytváříte více klíčů pro podporu více klientů.

Další informace najdete v tématu Doporučení pro správu identity a přístupu.

Úložiště tajných klíčů

Použijte systém správy tajných klíčů, jako je Azure Key Vault, k ukládání tajných klíčů ve zpevněném prostředí, šifrování v klidu a při přenosu a auditování přístupu a změn tajných klíčů. Pokud potřebujete uložit tajné klíče aplikace, uchovávejte je mimo zdrojový kód, abyste je mohli snadno střídat.

Vyhrazený systém správy tajných klíčů usnadňuje ukládání, distribuci a řízení přístupu k tajným klíčům aplikace. Do úložišť tajných klíčů by měly mít přístup pouze autorizované identity a služby. Přístup do systému lze omezit pomocí oprávnění. Při přidělování oprávnění vždy použijte přístup s nejnižšími oprávněními.

Musíte také ovládat přístup na úrovni tajného klíče. Každý tajný klíč by měl mít přístup pouze k jednomu oboru zdrojů. Vytvořte hranice izolace, aby komponenta mohla používat pouze ty tajné klíče, která potřebuje. Pokud je ohrožena izolovaná komponenta, nemůže získat kontrolu nad dalšími tajnými klíči a potenciálně nad celou úlohou. Jedním ze způsobů, jak izolovat tajné klíče, je použití více trezorů klíčů. Neexistují žádné další náklady na vytváření dalších trezorů klíčů.

Implementujte auditování a monitorování pro přístup k tajným klíčům. Zaznamenejte, kdo přistupuje k tajným klíčům a kdy je identifikována neoprávněná nebo podezřelá aktivita. Informace o protokolování z hlediska zabezpečení naleznete v části Doporučení pro monitorování a detekci hrozeb.

Rotace tajných klíčů

Mějte zavedený proces, který udržuje hygienu tajných klíčů. Životnost tajného klíče ovlivňuje jeho řízení. Chcete-li snížit vektory útoku, tajné klíče je třeba rušit a nahrazovat novými tak často, jak je to možné.

S OAuth přístupovými tokeny zacházejte opatrně a vezměte v úvahu jejich dobu života. Zvažte, zda není nutné upravit expoziční okno na kratší dobu. Obnovovací tokeny musí být bezpečně uloženy s omezeným přístupem k aplikaci. Obnovené certifikáty by také měly používat nový klíč. Informace o obnovovacích tokenech najdete v části Secure OAuth 2.0 On-Behalf-Of obnovovací tokeny.

Nahraďte tajné klíče poté, co dosáhnou konce své životnosti, nebudou již využívána úlohou nebo pokud jsou prozrazena. Naopak aktivní tajné klíče nerušte, pokud nejde o nouzovou situaci. Stav tajného klíče můžete určit zobrazením protokolů přístupu. Procesy rotace tajných klíčů by neměly mít vliv na spolehlivost nebo výkon úlohy. Používejte strategie, které vytvářejí redundanci v tajných klíčích, spotřebitelích a metodách přístupu pro plynulou rotaci.

Bezpečné postupy pro používání tajných klíčů

Jako generátor nebo operátor tajných klíčů byste měli být schopni distribuovat tajné klíče bezpečným způsobem. Mnoho organizací používá nástroje k bezpečnému sdílení tajných klíčů jak v rámci organizace, tak externě s partnery. V případě neexistence nástroje zajistěte postup pro řádné předání přihlašovacích údajů oprávněným příjemcům. Vaše plány zotavení po havárii by měly zahrnovat postupy obnovy tajných klíčů. Mějte postup pro situace, kdy je klíč kompromitován nebo prozrazen a je třeba ho na požádání obnovit. Při používání tajných klíčů zvažte následující doporučené postupy pro bezpečnost:

Nezapisujte přímo do kódu

Nezadávejte tajné kódy jako statický text v artefaktech kódu, jako jsou cloudové toky a aplikace plátna, konfigurační soubory a kanály pro nasazení. Tato vysoce riziková praxe činí kód zranitelným, protože tajné klíče jsou vystavena každému, kdo má přístup ke čtení.

Používejte nástroje, které pravidelně zjišťují odhalená tajemství v kódu vaší aplikace a sestavujte artefakty. Tyto nástroje můžete přidat jako součást svých kanálů nasazení a vyhledat přihlašovací údaje před nasazením zdrojového kódu. Pravidelně kontrolujte a čistěte protokoly aplikací, abyste zajistili, že nebudou neúmyslně zaznamenány žádné tajné klíče. Detekci můžete také posílit prostřednictvím hodnocení partnery.

Poznámka:

Pokud skenovací nástroje objeví tajný klíč, musí být tento tajný klíč považován za prolomený. Je třeba ho zrušit.

Reagujte na rotaci tajných klíčů

Jako vlastník úlohy musíte rozumět plánu a zásadám rotace tajných klíčů, abyste mohli začlenit nové tajné klíče s minimálním narušením uživatelů. Když tajný klíč rotuje, může nastat určitá doba, kdy starý tajný klíč není platný, ale nový tajný klíč ještě nebyl umístěn. Během této doby komponenta, ke které se úloha pokouší dostat, nepotvrzuje požadavky. Tyto problémy můžete minimalizovat začleněním logiky opakování do kódu. Můžete také použít vzory souběžného přístupu, které vám umožní mít více přihlašovacích údajů, které lze bezpečně změnit, aniž by se navzájem ovlivňovaly.

Spolupracujte s provozním týmem a buďte součástí procesu řízení změn. Měli byste informovat vlastníky přihlašovacích údajů, když vyřadíte z provozu část úlohy, která používá přihlašovací údaje, které již nejsou potřeba.

Integrujte načítání a konfiguraci tajných klíčů do svého automatizovaného kanálu nasazení. Načítání tajných klíčů pomáhá zajistit, aby se tajné klíče automaticky načítaly během nasazení. Můžete také použít vzory vkládání tajných klíčů k vkládání tajných klíčů do kódu aplikace nebo konfigurace za běhu, což zabraňuje náhodnému vystavení tajných klíčů protokolům nebo řízení verzí.

Usnadnění díky Power Platform

Následující části popisují funkce a možnosti Power Platform, které můžete použít ke správě tajných klíčů aplikace.

Použití tajných kódů Azure Key Vault

Proměnné prostředí umožňují odkazování na tajné kódy uložené v Azure Key Vault. Tyto tajné kódy jsou pak zpřístupněny pro použití v tocích Power Automate a vlastních konektorech. Tajné klíče nejsou k dispozici pro použití v jiných přizpůsobeních nebo obecně prostřednictvím rozhraní API.

Skutečné tajné kódy jsou uloženy pouze v Azure Key Vault a proměnná prostředí na tajné kódy odkazuje na umístění tajného kódu v trezoru klíčů. Použití tajných kódů Azure Key Vault s proměnnými prostředí vyžaduje, abyste nakonfigurovali Azure Key Vault, aby Power Platform mohla číst konkrétní tajné kódy, na které chcete odkazovat. Další informace naleznete v článcích Použití proměnných prostředí v řešeních a Použití proměnných prostředí ve vlastních konektorech řešení.

Používání kontroly řešení

Pomocí funkce kontroly řešení můžete provést bohatou kontrolu statické analýzy vašich řešení proti souboru pravidel osvědčených postupů a rychle identifikovat tyto problematické vzorce. Po dokončení kontroly obdržíte podrobnou sestavu, která obsahuje seznam zjištěných problémů, ovlivněných komponent a kódů a odkazy na dokumentaci, která popisuje, jak vyřešit každý problém. Zkontrolujte dostupná pravidla kontroly řešení v kategorii Zabezpečení. Další informace viz téma Použití kontroly řešení k ověření vašich řešení.

Používání akcí CyberArk

CyberArk nabízí platformu zabezpečení identity, která zajišťuje identitu člověka a stroje od začátku do konce. Desktopové toky Power Automate vám umožňují získat přihlašovací údaje z CyberArk. Další informace naleznete v tématu Akce CyberArk.

Kontrolní seznam zabezpečení

Podívejte se na úplný soubor doporučení.