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

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.

  1. Přejděte na stránku Azure Portal existujícího účtu Azure Cosmos DB for NoSQL.

  2. Na stránce účtu Azure Cosmos DB for NoSQL vyberte možnost navigační nabídky Klíče .

    Snímek obrazovky se stránkou účtu rozhraní SQL API služby Azure Cosmos DB V navigační nabídce je zvýrazněná možnost Klíče.

  3. Poznamenejte si hodnoty z polí URI a PRIMÁRNÍ KLÍČ . Tyto hodnoty použijete později v tomto kurzu.

    Snímek obrazovky se stránkou Klíče s různými přihlašovacími údaji pro účet rozhraní SQL API služby Azure Cosmos DB

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.

  1. Přihlaste se k webu Azure Portal.

  2. Vyberte Vytvořit prostředek > Key Vault zabezpečení>.

  3. 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í.
  4. U zbývajících nastavení ponechte výchozí hodnoty.

  5. Vyberte Zkontrolovat a vytvořit.

  6. 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íčů.

  1. Výběrem možnosti Přejít k prostředku přejděte na stránku prostředku Azure Key Vault.

  2. Na stránce prostředku Azure Key Vault vyberte možnost navigační nabídky Tajné kódy.

  3. V nabídce vyberte Generate/Import (Vygenerovat/importovat ).

    Snímek obrazovky s možností Generovat/importovat v nabídce trezoru klíčů

  4. 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.

    Snímek obrazovky s dialogovým oknem Vytvořit tajný kód v Azure Portal s podrobnostmi o tajném kódu URI

  5. Vyberte Vytvořit a vytvořte nový tajný klíč cosmos-endpoint .

  6. 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.

    Snímek obrazovky s dialogovým oknem Vytvořit tajný kód v Azure Portal s podrobnostmi o tajném klíči PRIMÁRNÍHO KLÍČE

  7. Vyberte Vytvořit a vytvořte nový tajný klíč cosmos-readwrite-key .

  8. Po vytvoření se tajné kódy zobrazí v seznamu tajných kódů na stránce Tajné kódy .

    Snímek obrazovky se seznamem tajných kódů pro trezor klíčů

  9. 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 byl https://msdocs-key-vault.vault.azure.net/secrets/cosmos-readwrite-key/83b995e363d947999ac6cf487ae0e12e.

    Snímek obrazovky s identifikátorem tajného kódu trezoru klíčů s názvem cosmos-readwrite-key

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.

  1. Vytvořte nové úložiště GitHub pomocí šablony cosmos-db-nosql-dotnet-sample-web-environment-variables.

  2. V Azure Portal vyberte Vytvořit webovou > aplikaci prostředku>.

  3. 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.
  4. U zbývajících nastavení ponechte výchozí hodnoty.

  5. Vyberte Další: Nasazení.

  6. 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í.
  7. Vyberte Zkontrolovat a vytvořit.

  8. 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ší.

  9. 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.

    Snímek obrazovky webové aplikace ve výchozím stavu bez přihlašovacích údajů

  10. Vyberte možnost navigace v nabídce Identita .

  11. Na stránce Identita v části Spravovaná identita přiřazená systémem vyberte Zapnuto a pak vyberte Uložit.

    Snímek obrazovky s povolenou spravovanou identitou přiřazenou systémem ze stránky Identita

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.

  1. Vraťte se na stránku trezoru klíčů v Azure Portal. V navigační nabídce vyberte Zásady přístupu .

  2. Na stránce Zásady přístupu vyberte v nabídce Vytvořit .

    Snímek obrazovky s možností Vytvořit v nabídce Zásady přístupu

  3. 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ší.

    Snímek obrazovky s možností Získat oprávnění povolená pro oprávnění k tajným kódům

  4. Na kartě Objekt zabezpečení vyberte název webové aplikace, kterou jste vytvořili dříve v tomto kurzu. Vyberte Další.

    Snímek obrazovky se spravovanou identitou webové aplikace přiřazenou k oprávnění

    Poznámka

    Na tomto ukázkovém snímku obrazovky má webová aplikace název msdocs-dotnet-web.

  5. 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.

  6. Vraťte se na stránku webové aplikace v Azure Portal. V navigační nabídce vyberte Konfigurace .

  7. 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/69621c59ef5b4b7294b5def118921b07například identifikátor tajného kódu , odkaz by byl @Microsoft.KeyVault(SecretUri=https://msdocs-key-vault.vault.azure.net/secrets/cosmos-endpoint/69621c59ef5b4b7294b5def118921b07).

    Snímek obrazovky s dialogovým oknem Přidat nebo upravit nastavení aplikace s novým nastavením aplikace, které odkazuje na tajný klíč trezoru klíčů

  8. Pokud chcete zachovat nové nastavení aplikace, vyberte OK .

  9. 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>).
  10. Zpět na stránce Konfigurace vyberte Uložit a aktualizujte nastavení aplikace pro webovou aplikaci.

    Snímek obrazovky s možností Uložit v nabídce stránky Konfigurace

  11. 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.

    Snímek obrazovky s označením Reference ke službě Key Vault u dvou nastavení aplikace ve webové aplikaci

  12. V navigační nabídce vyberte Přehled . Vyberte Procházet a zobrazte aplikaci s vyplněnými přihlašovacími údaji.

    Snímek obrazovky webové aplikace s platnými přihlašovacími údaji účtu Azure Cosmos DB for NoSQL

Další kroky