Migrace aplikace pro použití připojení bez hesla se službou Azure Blob 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 rolí a uživatelů pro místní ověřování vývoje
Při místním vývoji se ujistěte, že uživatelský účet, který přistupuje k datům objektů blob, má správná oprávnění. K čtení a zápisu dat objektů blob budete potřebovat Přispěvatel dat objektů blob 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.
V tomto scénáři přiřadíte oprávnění k vašemu uživatelskému účtu s vymezeným oborem účtu úložiště, abyste postupovali podle zásady nejnižších oprávnění. Tento postup poskytuje uživatelům jenom minimální potřebná oprávnění a vytváří bezpečnější produkční prostředí.
Následující příklad přiřadí roli Přispěvatel dat v objektech blob služby Storage k vašemu uživatelskému účtu, který poskytuje přístup ke čtení i zápisu k datům objektů blob v účtu úložiště.
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.
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 objektů blob 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 .
Přihlášení a migrace kódu aplikace pro použití připojení bez hesla
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
Dále aktualizujte kód tak, aby používal připojení bez hesla.
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ří připojení ke službě
BlobServiceClient
Azure Blob Storage. Aktualizujte kód tak, aby odpovídal následujícímu příkladu:DefaultAzureCredential credential = new(); BlobServiceClient blobServiceClient = new( new Uri($"https://{storageAccountName}.blob.core.windows.net"), credential);
Nezapomeňte aktualizovat název účtu úložiště v identifikátoru URI vašeho
BlobServiceClient
účtu . 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 místnímu vývojovému 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. V následujících částech se dozvíte, jak nakonfigurovat nasazenou aplikaci pro připojení ke službě Azure Blob Storage pomocí spravované identity.
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 objektů blob služby Storage, což je běžná role používaná ke správě operací s daty pro objekty blob. Můžete přiřadit libovolnou roli, která je vhodná pro váš případ použití. V seznamu vyberte Přispěvatel dat objektů blob ú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 Core najdete v tématu Začínáme s .NET během 10 minut.