Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas programowania lokalnego aplikacje muszą uwierzytelniać się w Azure w celu uzyskania dostępu do różnych usług Azure. Możesz uwierzytelnić się lokalnie przy użyciu jednego z następujących metod:
- Użyj konta dewelopera z jednym z narzędzi deweloperskich obsługiwanych przez bibliotekę Azure Identity.
- Użyj jednostki usługi. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie aplikacji Java względem usług Azure podczas lokalnego programowania przy użyciu zasad dostępu do usług.
W tym artykule wyjaśniono, jak uwierzytelniać się przy użyciu konta dewelopera z narzędziami obsługiwanymi przez bibliotekę Azure Identity. Z tego artykułu dowiesz się:
- Jak używać grup Microsoft Entra do wydajnego zarządzania uprawnieniami dla wielu kont deweloperów.
- Jak przypisywać role do kont deweloperów w celu określenia zakresu uprawnień.
- Jak zalogować się do obsługiwanych lokalnych narzędzi programistycznych.
- Jak uwierzytelnić się przy użyciu konta dewelopera z poziomu kodu aplikacji.
Obsługiwane narzędzia deweloperskie do uwierzytelniania
Podczas programowania lokalnego aplikacja może uwierzytelniać się w Azure przy użyciu poświadczeń Azure. Aby to uwierzytelnianie działało, musisz zalogować się do Azure z poziomu narzędzia dewelopera, takiego jak jeden z następujących elementów:
- Azure CLI
- CLI dla Deweloperów Azure
- Azure PowerShell
- Visual Studio Code
- IntelliJ IDEA
Biblioteka Azure Identity może wykryć, że deweloper jest zalogowany z jednego z tych narzędzi. Biblioteka może następnie uzyskać token dostępu Microsoft Entra przez narzędzie, aby uwierzytelnić aplikację w Azure jako zalogowany użytkownik.
Takie podejście korzysta z istniejących kont Azure dewelopera w celu usprawnienia procesu uwierzytelniania. Jednak konto dewelopera prawdopodobnie ma więcej uprawnień niż aplikacja wymaga, dlatego przekracza uprawnienia uruchamiane przez aplikację w środowisku produkcyjnym. Alternatywnie można utworzyć zasady usługi aplikacji do użytku w trakcie lokalnego rozwoju, którym można przypisać jedynie dostęp wymagany przez aplikację.
Tworzenie grupy Microsoft Entra na potrzeby lokalnego rozwoju
Utwórz grupę Microsoft Entra, aby skupiać role (uprawnienia), których aplikacja potrzebuje w środowisku lokalnym, zamiast przypisywać role do poszczególnych obiektów głównych usług. Takie podejście zapewnia następujące korzyści:
- Każdy deweloper ma te same role przypisane na poziomie grupy.
- Jeśli dla aplikacji jest potrzebna nowa rola, należy ją dodać tylko do grupy aplikacji.
- Jeśli nowy deweloper dołączy do zespołu, zostanie utworzona nowa jednostka usługi aplikacji dla dewelopera i dodana do grupy, zapewniając deweloperowi odpowiednie uprawnienia do pracy nad aplikacją.
Przejdź do strony przeglądu Microsoft Entra ID w portalu Azure.
Wybierz pozycję Wszystkie grupy z menu po lewej stronie.
Na stronie Grupy wybierz pozycję Nowa grupa.
Na stronie Nowa grupa wypełnij następujące pola formularza:
- Typ grupy: wybierz pozycję Zabezpieczenia.
- Nazwa grupy: wprowadź nazwę grupy, która zawiera odwołanie do nazwy aplikacji lub środowiska.
- Opis grupy: wprowadź opis, który wyjaśnia przeznaczenie grupy.
Wybierz link Nie wybrano członków w obszarze Członkowie, aby dodać członków do grupy.
W wyświetlonym panelu wysuwanym wyszukaj utworzoną wcześniej jednostkę usługi i wybierz ją z filtrowanych wyników. Wybierz przycisk Wybierz w dolnej części panelu, aby potwierdzić wybór.
Wybierz pozycję Utwórz w dolnej części strony Nowa grupa , aby utworzyć grupę i wrócić do strony Wszystkie grupy . Jeśli nie widzisz nowej grupy na liście, zaczekaj chwilę i odśwież stronę.
Przypisywanie ról do grupy
Następnie określ, jakich ról (uprawnień) potrzebuje twoja aplikacja na temat zasobów i przypisz te role do utworzonej grupy Microsoft Entra. Grupy można przypisać 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 Azure w jedną grupę zasobów.
W portalu Azure przejdź do strony Overview grupy zasobów zawierającej aplikację.
Wybierz Kontrola dostępu (IAM) z nawigacji po lewej stronie.
Na stronie Kontrola dostępu (zarządzanie dostępem i tożsamościami) wybierz pozycję + Dodaj , a następnie z menu rozwijanego wybierz pozycję Dodaj przypisanie roli . Strona Dodawanie przypisania roli zawiera kilka kart do konfigurowania i przypisywania ról.
Na karcie Rola użyj pola wyszukiwania, aby zlokalizować rolę, którą chcesz przypisać. Wybierz rolę, a następnie wybierz pozycję Dalej.
Na karcie Członkowie:
- W polu Przypisz dostęp do wartości wybierz pozycję Użytkownik, grupa lub jednostka usługi .
- Dla wartości Członkowie wybierz pozycję + Wybierz członków , aby otworzyć panel wysuwany Wybieranie członków .
- Wyszukaj utworzoną wcześniej grupę Microsoft Entra i wybierz ją z filtrowanych wyników. Wybierz , a następnie, aby wybrać grupę i zamknąć wysuwane okno.
- Wybierz Przejrzyj + przypisz na dole zakładki Członkowie.
Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz w dolnej części strony.
Zaloguj się do Azure przy użyciu narzędzi deweloperskich
Następnie zaloguj się do Azure przy użyciu jednego z narzędzi deweloperskich, których można użyć do przeprowadzenia uwierzytelniania w środowisku deweloperów. Konto, które uwierzytelnisz, powinno również istnieć w utworzonej i skonfigurowanej wcześniej grupie Microsoft Entra.
- Visual Studio Code
- IntelliJ IDEA
- Azure CLI
- interfejs wiersza polecenia dewelopera Azure
- Azure PowerShell
Deweloperzy korzystający z Visual Studio Code mogą uwierzytelniać się przy użyciu konta dewelopera bezpośrednio za pośrednictwem edytora za pośrednictwem brokera. Aplikacje korzystające z DefaultAzureCredential lub VisualStudioCodeCredential mogą następnie używać tego konta do uwierzytelniania żądań aplikacji poprzez bezproblemowe jednokrotne logowanie.
W Visual Studio Code przejdź do panelu Extensions i zainstaluj rozszerzenie Azure Resources. To rozszerzenie umożliwia wyświetlanie zasobów Azure i zarządzanie nimi bezpośrednio z Visual Studio Code. Używa również wbudowanego dostawcy uwierzytelniania Visual Studio Code firmy Microsoft do uwierzytelniania za pomocą Azure.
Otwórz paletę poleceń w Visual Studio Code, a następnie wyszukaj i wybierz Azure: Zaloguj.
Napiwek
Otwórz paletę poleceń przy użyciu
Ctrl+Shift+Pw Windows/Linux lubCmd+Shift+Pw systemie macOS.
Uwierzytelnianie w usługach Azure z aplikacji
Biblioteka Azure Identity library udostępnia implementacje TokenCredential które obsługują różne scenariusze i przepływy uwierzytelniania Microsoft Entra. W poniższych krokach pokazano, jak używać poświadczeń defaultAzureCredential lub określonego narzędzia programistycznego podczas pracy z kontami użytkowników lokalnie.
Implementowanie kodu
Dodaj zależność
azure-identitydo plikupom.xml:<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> </dependency>Wybierz jedną z implementacji poświadczeń na podstawie danego scenariusza.
- Użyj poświadczeń specyficznych dla narzędzia programistycznego: ta opcja jest najlepsza w przypadku scenariuszy pojedynczej osoby lub jednego narzędzia.
- Użyj poświadczeń dostępnych do użycia w dowolnym narzędziu programistycznym: ta opcja jest najlepsza dla projektów open source i różnych zespołów narzędzi.
Używanie poświadczeń specyficznych dla narzędzia programistycznego
Przekaż wystąpienie TokenCredential odpowiadające określonemu narzędziu programistycznemu do konstruktora klienta usługi Azure, na przykład AzureCliCredential.
import com.azure.identity.AzureCliCredential;
import com.azure.identity.AzureCliCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
AzureCliCredential credential = new AzureCliCredentialBuilder().build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Każde dane uwierzytelniające narzędzia są zgodne z tym samym wzorcem. Zastąp typ identyfikatora i jego odpowiedniego konstruktora w razie potrzeby.
AzureCliCredential/AzureCliCredentialBuilderAzureDeveloperCliCredential/AzureDeveloperCliCredentialBuilderAzurePowerShellCredential/AzurePowerShellCredentialBuilderIntelliJCredential/IntelliJCredentialBuilderVisualStudioCodeCredential/VisualStudioCodeCredentialBuilder
Używanie poświadczeń dostępnych do użycia w dowolnym narzędziu programistycznym
Użyj wystąpienia DefaultAzureCredential, które jest zoptymalizowane do wszystkich lokalnych narzędzi programistycznych. W tym przykładzie zmienna środowiskowa AZURE_TOKEN_CREDENTIALS jest ustawiona na dev. Aby uzyskać więcej informacji, zobacz Wykluczanie kategorii typu poświadczeń.
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)
.build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Dalsze kroki
W tym artykule opisano uwierzytelnianie podczas programowania przy użyciu poświadczeń dostępnych na komputerze. Ta forma uwierzytelniania jest jednym z wielu sposobów uwierzytelniania w Azure SDK na potrzeby Java. W poniższych artykułach opisano inne sposoby:
- Uwierzytelnienie aplikacji Java w usługach Azure podczas lokalnego rozwoju za pomocą zasad usługi
- Uwierzytelnianie aplikacji Java hostowanych w Azure do zasobów Azure przy użyciu tożsamości zarządzanej przypisanej przez system
- Uwierzytelnianie aplikacji Java hostowanych w Azure w celu uzyskania dostępu do zasobów Azure przy użyciu tożsamości zarządzanej przypisanej użytkownikowi
Jeśli wystąpią problemy związane z uwierzytelnianiem środowiska deweloperskiego, zobacz Rozwiązywanie problemów z uwierzytelnianiem środowiska deweloperskiego.
Po uwierzytelnieniu głównym zobacz Konfiguruj logowanie w Azure SDK dla Java aby uzyskać informacje na temat funkcji rejestrowania udostępnianych przez zestaw SDK.