Migrace aplikace pro použití bez hesel ve službě Azure Queue Storage

Žádosti o aplikace na služby Azure musí být ověřeny pomocí konfigurací, jako jsou přístupové klíče účtu nebo připojení bez hesla. Pokud je to však možné, měli byste upřednostnit připojení bez hesla ve vašich aplikacích. Tradiční metody ověřování, které používají hesla nebo tajné klíče, vytvářejí bezpečnostní rizika a komplikace. Další informace o výhodách přechodu na připojení bez hesla najdete v centru služeb Azure.

Následující kurz vysvětluje, jak migrovat existující aplikaci pro připojení pomocí připojení bez hesla. Stejný postup migrace by se měl použít bez ohledu na to, jestli používáte přístupové klíče, připojovací řetězec nebo jiný přístup založený na tajných klíčích.

Konfigurace místního vývojového prostředí

Připojení bez hesla je možné nakonfigurovat tak, aby fungovala pro místní prostředí i prostředí hostovaná v Azure. V této části použijete konfigurace, které jednotlivým uživatelům umožní ověřovat se ve službě Azure Queue Storage pro místní vývoj.

Přiřazování rolí uživatelů

Při místním vývoji se ujistěte, že uživatelský účet, který přistupuje ke službě Queue Storage, má správná oprávnění. Ke čtení a zápisu dat fronty budete potřebovat roli Přispěvatel dat fronty služby Storage. Abyste mohli tuto roli přiřadit sami sobě, musíte mít přiřazenou roli User Access Správa istrator nebo jinou roli, která zahrnuje akci Microsoft.Authorization/roleAssignments/write. Role Azure RBAC můžete uživateli přiřadit pomocí webu Azure Portal, Azure CLI nebo Azure PowerShellu. Další informace o dostupných oborech pro přiřazení rolí najdete na stránce přehledu oboru.

Následující příklad přiřadí roli Přispěvatel dat fronty úložiště k vašemu uživatelskému účtu. Tato role uděluje přístup pro čtení a zápis k datům fronty ve vašem účtu úložiště.

  1. Na webu Azure Portal vyhledejte svůj účet úložiště pomocí hlavního panelu hledání nebo levé navigace.

  2. Na stránce přehledu účtu úložiště v nabídce vlevo vyberte Řízení přístupu (IAM ).

  3. Na stránce Řízení přístupu (IAM) vyberte kartu Přiřazení rolí.

  4. V horní nabídce vyberte + Přidat a potom přidejte přiřazení role z výsledné rozevírací nabídky.

    A screenshot showing how to assign a role.

  5. Pomocí vyhledávacího pole vyfiltrujte výsledky podle požadované role. V tomto příkladu vyhledejte Přispěvatel dat fronty služby Storage a vyberte odpovídající výsledek a pak zvolte Další.

  6. V části Přiřadit přístup vyberte Uživatel, skupina nebo instanční objekt a pak zvolte + Vybrat členy.

  7. V dialogovém okně vyhledejte své uživatelské jméno Microsoft Entra (obvykle vaše user@domain e-mailová adresa) a pak v dolní části dialogového okna zvolte Vybrat .

  8. Vyberte Zkontrolovat a přiřadit přejděte na poslední stránku a pak proces dokončete opětovnou kontrolou a přiřazením .

Důležité

Ve většině případů bude trvat minutu nebo dvě, než se přiřazení role rozšíří v Azure, ale ve výjimečných případech může trvat až osm minut. Pokud při prvním spuštění kódu dojde k chybám ověřování, chvíli počkejte a zkuste to znovu.

Místní přihlášení k Azure

V případě místního vývoje se ujistěte, že jste ověřeni pomocí stejného účtu Microsoft Entra, ke kterému jste přiřadili roli. Ověřování můžete provést prostřednictvím oblíbených vývojových nástrojů, jako je Azure CLI nebo Azure PowerShell. Vývojové nástroje, pomocí kterých se můžete ověřovat, se liší v různých jazycích.

