Uwierzytelnianie aplikacji JavaScript w usługach platformy Azure podczas programowania lokalnego przy użyciu kont deweloperów
Podczas tworzenia aplikacji w chmurze deweloperzy muszą debugować i testować aplikacje na lokalnej stacji roboczej. Gdy aplikacja jest uruchamiana na stacji roboczej dewelopera podczas programowania lokalnego, nadal musi uwierzytelniać się w dowolnych usługach platformy Azure używanych przez aplikację. W tym artykule opisano, jak używać poświadczeń platformy Azure dewelopera do uwierzytelniania aplikacji na platformie Azure podczas programowania lokalnego.
Aby aplikacja uwierzytelniła się na platformie Azure podczas programowania lokalnego przy użyciu poświadczeń platformy Azure dla deweloperów, deweloper musi zalogować się do platformy Azure z poziomu rozszerzenia narzędzi platformy Azure programu Visual Studio Code, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Zestaw Azure SDK dla języka JavaScript może wykryć, że deweloper jest zalogowany z jednego z tych narzędzi, a następnie uzyskuje niezbędne poświadczenia z pamięci podręcznej poświadczeń w celu uwierzytelnienia aplikacji na platformie Azure jako zalogowanego użytkownika.
To podejście jest najłatwiejsze do skonfigurowania dla zespołu deweloperów, ponieważ korzysta z istniejących kont platformy Azure deweloperów. Jednak konto dewelopera prawdopodobnie będzie mieć więcej uprawnień niż wymagane przez aplikację, w związku z tym przekroczenie uprawnień uruchamianych przez aplikację w środowisku produkcyjnym. Alternatywnie można utworzyć jednostki usługi aplikacji do użycia podczas tworzenia lokalnego, które mogą być ograniczone tylko do dostępu wymaganego przez aplikację.
1 — Tworzenie grupy Microsoft Entra na potrzeby programowania lokalnego
Ponieważ prawie zawsze istnieje wiele deweloperów, którzy pracują nad aplikacją, zaleca się najpierw utworzenie grupy Entra firmy Microsoft w celu hermetyzacji ról (uprawnień) wymaganych przez aplikację w środowisku lokalnym. Oferuje to następujące korzyści.
- Każdy deweloper ma przypisane te same role, ponieważ role są przypisywane na poziomie grupy.
- Jeśli dla aplikacji jest potrzebna nowa rola, należy ją dodać tylko do grupy Microsoft Entra dla aplikacji.
- Jeśli nowy deweloper dołącza do zespołu, po prostu musi zostać dodany do właściwej grupy Firmy Microsoft Entra, aby uzyskać odpowiednie uprawnienia do pracy nad aplikacją.
Jeśli masz istniejącą grupę Microsoft Entra dla zespołu deweloperów, możesz użyć tej grupy. W przeciwnym razie wykonaj następujące kroki, aby utworzyć grupę firmy Microsoft Entra.
2 — Przypisywanie ról do grupy Microsoft Entra
Następnie należy określić, jakich ról (uprawnień) potrzebuje twoja aplikacja na temat zasobów i przypisać te role do aplikacji. W tym przykładzie role są przypisywane do grupy Microsoft Entra utworzonej w kroku 1. Role mogą być przypisywane do roli w zakresie zasobu, grupy zasobów lub subskrypcji. W tym przykładzie pokazano, jak przypisywać role w zakresie grupy zasobów, ponieważ większość aplikacji grupuje wszystkie zasoby platformy Azure w jedną grupę zasobów.
3 — Logowanie się do platformy Azure przy użyciu programu VS Code, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell
Otwórz terminal na stacji roboczej dewelopera i zaloguj się do platformy Azure z poziomu programu Azure PowerShell.
Connect-AzAccount
4 — Implementowanie wartości domyślnejAzureCredential w aplikacji
Aby uwierzytelnić obiekty klienta zestawu Azure SDK na platformie Azure, aplikacja powinna używać DefaultAzureCredential
klasy z @azure/identity
pakietu. W tym scenariuszu sekwencyjnie sprawdzi, DefaultAzureCredential
czy deweloper zalogował się do platformy Azure przy użyciu rozszerzenia narzędzi platformy Azure programu VS Code, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Jeśli deweloper jest zalogowany na platformie Azure przy użyciu dowolnego z tych narzędzi, poświadczenia używane do logowania się do narzędzia będą używane przez aplikację do uwierzytelniania na platformie Azure za pomocą polecenia .
Zacznij od dodania pakietu @azure/tożsamości do aplikacji.
npm install @azure/identity
Następnie w przypadku dowolnego kodu JavaScript, który tworzy obiekt klienta zestawu Azure SDK w aplikacji, należy wykonać następujące czynności:
- Zaimportuj klasę
DefaultAzureCredential
z modułu@azure/identity
. - Utwórz
DefaultAzureCredential
obiekt. - Przekaż obiekt do konstruktora
DefaultAzureCredential
obiektu klienta zestawu Azure SDK.
Przykład jest pokazany w następującym segmencie kodu.
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
Automatycznie wykryje mechanizm uwierzytelniania skonfigurowany dla aplikacji i uzyska niezbędne tokeny do uwierzytelniania aplikacji na platformie Azure. Jeśli aplikacja korzysta z więcej niż jednego klienta zestawu SDK, ten sam obiekt poświadczeń może być używany z każdym obiektem klienta zestawu SDK.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla