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 Správce uživatelských přístupů 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ě.
Na webu Azure Portal vyhledejte svůj účet úložiště pomocí hlavního panelu hledání nebo levé navigace.
Na stránce přehledu účtu úložiště v nabídce vlevo vyberte Řízení přístupu (IAM ).
Na stránce Řízení přístupu (IAM) vyberte kartu Přiřazení rolí.
V horní nabídce vyberte + Přidat a potom přidejte přiřazení role z výsledné rozevírací nabídky.
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ší.
V části Přiřadit přístup vyberte Uživatel, skupina nebo instanční objekt a pak zvolte + Vybrat členy.
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 .
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.
Pokud chcete použít
DefaultAzureCredential
v aplikaci .NET, nainstalujteAzure.Identity
balíček:dotnet add package Azure.Identity
Do horní části souboru přidejte následující kód:
using Azure.Identity;
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());
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.
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 nabízejí ve službě Microsoft Entra ID automaticky spravované identity aplikací používaných při připojování k prostředkům, které podporují ověřování službou 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.
- V horní části webu Azure Portal vyhledejte spravované identity. Vyberte výsledek spravovaných identit.
- V horní části stránky přehledu spravovaných identit vyberte + Vytvořit.
- 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.
- Vyberte Zkontrolovat a vytvořit v dolní části stránky.
- 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ě.
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
Přejděte na stránku přehledu vaší webové aplikace.
V levém navigačním panelu vyberte Identitu .
Na stránce Identita přepněte na kartu Přiřazené uživatelem.
Výběrem + Přidat otevřete informační nabídku Přidat spravovanou identitu přiřazenou uživatelem.
Vyberte předplatné, které jste použili dříve k vytvoření identity.
Vyhledejte migrationIdentity podle názvu a vyberte ji z výsledků hledání.
Vyberte Přidat a přidružte identitu k vaší aplikaci.
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.
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 ).
Zvolte Přidat přiřazení role.
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ší.
Na obrazovce Přidat přiřazení role jako možnost Přiřadit přístup vyberte Spravovaná identita. Pak zvolte +Vybrat členy.
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.
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í.
Na stránce přehledu spravované identity zkopírujte hodnotu ID klienta do schránky.
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 });
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í:
- Autorizace přístupu k objektům blob pomocí Microsoft Entra ID
- Další informace o .NET najdete v tématu Začínáme s .NET za 10 minut.