Kurz: Ukládání a používání přihlašovacích údajů služby Azure Cosmos DB s Azure Key Vault
PLATÍ PRO: NoSQL MongoDB Cassandra Gremlin Tabulka
Důležité
Pro přístup ke službě Azure Cosmos DB se doporučuje použít spravovanou identitu přiřazenou systémem. Pokud řešení spravované identity i řešení založené na certifikátech nevyhovují vašim potřebám, použijte řešení Služby Azure Key Vault v tomto článku.
Pokud jako databázi používáte Azure Cosmos DB, připojujete se k databázím, kontejneru a položkám pomocí sady SDK, koncového bodu rozhraní API a primárního nebo sekundárního klíče.
Není vhodné ukládat identifikátor URI koncového bodu a citlivé klíče pro čtení i zápis přímo do kódu aplikace nebo konfiguračního souboru. V ideálním případě se tato data čtou z proměnných prostředí v rámci hostitele. V Azure App Service nastavení aplikace umožňuje vkládat přihlašovací údaje modulu runtime pro účet služby Azure Cosmos DB, aniž by vývojáři museli tyto přihlašovací údaje ukládat nezabezpečeným způsobem, který je nezabezpečí.
Azure Key Vault tento osvědčený postup dále iteruje tím, že umožňuje bezpečné ukládání těchto přihlašovacích údajů a zároveň poskytuje službám, jako je Azure App Service spravovaný přístup k přihlašovacím údajům. Azure App Service bezpečně přečte vaše přihlašovací údaje z Azure Key Vault a vloží je do spuštěné aplikace.
S tímto osvědčeným postupem můžou vývojáři ukládat přihlašovací údaje pro nástroje, jako je emulátor služby Azure Cosmos DB nebo vyzkoušet službu Azure Cosmos DB zdarma během vývoje. Provozní tým pak může zajistit, aby se za běhu vkládaly správná produkční nastavení.
V tomto kurzu se naučíte:
- Vytvoření instance Azure Key Vault
- Přidání přihlašovacích údajů služby Azure Cosmos DB jako tajných kódů do trezoru klíčů
- Vytvoření a registrace prostředku Azure App Service a udělení oprávnění ke čtení klíče
- Vložení tajných kódů trezoru klíčů do prostředku App Service
Poznámka
Tento kurz a ukázková aplikace používají účet Azure Cosmos DB for NoSQL. Mnoho stejných kroků můžete provést pomocí jiných rozhraní API.
Požadavky
- Existující účet Azure Cosmos DB for NoSQL
- Pokud máte předplatné Azure, vytvořte si nový účet.
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Alternativně můžete před potvrzením vyzkoušet azure Cosmos DB zdarma .
- Účet GitHub.
Než začnete: Získání přihlašovacích údajů služby Azure Cosmos DB
Než začnete, získáte přihlašovací údaje ke svému stávajícímu účtu.
Přejděte na stránku Azure Portal existujícího účtu Azure Cosmos DB for NoSQL.
Na stránce účtu Azure Cosmos DB for NoSQL vyberte možnost navigační nabídky Klíče .
Poznamenejte si hodnoty z polí URI a PRIMÁRNÍ KLÍČ . Tyto hodnoty použijete později v tomto kurzu.
Vytvoření prostředku Azure Key Vault
Nejprve vytvořte nový trezor klíčů pro uložení přihlašovacích údajů rozhraní API pro NoSQL.
Přihlaste se k webu Azure Portal.
Vyberte Vytvořit prostředek > Key Vault zabezpečení>.
Na stránce Vytvořit trezor klíčů zadejte následující informace:
Nastavení Popis Předplatné Vyberte předplatné Azure, které chcete použít pro tento účet služby Azure Cosmos. Skupina prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novou a pak zadejte jedinečný název nové skupiny prostředků. Název trezoru klíčů Zadejte globálně jedinečný název trezoru klíčů. Oblast Vyberte zeměpisné umístění, ve kterém chcete účet služby Azure Cosmos DB hostovat. Použijte umístění, které je nejblíže vašim uživatelům, abyste jim poskytli nejrychlejší přístup k datům. Cenová úroveň Vyberte Standardní. U zbývajících nastavení ponechte výchozí hodnoty.
Vyberte Zkontrolovat a vytvořit.
Zkontrolujte nastavení, která zadáte, a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Počkejte, až se na stránce portálu zobrazí Vaše nasazení je dokončené , a teprve potom přejděte k další.
Přidání přístupových klíčů služby Azure Cosmos DB do Key Vault
Teď přihlašovací údaje služby Azure Cosmos DB uložte jako tajné kódy v trezoru klíčů.
Výběrem možnosti Přejít k prostředku přejděte na stránku prostředku Azure Key Vault.
Na stránce prostředku Azure Key Vault vyberte možnost navigační nabídky Tajné kódy.
V nabídce vyberte Generate/Import (Vygenerovat/importovat ).
Na stránce Vytvořit tajný kód zadejte následující informace:
Nastavení Popis Možnosti nahrání Ruční Název cosmos-endpoint Hodnota tajného kódu Zadejte identifikátor URI , který jste zkopírovali dříve v tomto kurzu. Vyberte Vytvořit a vytvořte nový tajný klíč cosmos-endpoint .
V nabídce znovu vyberte Generate/Import (Vygenerovat/importovat ). Na stránce Vytvořit tajný kód zadejte následující informace:
Nastavení Popis Možnosti nahrání Ruční Název cosmos-readwrite-key Hodnota tajného kódu Zadejte PRIMÁRNÍ KLÍČ , který jste zkopírovali dříve v tomto kurzu. Vyberte Vytvořit a vytvořte nový tajný klíč cosmos-readwrite-key .
Po vytvoření se tajné kódy zobrazí v seznamu tajných kódů na stránce Tajné kódy .
Vyberte jednotlivé klíče, vyberte nejnovější verzi a pak zkopírujte identifikátor tajného klíče. Identifikátor pro tajné kódy cosmos-endpoint a cosmos-readwrite-key použijete později v tomto kurzu.
Tip
Identifikátor tajného kódu bude v tomto formátu
https://<key-vault-name>.vault.azure.net/secrets/<secret-name>/<version-id>
. Například pokud je název trezoru klíčů msdocs-key-vault, název klíče je cosmos-readwrite-key a verze pokud 83b995e363d947999ac6cf487ae0e12e; identifikátor tajného kódu by pak bylhttps://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/83b995e363d947999ac6cf487ae0e12e
.
Vytvoření a registrace webové aplikace Azure v Azure Key Vault
V této části vytvoříte novou webovou aplikaci Azure, nasadíte ukázkovou aplikaci a pak zaregistrujete spravovanou identitu webové aplikace v Azure Key Vault.
Vytvořte nové úložiště GitHub pomocí šablony cosmos-db-nosql-dotnet-sample-web-environment-variables.
V Azure Portal vyberte Vytvořit webovou > aplikaci prostředku>.
Na stránce Vytvořit webovou aplikaci a na kartě Základy zadejte následující informace:
Nastavení Popis Předplatné Vyberte předplatné Azure, které chcete použít pro tento účet služby Azure Cosmos. Skupina prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novou a pak zadejte jedinečný název nové skupiny prostředků. Název Zadejte globálně jedinečný název vaší webové aplikace. Publikovat Vyberte Kód. Zásobník modulu runtime Vyberte .NET 6 (LTS). Operační systém Vyberte Windows. Oblast Vyberte zeměpisné umístění, ve kterém chcete účet služby Azure Cosmos DB hostovat. Použijte umístění, které je nejblíže vašim uživatelům, abyste jim poskytli nejrychlejší přístup k datům. U zbývajících nastavení ponechte výchozí hodnoty.
Vyberte Další: Nasazení.
Na kartě Nasazení zadejte následující informace:
Nastavení Popis Průběžné nasazování Vyberte Povolit. Účet GitHub Vyberte Autorizovat. Postupujte podle pokynů k autorizaci účtu GitHub a udělte Azure oprávnění ke čtení nově vytvořeného úložiště GitHub. Organizace Vyberte organizaci pro nové úložiště GitHub. Úložiště Vyberte název nového úložiště GitHub. Větev Vyberte hlavní. Vyberte Zkontrolovat a vytvořit.
Zkontrolujte nastavení, která zadáte, a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Počkejte, až se na stránce portálu zobrazí Vaše nasazení je dokončené , a teprve potom přejděte k další.
Možná budete muset počkat několik minut navíc, než se webová aplikace poprvé nasadí do webové aplikace. Na stránce prostředku webové aplikace Azure vyberte Procházet a zobrazte výchozí stav aplikace.
Vyberte možnost navigace v nabídce Identita .
Na stránce Identita v části Spravovaná identita přiřazená systémem vyberte Zapnuto a pak vyberte Uložit.
Vložení tajných kódů Azure Key Vault jako nastavení webové aplikace Azure
Nakonec vložte tajné kódy uložené v trezoru klíčů jako nastavení aplikace v rámci webové aplikace. Nastavení aplikace následně vloží přihlašovací údaje do aplikace za běhu, aniž by se přihlašovací údaje ukládaly ve formátu nesytého textu.
Vraťte se na stránku trezoru klíčů v Azure Portal. V navigační nabídce vyberte Zásady přístupu .
Na stránce Zásady přístupu vyberte v nabídce Vytvořit .
Na kartě Oprávnění na stránce Vytvořit zásadu přístupu vyberte v části Oprávnění k tajným kódům možnost Získat. Vyberte Další.
Na kartě Objekt zabezpečení vyberte název webové aplikace, kterou jste vytvořili dříve v tomto kurzu. Vyberte Další.
Poznámka
Na tomto ukázkovém snímku obrazovky má webová aplikace název msdocs-dotnet-web.
Dalším výběrem možnosti Další přeskočíte kartu Aplikace . Na kartě Zkontrolovat a vytvořit zkontrolujte nastavení, která zadáte, a pak vyberte Vytvořit.
Vraťte se na stránku webové aplikace v Azure Portal. V navigační nabídce vyberte Konfigurace .
Na stránce Konfigurace vyberte Nové nastavení aplikace. V dialogovém okně Přidat nebo upravit nastavení aplikace zadejte následující informace:
Nastavení Popis Název CREDENTIALS__ENDPOINT
Klíč Získejte identifikátor tajného klíčecosmos-endpoint ve vašem trezoru klíčů, který jste vytvořili dříve v tomto kurzu. Zadejte identifikátor v následujícím formátu: @Microsoft.KeyVault(SecretUri=<secret-identifier>)
.Tip
Ujistěte se, že proměnná prostředí má místo jednoho podtržítka hodnotu dvojitého podtržítka (
__
). Dvojité podtržítko je klíčovým delimetrem podporovaným rozhraním .NET na všech platformách. Další informace najdete v tématu Konfigurace proměnných prostředí.Poznámka
Pokud je
https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07
například identifikátor tajného kódu , odkaz by byl@Microsoft.KeyVault(SecretUri=https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07)
.Pokud chcete zachovat nové nastavení aplikace, vyberte OK .
Znovu vyberte Nové nastavení aplikace . V dialogovém okně Přidat nebo upravit nastavení aplikace zadejte následující informace a pak vyberte OK:
Nastavení Popis Název CREDENTIALS__KEY
Klíč Získejte identifikátor tajného klíčecosmos-readwrite-key v trezoru klíčů, který jste vytvořili dříve v tomto kurzu. Zadejte identifikátor v následujícím formátu: @Microsoft.KeyVault(SecretUri=<secret-identifier>)
.Zpět na stránce Konfigurace vyberte Uložit a aktualizujte nastavení aplikace pro webovou aplikaci.
Počkejte několik minut, než se webová aplikace restartuje s novým nastavením aplikace. V tuto chvíli by nové nastavení aplikace mělo znamenat, že se jedná o referenční informace ke službě Key Vault.
V navigační nabídce vyberte Přehled . Vyberte Procházet a zobrazte aplikaci s vyplněnými přihlašovacími údaji.
Další kroky
- Informace o konfiguraci brány firewall pro službu Azure Cosmos DB najdete v článku o podpoře brány firewall .
- Informace o konfiguraci koncového bodu služby virtuální sítě najdete v článku o zabezpečení přístupu pomocí koncového bodu služby virtuální sítě .