Přihlaste se k Azure přes Azure CLI pomocí následujícího příkazu:

az login

Aktualizace kódu aplikace tak, aby používala připojení bez hesla

Klientská knihovna Azure Identity pro každý z následujících ekosystémů poskytuje DefaultAzureCredential třídu, která zpracovává ověřování bez hesla do Azure:

DefaultAzureCredential podporuje více metod ověřování. Metoda, která se má použít, je určena za běhu. Tento přístup umožňuje vaší aplikaci používat různé metody ověřování v různých prostředích (místní a produkční) bez implementace kódu specifického pro prostředí. Podívejte se na předchozí odkazy pro pořadí a umístění, ve kterých DefaultAzureCredential se hledají přihlašovací údaje.

  1. Pokud chcete použít DefaultAzureCredential v aplikaci .NET, nainstalujte Azure.Identity balíček:

    dotnet add package Azure.Identity
    
  2. Do horní části souboru přidejte následující kód:

    using Azure.Identity;
    
  3. Identifikujte umístění v kódu, která vytvoří QueueClient objekt pro připojení ke službě Azure Queue Storage. Aktualizujte kód tak, aby odpovídal následujícímu příkladu:

    DefaultAzureCredential credential = new();
    
    QueueClient queueClient = new(
         new Uri($"https://{storageAccountName}.queue.core.windows.net/{queueName}"),
         new DefaultAzureCredential());
    
  1. Nezapomeňte aktualizovat název účtu úložiště v identifikátoru URI objektu QueueClient . Název účtu úložiště najdete na stránce přehledu webu Azure Portal.

    Screenshot showing how to find the storage account name.

Místní spuštění aplikace

Po provedení těchto změn kódu spusťte aplikaci místně. Nová konfigurace by měla vyzvednout vaše místní přihlašovací údaje, jako je Azure CLI, Visual Studio nebo IntelliJ. Role, které jste přiřadili uživateli v Azure, umožňují vaší aplikaci připojit se ke službě Azure místně.

Konfigurace hostitelského prostředí Azure

Jakmile je vaše aplikace nakonfigurovaná tak, aby používala připojení bez hesla a běží místně, může se stejný kód po nasazení do Azure ověřit ve službách Azure. Následující části vysvětlují, jak nakonfigurovat nasazenou aplikaci pro připojení ke službě Azure Queue Storage pomocí spravované identity. Spravované identity poskytují automaticky spravovanou identitu v Microsoft Entra ID pro aplikace, které se mají použít při připojování k prostředkům, které podporují ověřování Microsoft Entra. Další informace o spravovaných identitách:

Vytvoření spravované identity

Spravovanou identitu přiřazenou uživatelem můžete vytvořit pomocí webu Azure Portal nebo Azure CLI. Vaše aplikace používá identitu k ověření v jiných službách.

  1. V horní části webu Azure Portal vyhledejte spravované identity. Vyberte výsledek spravovaných identit.
  2. V horní části stránky přehledu spravovaných identit vyberte + Vytvořit.
  3. Na kartě Základy zadejte následující hodnoty:
    • Předplatné: Vyberte požadované předplatné.
    • Skupina prostředků: Vyberte požadovanou skupinu prostředků.
    • Oblast: Vyberte oblast blízko vaší polohy.
    • Název: Zadejte rozpoznatelný název vaší identity, například MigrationIdentity.
  4. Vyberte Zkontrolovat a vytvořit v dolní části stránky.
  5. Po dokončení ověření vyberte Vytvořit. Azure vytvoří novou identitu přiřazenou uživatelem.

Po vytvoření prostředku vyberte Přejít k prostředku a zobrazte podrobnosti o spravované identitě.

A screenshot showing how to create a user assigned managed identity.

Přidružení spravované identity k webové aplikaci

Musíte nakonfigurovat webovou aplikaci tak, aby používala spravovanou identitu, kterou jste vytvořili. Přiřaďte identitu k aplikaci pomocí webu Azure Portal nebo Azure CLI.

