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.
Z tego samouczka dowiesz się, jak używać usługi Konfiguracji Aplikacji Azure razem z usługą Azure Key Vault. Usługa App Configuration i Key Vault to usługi uzupełniające używane obok siebie w większości wdrożeń aplikacji.
Usługa App Configuration pomaga używać usług razem, tworząc klucze odwołujące się do wartości przechowywanych w usłudze Key Vault. Gdy usługa App Configuration tworzy takie klucze, przechowuje identyfikatory URI wartości usługi Key Vault, a nie same wartości.
Aplikacja korzysta z dostawcy klienta usługi App Configuration do pobierania odniesień do usługi Key Vault, tak samo jak do innych kluczy przechowywanych w usłudze App Configuration. W takim przypadku wartości przechowywane w usłudze App Configuration to identyfikatory URI odwołujące się do wartości w usłudze Key Vault. Nie są to wartości ani poświadczenia usługi Key Vault. Ponieważ dostawca klienta rozpoznaje klucze jako odwołania do usługi Key Vault, używa usługi Key Vault do pobierania ich wartości.
Aplikacja jest odpowiedzialna za prawidłowe uwierzytelnianie zarówno w usłudze App Configuration, jak i usłudze Key Vault. Obie usługi nie komunikują się bezpośrednio.
W tym samouczku pokazano, jak zaimplementować odwołania do usługi Key Vault w kodzie. Jest ona oparta na aplikacji internetowej wprowadzonej w przewodniku Szybki start. Przed kontynuowaniem ukończ najpierw tworzenie aplikacji Java Spring za pomocą usługi App Configuration .
Aby wykonać kroki opisane w tym samouczku, możesz użyć dowolnego edytora kodu. Na przykład program Visual Studio Code jest międzyplatformowym edytorem kodu dostępnym dla systemów operacyjnych Windows, macOS i Linux.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz klucz usługi App Configuration, który odwołuje się do wartości przechowywanej w usłudze Key Vault.
- Uzyskaj dostęp do wartości tego klucza z poziomu aplikacji Java Spring.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Obsługiwany zestaw Java Development Kit (JDK) w wersji 17.
- Apache Maven w wersji 3.0 lub nowszej.
- Ukończ realizację szybkiego startu Tworzenie aplikacji Java Spring z użyciem usługi App Configuration.
Stwórz magazyn kluczy
Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Utwórz zasób.
W polu wyszukiwania wprowadź Key Vault. Na liście wyników wybierz pozycję Key Vault.
Na stronie Key Vault wybierz pozycję Utwórz.
Na stronie Tworzenie magazynu kluczy wprowadź następujące informacje:
- W obszarze Subskrypcja: wybierz subskrypcję.
- W polu Grupa zasobów: wprowadź nazwę istniejącej grupy zasobów lub wybierz pozycję Utwórz nową i wprowadź nazwę grupy zasobów.
- W polu Nazwa magazynu kluczy: wprowadź unikatową nazwę.
- W polu Region: wybierz lokalizację.
W przypadku innych opcji użyj wartości domyślnych.
Wybierz opcję Recenzja + utwórz.
Po zweryfikowaniu i wyświetleniu danych wejściowych przez system wybierz pozycję Utwórz.
Na tym etapie Twoje konto Azure jest jedynym autoryzowanym do dostępu do tego nowego skarbca.
Dodaj tajemnicę do usługi Key Vault
Dodaj tajemnicę do magazynu, aby przetestować pobieranie Key Vault. Sekret nazywa się Message, a jego wartość to "Witaj z usługi Key Vault".
W menu zasobów usługi Key Vault wybierz pozycję Obiekty>Sekrety.
Wybierz Generuj/Import.
W oknie dialogowym Tworzenie sekretu wprowadź następujące wartości:
- W polu Opcje przekazywania wprowadź Manual.
- W polu Nazwa: wprowadź komunikat.
- W polu Wartość tajna: wprowadź Hello from Key Vault.
W przypadku innych opcji użyj wartości domyślnych.
Wybierz pozycję Utwórz.
Dodawanie odwołania do usługi Key Vault do usługi App Configuration
Zaloguj się w witrynie Azure Portal. Wybierz Wszystkie zasoby, a następnie wybierz magazyn usługi App Configuration.
Wybierz pozycję Eksplorator konfiguracji.
Wybierz + Utwórz>odwołanie do magazynu kluczy, a następnie podaj następujące wartości:
- Klucz: wprowadź /application/config.keyVaultMessage.
- Etykieta: pozostaw tę wartość pustą.
- Subskrypcja, grupa zasobów i magazyn kluczy: wprowadź wartości odpowiadające magazynowi kluczy utworzonemu w poprzedniej sekcji.
- Wpis tajny: wybierz wpis tajny o nazwie Komunikat utworzony w poprzedniej sekcji.
Udzielanie aplikacji dostępu do usługi Key Vault
Aplikacja używa DefaultAzureCredential do uwierzytelniania zarówno w App Configuration, jak i w Key Vault. To poświadczenie działa automatycznie z tożsamościami zarządzanymi w Azure, oraz z poświadczeniami deweloperskimi lokalnie.
Udziel swojej tożsamości dostępu do Key Vault. Przypisz rolę Użytkownik tajnych danych Key Vault do konta użytkownika lub tożsamości zarządzanej.
az role assignment create --role "Key Vault Secrets User" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name> --assignee <your-azure-ad-user-or-managed-identity>Udziel tożsamości dostępu do usługi App Configuration. Przypisz rolę Czytelnik danych konfiguracji aplikacji :
az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.AppConfiguration/configurationStores/<your-app-configuration-store> --assignee <your-azure-ad-user-or-managed-identity>
Zaktualizuj swój kod, aby użyć odwołania do Key Vault
Utwórz zmienną środowiskową o nazwie APP_CONFIGURATION_ENDPOINT. Ustaw wartość tego parametru na punkt końcowy magazynu konfiguracji aplikacji. Punkt końcowy można znaleźć w panelu Klucze dostępu w portalu Azure. Uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmiany.
Otwórz plik konfiguracji w folderze resources . Zaktualizuj ten plik, aby użyć wartości APP_CONFIGURATION_ENDPOINT . Usuń wszystkie odwołania do ciągu połączenia w tym pliku.
spring:
config:
import: azureAppConfiguration
cloud:
azure:
appconfiguration:
stores:
- endpoint: ${APP_CONFIGURATION_ENDPOINT}
Uwaga
Możesz również użyć globalnych konfiguracji Spring Cloud Azure do nawiązania połączenia z usługą Key Vault.
Otwórz MyProperties.java. Dodaj nową zmienną o nazwie keyVaultMessage:
private String keyVaultMessage; public String getKeyVaultMessage() { return keyVaultMessage; } public void setKeyVaultMessage(String keyVaultMessage) { this.keyVaultMessage = keyVaultMessage; }Otwórz HelloController.java. Zaktualizuj metodę getMessage, aby uwzględnić komunikat pobrany z usługi Key Vault.
@GetMapping public String getMessage() { return "Message: " + properties.getMessage() + "\nKey Vault message: " + properties.getKeyVaultMessage(); }Skompiluj aplikację Spring Boot za pomocą narzędzia Maven i uruchom ją, na przykład:
mvn clean package mvn spring-boot:runPo uruchomieniu aplikacji użyj narzędzia curl , aby przetestować aplikację, na przykład:
curl -X GET http://localhost:8080/Widzisz wiadomość, którą wprowadziłeś w magazynie App Configuration. Zostanie również wyświetlony komunikat wprowadzony w usłudze Key Vault.
Czyszczenie zasobów
Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo niewłaściwej grupy zasobów lub zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.
- Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
- W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
- Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
- Wybierz pozycję Usuń grupę zasobów.
- Poproszono cię o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.
Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.
Następne kroki
W tym samouczku utworzono klucz konfiguracji aplikacji, który odwołuje się do wartości znajdującej się w usłudze Key Vault. W celu uzyskania dalszych informacji zapoznaj się z dokumentacją referencyjną, która zawiera wszystkie szczegóły dotyczące działania biblioteki Spring Cloud Azure App Configuration. Aby dowiedzieć się, jak używać flag funkcji w aplikacji Java Spring, przejdź do następnego samouczka.