Ověřování javascriptových aplikací 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í Visual Studio Code Azure Tools, Azure CLI nebo Azure PowerShellu. Sada Azure SDK pro JavaScript 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í, která aplikace běží 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, což může být vymezeno tak, aby měly přístup potřebný jenom pro aplikaci.
1. Vytvoření skupiny Microsoft Entra 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 Microsoft Entra, která zapouzdří role (oprávnění), které aplikace potřebuje 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 Microsoft Entra pro aplikaci.
- Pokud se nový vývojář připojí k týmu, musí být jednoduše přidán do správné skupiny Microsoft Entra, aby získal správná oprávnění pro práci s aplikací.
Pokud máte pro vývojový tým existující skupinu Microsoft Entra, můžete ji použít. V opačném případě proveďte následující kroky a vytvořte skupinu Microsoft Entra.
2. Přiřazení rolí ke skupině Microsoft Entra
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 jsou role přiřazeny ke skupině Microsoft Entra 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í seskupuje všechny prostředky Azure do jedné skupiny prostředků.
3. Přihlášení k Azure pomocí VS Code, Azure CLI nebo Azure PowerShellu
Otevřete terminál na vývojářské pracovní stanici a přihlaste se k Azure z Azure PowerShellu.
Connect-AzAccount
4. Implementace defaultAzureCredential ve vaší aplikaci
K ověřování klientských objektů sady Azure SDK v Azure by vaše aplikace měla používat DefaultAzureCredential
třídu z @azure/identity
balíčku. V tomto scénáři postupně zkontrolujete, DefaultAzureCredential
jestli se vývojář přihlásil k Azure pomocí rozšíření nástrojů Azure VS Code, Azure CLI nebo Azure PowerShellu. Pokud je vývojář přihlášený k Azure pomocí některého z těchto nástrojů, použije aplikace přihlašovací údaje použité k přihlášení k nástroji k ověření v Azure.
Začněte přidáním balíčku @azure/identity do aplikace.
npm install @azure/identity
V dalším kroku pro libovolný javascriptový kód, který ve vaší aplikaci vytvoří objekt klienta sady Azure SDK, budete chtít:
- Naimportujte třídu
DefaultAzureCredential
z@azure/identity
modulu. - Vytvoření objektu
DefaultAzureCredential
DefaultAzureCredential
Předejte objekt konstruktoru klientského objektu sady Azure SDK.
Příklad je znázorněn v následujícím segmentu kódu.
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
// Acquire a credential object
const tokenCredential = DefaultAzureCredential();
const blobServiceClient = BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
tokenCredential
);
DefaultAzureCredential
automaticky rozpozná mechanismus ověřování nakonfigurovaný pro aplikaci a získá potřebné tokeny pro ověření aplikace v Azure. Pokud aplikace používá více než jednoho klienta sady SDK, lze stejný objekt přihlašovacích údajů použít s každým objektem klienta sady SDK.