Pomocí následujících kroků na webu Azure Portal přidružte identitu k vaší aplikaci. Stejný postup platí pro následující služby Azure:

  • Azure Spring Apps
  • Azure Container Apps
  • Virtuální počítače Azure
  • Azure Kubernetes Service
  1. Přejděte na stránku přehledu vaší webové aplikace.

  2. V levém navigačním panelu vyberte Identitu .

  3. Na stránce Identita přepněte na kartu Přiřazené uživatelem.

  4. Výběrem + Přidat otevřete informační nabídku Přidat spravovanou identitu přiřazenou uživatelem.

  5. Vyberte předplatné, které jste použili dříve k vytvoření identity.

  6. Vyhledejte migrationIdentity podle názvu a vyberte ji z výsledků hledání.

  7. Vyberte Přidat a přidružte identitu k vaší aplikaci.

    Screenshot showing how to create a user assigned identity.

Přiřazení rolí ke spravované identitě

Dále musíte udělit oprávnění spravované identitě, kterou jste vytvořili pro přístup k účtu úložiště. Udělte oprávnění přiřazením role spravované identitě stejně jako u místního vývojového uživatele.

  1. Přejděte na stránku přehledu účtu úložiště a v levém navigačním panelu vyberte Řízení přístupu (IAM ).

  2. Zvolte Přidat přiřazení role.

    Screenshot showing how to add a role to a managed identity.

  3. Ve vyhledávacím poli role vyhledejte Přispěvatel dat fronty úložiště, což je běžná role používaná ke správě operací s daty pro fronty. Můžete přiřadit libovolnou roli, která je vhodná pro váš případ použití. V seznamu vyberte Přispěvatel dat fronty úložiště a zvolte Další.

  4. Na obrazovce Přidat přiřazení role jako možnost Přiřadit přístup vyberte Spravovaná identita. Pak zvolte +Vybrat členy.

  5. V informačním rámečku vyhledejte spravovanou identitu, kterou jste vytvořili podle názvu, a vyberte ji z výsledků. Výběrem možnosti Vybrat zavřete rozevírací nabídku.

    Screenshot showing how to select the assigned managed identity.

  6. Vyberte Další několikrát, dokud nebudete moct vybrat Zkontrolovat a přiřadit, abyste dokončili přiřazení role.

Aktualizace kódu aplikace

Musíte nakonfigurovat kód aplikace tak, aby hledal konkrétní spravovanou identitu, kterou jste vytvořili při nasazení do Azure. V některých scénářích explicitně nastavíte spravovanou identitu aplikace, aby se zabránilo náhodnému zjištění a použití jiných identit prostředí.

  1. Na stránce přehledu spravované identity zkopírujte hodnotu ID klienta do schránky.

  2. Použijte následující změny specifické pro jazyk:

    Vytvořte DefaultAzureCredentialOptions objekt a předejte ho .DefaultAzureCredential Nastavte vlastnost ManagedIdentityClientId na ID klienta.

    DefaultAzureCredential credential = new(
        new DefaultAzureCredentialOptions
        {
            ManagedIdentityClientId = managedIdentityClientId
        });
    
  3. Po provedení této změny znovu nasaďte kód do Azure, aby se aktualizace konfigurace použily.

Otestování aplikace

Po nasazení aktualizovaného kódu přejděte do hostované aplikace v prohlížeči. Vaše aplikace by se měla úspěšně připojit k účtu úložiště. Mějte na paměti, že rozšíření přiřazení rolí v prostředí Azure může trvat několik minut. Vaše aplikace je teď nakonfigurovaná tak, aby běžela místně i v produkčním prostředí, aniž by vývojáři museli spravovat tajné kódy v samotné aplikaci.

Další kroky

V tomto kurzu jste zjistili, jak migrovat aplikaci na připojení bez hesla.

Podrobnější informace o konceptech probíraných v tomto článku najdete v následujících zdrojích informací: