Zabezpečení služby Azure Key Vault
Azure Key Vault chrání kryptografické klíče, certifikáty (a privátní klíče přidružené k certifikátům) a tajné kódy (například připojovací řetězec a hesla) v cloudu. Při ukládání citlivých a důležitých obchodních dat ale musíte podniknout kroky k maximalizaci zabezpečení trezorů a dat uložených v nich.
Tento článek obsahuje přehled funkcí zabezpečení a osvědčených postupů pro Azure Key Vault.
Poznámka:
Úplný seznam doporučení zabezpečení služby Azure Key Vault najdete ve standardních hodnotách zabezpečení pro Azure Key Vault.
Zabezpečení sítě
Vystavení trezorů můžete snížit tak, že zadáte, ke kterým IP adresám má přístup. Koncové body služby virtuální sítě pro Azure Key Vault umožňují omezit přístup k zadané virtuální síti. Koncové body také umožňují omezit přístup k seznamu rozsahů adres IPv4 (internet protocol version 4). Přístup byl odepřen všem uživatelům, kteří se připojují k trezoru klíčů mimo tyto zdroje. Úplné podrobnosti najdete v tématu Koncové body služeb virtuální sítě pro Azure Key Vault.
Jakmile se pravidla brány firewall projeví, můžou uživatelé číst data ze služby Key Vault jenom v případě, že jejich požadavky pocházejí z povolených virtuálních sítí nebo rozsahů adres IPv4. To platí také pro přístup ke službě Key Vault z webu Azure Portal. I když uživatelé můžou z webu Azure Portal přejít k trezoru klíčů, nemusí být schopni vypsat klíče, tajné kódy nebo certifikáty, pokud jejich klientský počítač není v seznamu povolených. Postup implementace najdete v tématu Konfigurace bran firewall a virtuálních sítí služby Azure Key Vault.
Služba Azure Private Link umožňuje přístup ke službě Azure Key Vault a službám hostovaným zákazníkům nebo partnerům Azure přes privátní koncový bod ve vaší virtuální síti. Privátní koncový bod Azure je síťové rozhraní, které vás soukromě a bezpečně připojuje ke službě využívající Azure Private Link. Privátní koncový bod využívá privátní IP adresu z vaší virtuální sítě, čímž je služba efektivně začleněna do vaší virtuální sítě. Veškeré přenosy do služby lze směrovat přes privátní koncový bod, takže nejsou potřeba žádné brány, zařízení NAT, připojení ExpressRoute nebo VPN ani veřejné IP adresy. Provoz mezi vaší virtuální sítí a službou prochází přes páteřní síť Microsoftu a eliminuje rizika vystavení na veřejném internetu. Můžete se připojit k instanci prostředku Azure a získat tak nejvyšší úroveň členitosti řízení přístupu. Kroky implementace najdete v tématu Integrace služby Key Vault se službou Azure Private Link.
TLS a HTTPS
- Front-end služby Key Vault (rovina dat) je server s více tenanty. To znamená, že trezory klíčů od různých zákazníků můžou sdílet stejnou veřejnou IP adresu. Aby bylo možné dosáhnout izolace, každý požadavek HTTP se ověřuje a autorizuje nezávisle na ostatních požadavcích.
- Protokol HTTPS umožňuje klientovi účastnit se vyjednávání protokolu TLS. Klienti můžou vynutit verzi protokolu TLS a kdykoli to klient provede, bude celé připojení používat odpovídající ochranu na úrovni. Key Vault podporuje verze protokolu TLS 1.2 a 1.3.
Poznámka:
Verzi protokolu TLS používanou klienty můžete monitorovat monitorováním protokolů služby Key Vault pomocí ukázkového dotazu Kusto.
Možnosti ověřování ve službě Key Vault
Když v předplatném Azure vytvoříte trezor klíčů, automaticky se přidružuje k tenantovi Microsoft Entra předplatného. Všichni volající v obou rovinách se musí v tomto tenantovi zaregistrovat a ověřit přístup k trezoru klíčů. V obou případech můžou aplikace přistupovat ke službě Key Vault třemi způsoby:
- Pouze aplikace: Aplikace představuje instanční objekt nebo spravovanou identitu. Tato identita je nejběžnějším scénářem pro aplikace, které pravidelně potřebují přístup k certifikátům, klíčům nebo tajným klíčům z trezoru klíčů. Aby tento scénář fungoval,
objectId
musí být aplikace určena v zásadách přístupu aapplicationId
nesmí být zadána nebo musí býtnull
. - Pouze uživatel: Uživatel přistupuje k trezoru klíčů z libovolné aplikace zaregistrované v tenantovi. Mezi příklady tohoto typu přístupu patří Azure PowerShell a Azure Portal. Aby tento scénář fungoval,
objectId
musí být uživatel zadán v zásadách přístupu aapplicationId
nesmí být zadán nebo musí býtnull
. - Application-plus-user (někdy označovaný jako složená identita): Uživatel musí přistupovat k trezoru klíčů z konkrétní aplikace a aplikace musí k zosobnění uživatele použít tok on-behalf-of authentication (OBO). Aby tento scénář fungoval, musí být v zásadách přístupu zadáno
objectId
obojíapplicationId
a musí být zadáno. IdentifikujeapplicationId
požadovanou aplikaci aobjectId
identifikuje uživatele. V současné době tato možnost není dostupná pro Azure RBAC roviny dat.
Ve všech typech přístupu se aplikace ověřuje pomocí ID Microsoft Entra. Aplikace používá jakoukoli podporovanou metodu ověřování na základě typu aplikace. Aplikace získá token pro prostředek v rovině, aby udělila přístup. Prostředek je koncový bod v rovině správy nebo dat na základě prostředí Azure. Aplikace použije token a odešle požadavek rozhraní REST API do služby Key Vault. Další informace najdete v celém toku ověřování.
Model jednoho mechanismu pro ověřování v obou rovinách má několik výhod:
- Organizace můžou řídit přístup centrálně ke všem trezorům klíčů ve své organizaci.
- Pokud uživatel odejde, okamžitě ztratí přístup ke všem trezorům klíčů v organizaci.
- Organizace můžou ověřování přizpůsobit pomocí možností v MICROSOFT Entra ID, jako je povolení vícefaktorového ověřování pro zvýšení zabezpečení.
Další informace najdete v tématu Základy ověřování ve službě Key Vault.
Přehled modelu Accessu
Přístup k trezoru klíčů se řídí dvěma rozhraními: rovinou správy a rovinou dat. Rovina správy je místo, kde spravujete samotnou službu Key Vault. Operace v této rovině zahrnují vytváření a odstraňování trezorů klíčů, načítání vlastností služby Key Vault a aktualizaci zásad přístupu. Rovina dat je místo, kde pracujete s daty uloženými v trezoru klíčů. Můžete přidávat, odstraňovat a upravovat klíče, tajné kódy a certifikáty.
Obě roviny používají k ověřování ID Microsoft Entra. K autorizaci používá rovina správy řízení přístupu na základě role (Azure RBAC) Azure a rovina dat používá zásady přístupu ke službě Key Vault a Azure RBAC pro operace roviny dat služby Key Vault.
Pro přístup k trezoru klíčů v rovině musí mít všichni volající (uživatelé nebo aplikace) správné ověřování a autorizaci. Ověřování vytvoří identitu volajícího. Autorizace určuje, které operace může volající provést. Ověřování se službou Key Vault funguje ve spojení s ID Microsoft Entra, které zodpovídá za ověření identity jakéhokoli daného objektu zabezpečení.
Objekt zabezpečení je objekt, který představuje uživatele, skupinu, službu nebo aplikaci, která požaduje přístup k prostředkům Azure. Azure přiřadí každému objektu objektu jedinečné ID .
- Objekt zabezpečení uživatele identifikuje jednotlivce, který má profil v Microsoft Entra ID.
- Objekt zabezpečení skupiny identifikuje sadu uživatelů vytvořených v MICROSOFT Entra ID. Všem rolím nebo oprávněním přiřazeným ke skupině se udělí všem uživatelům ve skupině.
- Instanční objekt je typ instančního objektu, který identifikuje aplikaci nebo službu, tedy část kódu, nikoli uživatele nebo skupinu. ID objektu instančního objektu se označuje jako ID klienta a funguje jako uživatelské jméno. Tajný klíč klienta nebo certifikát instančního objektu funguje jako jeho heslo. Mnoho služeb Azure podporuje přiřazování spravované identity pomocí automatizované správy ID klienta a certifikátu. Spravovaná identita je nejbezpečnější a nejporučenější možností pro ověřování v rámci Azure.
Další informace o ověřování ve službě Key Vault najdete v tématu Ověřování ve službě Azure Key Vault.
Podmíněný přístup
Key Vault poskytuje podporu pro zásady podmíněného přístupu Microsoft Entra. Pomocí zásad podmíněného přístupu můžete použít správné řízení přístupu ve službě Key Vault v případě potřeby, abyste zajistili zabezpečení vaší organizace a zůstali mimo cestu uživatele, pokud není potřeba.
Další informace najdete v tématu Přehled podmíněného přístupu
Privilegovaný přístup
Autorizace určuje, které operace může volající provést. Autorizace ve službě Key Vault používá řízení přístupu na základě role Azure (Azure RBAC) v rovině správy a zásady přístupu Azure RBAC nebo Azure Key Vault v rovině dat.
Přístup k trezorům probíhá prostřednictvím dvou rozhraní nebo rovin. Jedná se o rovinu řízení a rovinu dat.
- Rovina správy je místo, kde spravujete samotnou službu Key Vault a jedná se o rozhraní sloužící k vytváření a odstraňování trezorů. Také zde můžete číst vlastnosti trezoru klíčů a spravovat zásady přístupu.
- Rovina dat umožňuje pracovat s daty uloženými v trezoru klíčů. Můžete přidávat, odstraňovat a upravovat klíče, tajné kódy a certifikáty.
Aplikace přistupují k rovinám prostřednictvím koncových bodů. Řízení přístupu pro obě roviny funguje nezávisle. Pokud chcete aplikaci udělit přístup k používání klíčů v trezoru klíčů, udělíte přístup k rovině dat pomocí Azure RBAC nebo zásad přístupu ke službě Key Vault. Pokud chcete uživateli udělit přístup ke čtení vlastností a značek služby Key Vault, ale ne k datům (klíčům, tajným klíčům nebo certifikátům), udělíte přístup k rovině správy pomocí Azure RBAC.
Následující tabulka ukazuje koncové body pro roviny správy a dat.
Rovina přístupu | Koncové body přístupu | Operace | Mechanismus řízení přístupu |
---|---|---|---|
Rovina správy | Globální: management.azure.com:443 Microsoft Azure provozovaný společností 21Vianet: management.chinacloudapi.cn:443 Azure US Government: management.usgovcloudapi.net:443 Azure Germany: management.microsoftazure.de:443 |
Vytváření, čtení, aktualizace a odstraňování trezorů klíčů Nastavení zásad přístupu ke službě Key Vault Nastavení značek služby Key Vault |
Azure RBAC |
Rovina dat | Globální: <název_trezoru>.vault.azure.net:443 Microsoft Azure provozovaný společností 21Vianet: <název_trezoru>.vault.azure.cn:443 Azure US Government: <název_trezoru>.vault.usgovcloudapi.net:443 Azure Germany: <název_trezoru>.vault.microsoftazure.de:443 |
Klíče: encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, recover, backup, restore, purge, rotate (Preview), getrotationpolicy (Preview), setrotationpolicy (Preview), release(Preview) Certifikáty: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge Tajné kódy: get, list, set, delete, recover, backup, restore, purge |
Zásady přístupu ke službě Key Vault nebo Azure RBAC |
Správa přístupu správce ke službě Key Vault
Při vytváření trezoru klíčů ve skupině prostředků spravujete přístup pomocí ID Microsoft Entra. Uživatelům nebo skupinám udělíte možnost spravovat trezory klíčů ve skupině prostředků. Přístup můžete udělit na konkrétní úrovni oboru přiřazením příslušných rolí Azure. Pokud chcete uživateli udělit přístup ke správě trezorů klíčů, přiřadíte uživateli předdefinovanou key vault Contributor
roli v určitém oboru. K roli Azure je možné přiřadit následující úrovně oborů:
- Předplatné: Role Azure přiřazená na úrovni předplatného se vztahuje na všechny skupiny prostředků a prostředky v rámci daného předplatného.
- Skupina prostředků: Role Azure přiřazená na úrovni skupiny prostředků se vztahuje na všechny prostředky v této skupině prostředků.
- Konkrétní prostředek: Role Azure přiřazená pro konkrétní prostředek se na tento prostředek vztahuje. V tomto případě je prostředek konkrétním trezorem klíčů.
Existuje několik předdefinovaných rolí. Pokud předdefinovaná role nevyhovuje vašim potřebám, můžete definovat vlastní roli. Další informace najdete v tématu Azure RBAC: Předdefinované role.
Důležité
Při použití modelu oprávnění zásad přístupu může uživatel s Contributor
rolí , Key Vault Contributor
nebo jakoukoli jinou roli, která zahrnuje Microsoft.KeyVault/vaults/write
oprávnění pro rovinu správy trezoru klíčů, udělit přístup k rovině dat nastavením zásad přístupu ke službě Key Vault. Pokud chcete zabránit neoprávněnému přístupu a správě trezorů klíčů, klíčů, tajných kódů a certifikátů, je nezbytné omezit přístup role přispěvatele k trezorům klíčů v rámci modelu oprávnění zásad přístupu. Pokud chcete toto riziko zmírnit, doporučujeme použít model oprávnění řízení přístupu na základě role (RBAC), který omezuje správu oprávnění na role Vlastník a Správce uživatelských přístupů, což umožňuje jasné oddělení mezi operacemi zabezpečení a administrativními povinnostmi. Další informace najdete v průvodci RBAC služby Key Vault a co je Azure RBAC?
Řízení přístupu k datům služby Key Vault
Přístup ke klíčům služby Key Vault, certifikátům a tajným kódům můžete řídit pomocí zásad přístupu Azure RBAC nebo Key Vaultu.
Další informace najdete v tématu
- Azure RBAC pro operace roviny dat ve službě Key Vault
- Zásady přístupu ke službě Key Vault
Protokolování a monitorování
Protokolování služby Key Vault ukládá informace o aktivitách provedených ve vašem trezoru. Úplné podrobnosti najdete v tématu Protokolování služby Key Vault.
Službu Key Vault můžete integrovat s Event Gridem, abyste dostávali oznámení o změně stavu klíče, certifikátu nebo tajného klíče uloženého v trezoru klíčů. Podrobnosti najdete v tématu Monitorování služby Key Vault pomocí služby Azure Event Grid.
Je také důležité monitorovat stav trezoru klíčů, abyste měli jistotu, že vaše služba funguje podle očekávání. Další informace o tom, jak to udělat, najdete v tématu Monitorování a upozorňování pro Azure Key Vault.
Zálohování a obnovování
Ochrana proti obnovitelnému odstranění a vymazání ve službě Azure Key Vault umožňuje obnovit odstraněné trezory a objekty trezoru. Úplné podrobnosti najdete v přehledu obnovitelného odstranění ve službě Azure Key Vault.
Měli byste také pravidelně zálohovat trezor při aktualizaci, odstranění nebo vytváření objektů v rámci trezoru.