Kurz: Ukládání a používání přihlašovacích údajů služby Azure Cosmos DB se službou Azure Key Vault
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
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 Službu Azure Cosmos DB, připojíte se k databázím, kontejnerům a položkám pomocí sady SDK, koncového bodu rozhraní API a primárního nebo sekundárního klíče.
Není vhodné uložit 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 Aplikace Azure Service vám nastavení aplikace umožňují 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 prostým textem.
Azure Key Vault dále iteruje tento osvědčený postup tím, že vám umožní bezpečně ukládat tyto přihlašovací údaje a zároveň poskytovat službám, jako je Aplikace Azure Služba, spravovaný přístup k přihlašovacím údajům. Aplikace Azure Služba bezpečně přečte vaše přihlašovací údaje ze služby 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 služby 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 služby Aplikace Azure Service a udělení oprávnění ke čtení klíče
- Vložení tajných kódů trezoru klíčů do prostředku služby 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 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 službu 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 pro stávající účet.
Přejděte na stránku webu Azure Portal pro stávající účet 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í identifikátoru URI a PRIMÁRNÍ KLÍČ . Tyto hodnoty použijete později v tomto kurzu.
Vytvoření prostředku služby Azure Key Vault
Nejprve vytvořte nový trezor klíčů pro ukládání přihlašovacích údajů rozhraní API pro NoSQL.
Přihlaste se k portálu Azure.
Vyberte Vytvořit trezor klíčů zabezpečení > prostředku>.
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 Azure Cosmos. Skupina prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novoua 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 vašim uživatelům nejbližší, abyste jim zajistili nejrychlejší přístup k datům. Cenová úroveň Vyberte položku Standardní. Zbývající nastavení ponechte na výchozích hodnotách.
Vyberte Zkontrolovat a vytvořit.
Zkontrolujte nastavení, která zadáte, a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Než přejdete na stránku portálu, počkejte, než se vaše nasazení dokončí .
Přidání přístupových klíčů azure Cosmos DB do služby Key Vault
Teď uložte přihlašovací údaje služby Azure Cosmos DB jako tajné kódy do trezoru klíčů.
Výběrem možnosti Přejít k prostředku přejděte na stránku prostředku služby Azure Key Vault.
Na stránce prostředku služby Azure Key Vault vyberte možnost navigační nabídky Tajné kódy .
V nabídce vyberte Generovat/Importovat .
Na stránce Vytvořit tajný kód zadejte následující informace:
Nastavení Popis Možnosti nahrávání Ruční Název koncový bod cosmos Hodnota tajného kódu Zadejte identifikátor URI, který jste zkopírovali dříve v tomto kurzu. Výběrem možnosti Vytvořit vytvořte nový tajný klíč koncového bodu cosmos.
V nabídce znovu vyberte Generovat/Importovat . Na stránce Vytvořit tajný kód zadejte následující informace:
Nastavení Popis Možnosti nahrává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. Výběrem možnosti Vytvořit vytvořte nový tajný klíč cosmos-readwrite-key .
Po vytvoření tajných kódů je zobrazte v seznamu tajných kódů na stránce Tajné kódy .
Vyberte každý klíč, vyberte nejnovější verzi a pak zkopírujte identifikátor tajného klíče. Identifikátor použijete pro tajné kódy klíčů cosmos-endpoint a cosmos-readwrite-key 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>
. Pokud je například název trezoru klíčů msdocs-key-vault, název klíče je cosmos-readwrite-key a verze, pokud 83b995e363d947999ac6cf487ae0e12e; pak budehttps://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/83b995e363d947999ac6cf487ae0e12e
identifikátor tajného kódu .
Vytvoření a registrace webové aplikace Azure ve službě Azure Key Vault
V této části vytvořte novou webovou aplikaci Azure, nasaďte ukázkovou aplikaci a zaregistrujte spravovanou identitu webové aplikace ve službě Azure Key Vault.
Vytvořte nové úložiště GitHub pomocí šablony cosmos-db-nosql-dotnet-sample-web-environment-variables.
Na webu 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 Azure Cosmos. Skupina prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novoua 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 vašim uživatelům nejbližší, abyste jim zajistili nejrychlejší přístup k datům. Zbývající nastavení ponechte na výchozích hodnotách.
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. Než přejdete na stránku portálu, počkejte, než se vaše nasazení dokončí .
Možná budete muset počkat několik minut navíc, než se webová aplikace na začátku 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 identitě.
Na stránce Identita vyberte Zapnuto pro spravovanou identitu přiřazenou systémem a pak vyberte Uložit.
Vložení tajných kódů služby Azure Key Vault jako nastavení aplikace Webové aplikace Azure
Nakonec vložíte tajné kódy uložené v trezoru klíčů jako nastavení aplikace v rámci webové aplikace. Nastavení aplikace zase vloží přihlašovací údaje do aplikace za běhu bez uložení přihlašovacích údajů ve formátu prostého textu.
Vraťte se na stránku trezoru klíčů na webu 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 možnost Získat v části Oprávnění tajných kódů. 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 příkladu snímku obrazovky se webová aplikace jmenuje 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 na webu Azure Portal. V navigační nabídce vyberte Možnost 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í Description Jméno CREDENTIALS__ENDPOINT
Klíč Získejte identifikátor tajného kódu pro tajný klíč cosmos-koncový bod 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žítka 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 , pak by odkaz 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/upravit nastavení aplikace zadejte následující informace a pak vyberte OK:
Nastavení Description Jméno CREDENTIALS__KEY
Klíč Získejte identifikátor tajného klíče pro tajný kód cosmos-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 tomto okamžiku by mělo nové nastavení aplikace znamenat, že se jedná o referenci trezoru klíčů.
V navigační nabídce vyberte Přehled . Výběrem možnosti Procházet zobrazíte 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 podpory brány firewall.
- Informace o konfiguraci koncového bodu služby virtuální sítě najdete v článku o zabezpečeném přístupu pomocí koncového bodu služby virtuální sítě .