Ověřování aplikací .NET ve službách Azure během místního vývoje pomocí vývojářských účtů
Při vytváření cloudových aplikací musí vývojáři ladit a testovat aplikace na místní pracovní stanici. Když je aplikace spuštěná na pracovní stanici vývojáře během místního vývoje, musí se stále ověřovat u všech služeb Azure, které aplikace používá. Tento článek popisuje, jak pomocí přihlašovacích údajů Azure vývojáře ověřit aplikaci v Azure během místního vývoje.
Aby se aplikace při místním vývoji ověřila v Azure pomocí přihlašovacích údajů Azure vývojáře, musí být vývojář přihlášený k Azure z rozšíření VS Code Azure Tools, Azure CLI nebo Azure PowerShellu. Sada Azure SDK pro .NET dokáže zjistit, že vývojář je přihlášený z některého z těchto nástrojů, a pak z mezipaměti přihlašovacích údajů získat potřebné přihlašovací údaje k ověření aplikace v Azure jako přihlášený uživatel.
Tento přístup je nejjednodušší nastavit pro vývojový tým, protože využívá stávající účty Azure vývojářů. Účet vývojáře ale pravděpodobně bude mít více oprávnění, než vyžaduje aplikace, a proto překročí oprávnění, se kterými se aplikace bude spouštět v produkčním prostředí. Jako alternativu můžete vytvořit instanční objekty aplikace, které se použijí při místním vývoji , které můžou být omezené tak, aby měly přístup potřebný jenom pro aplikaci.
1. Vytvoření skupiny Azure AD pro místní vývoj
Vzhledem k tomu, že na aplikaci pracuje téměř vždy více vývojářů, doporučuje se nejprve vytvořit skupinu Azure AD pro zapouzdření rolí (oprávnění) potřeb aplikace v místním vývoji. To nabízí následující výhody.
- Každý vývojář má jistotu, že má přiřazené stejné role, protože role jsou přiřazené na úrovni skupiny.
- Pokud je pro aplikaci potřeba nová role, stačí ji přidat jenom do skupiny Azure AD pro aplikaci.
- Pokud se nový vývojář připojí k týmu, musí se jednoduše přidat do správné skupiny Azure AD, aby získal správná oprávnění pro práci s aplikací.
Pokud máte pro vývojový tým existující skupinu Azure AD, můžete ji použít. V opačném případě proveďte následující kroky a vytvořte skupinu Azure AD.
2. Přiřazení rolí ke skupině Azure AD
Dále musíte určit, jaké role (oprávnění) vaše aplikace potřebuje k jakým prostředkům, a přiřadit tyto role k aplikaci. V tomto příkladu se role přiřadí skupině Azure Active Directory vytvořené v kroku 1. Role je možné přiřadit roli v oboru prostředku, skupiny prostředků nebo předplatného. Tento příklad ukazuje, jak přiřadit role v oboru skupiny prostředků, protože většina aplikací seskupí všechny prostředky Azure do jedné skupiny prostředků.
3. Přihlášení k Azure pomocí nástrojů .NET
Dále se musíte přihlásit k Azure pomocí některé z několika možností nástrojů .NET. Účet, ke který se přihlašujete, by měl existovat také ve skupině Azure Active Directory, kterou jste vytvořili a nakonfigurovali dříve.
V horní nabídce sady Visual Studio přejděte na Možnosti nástrojů>a otevřete dialogové okno možnosti. Do vyhledávacího panelu v levém horním rohu zadejte Azure a vyfiltrujte možnosti. V části Ověřování služby Azure zvolte Výběr účtu.
Vyberte rozevírací nabídku v části Zvolte účet a zvolte přidat účet Microsoft. Otevře se okno s výzvou k výběru účtu. Zadejte přihlašovací údaje pro požadovaný účet Azure a pak vyberte potvrzení.
4. Implementace defaultAzureCredential ve vaší aplikaci
DefaultAzureCredential
podporuje více metod ověřování a určuje metodu ověřování, která se používá za běhu. Aplikace tak může používat různé metody ověřování v různých prostředích bez implementace kódu specifického pro prostředí.
Pořadí a umístění, ve kterých DefaultAzureCredential
se hledají přihlašovací údaje, najdete na adrese DefaultAzureCredential.
Pokud chcete implementovat DefaultAzureCredential
, nejprve přidejte Azure.Identity
balíčky do aplikace a volitelně je Microsoft.Extensions.Azure
přidejte. Můžete to provést pomocí příkazového řádku nebo Správce balíčků NuGet.
Otevřete prostředí terminálu podle svého výběru v adresáři projektu aplikace a zadejte následující příkaz.
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
Ke službám Azure se obecně přistupuje pomocí odpovídajících klientských tříd ze sady SDK. Tyto třídy a vlastní služby by se měly v Program.cs
souboru zaregistrovat, aby k nim bylo možné přistupovat prostřednictvím injektáže závislostí v celé aplikaci. Program.cs
Uvnitř , postupujte podle následujících kroků k správnému nastavení služby a DefaultAzureCredential
.
- Zahrňte obory
Azure.Identity
názvů doMicrosoft.Extensions.Azure
direktivyusing
. - Zaregistrujte službu Azure pomocí příslušných pomocných metod.
- Předejte instanci
DefaultAzureCredential
objektu metoděUseCredential
.
Příklad je znázorněn v následujícím segmentu kódu.
using Microsoft.Extensions.Azure;
using Azure.Identity;
// Inside of Program.cs
builder.Services.AddAzureClients(x =>
{
x.AddBlobServiceClient(new Uri("https://<account-name>.blob.core.windows.net"));
x.UseCredential(new DefaultAzureCredential());
});
Alternativně můžete ve svých službách využívat DefaultAzureCredential
více přímo bez pomoci dalších metod registrace Azure, jak je znázorněno níže.
using Azure.Identity;
// Inside of Program.cs
builder.Services.AddSingleton<BlobServiceClient>(x =>
new BlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"),
new DefaultAzureCredential()));
Když se výše uvedený kód spustí na místní pracovní stanici během místního vývoje, podívá se do proměnných prostředí pro instanční objekt aplikace nebo v sadě Visual Studio, VS Code, Azure CLI nebo Azure PowerShellu pro sadu přihlašovacích údajů pro vývojáře, z nichž je možné použít k ověření aplikace v prostředcích Azure během místního vývoje.
Když se do Azure nasadí stejný kód, můžete také ověřit aplikaci v jiných prostředcích Azure. DefaultAzureCredential
může načíst nastavení prostředí a konfigurace spravovaných identit pro automatické ověřování v jiných službách.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro