Samouczek: używanie przypisanej przez system tożsamości zarządzanej maszyny wirtualnej systemu Windows w celu uzyskania dostępu do usługi Azure Key Vault
Tożsamości zarządzane dla zasobów platformy Azure to funkcja identyfikatora Entra firmy Microsoft. Każda usługa platformy Azure obsługująca tożsamości zarządzane dla zasobów platformy Azure ma własną oś czasu. Pamiętaj, aby przed rozpoczęciem sprawdzić stan dostępności tożsamości zarządzanych dla swojego zasobu i znane problemy.
W tym samouczku pokazano, jak maszyna wirtualna z systemem Windows może używać przypisanej przez system tożsamości zarządzanej w celu uzyskania dostępu do usługi Azure Key Vault. Usługa Key Vault umożliwia aplikacji klienckiej używanie wpisu tajnego do uzyskiwania dostępu do zasobów, które nie są zabezpieczone przez identyfikator Entra firmy Microsoft. Tożsamości zarządzane są automatycznie zarządzane przez platformę Azure. Umożliwiają one uwierzytelnianie w usługach obsługujących uwierzytelnianie firmy Microsoft Entra bez uwzględniania informacji uwierzytelniania w kodzie.
Dowiedz się, jak odbywa się:
- Udzielanie maszynie wirtualnej dostępu do wpisu tajnego przechowywanego w usłudze Key Vault
- Uzyskiwanie tokenu dostępu przy użyciu tożsamości maszyny wirtualnej oraz używanie go do pobrania wpisu tajnego z usługi Key Vault
Wymagania wstępne
- Znajomość tożsamości zarządzanych. Jeśli nie znasz funkcji tożsamości zarządzanych dla zasobów platformy Azure, zobacz to omówienie.
- Konto platformy Azure, utwórz bezpłatne konto.
- Uprawnienia "Właściciel" w odpowiednim zakresie (subskrypcja lub grupa zasobów) do wykonania wymaganych kroków tworzenia zasobów i zarządzania rolami. Jeśli potrzebujesz pomocy dotyczącej przypisywania ról, zobacz Przypisywanie ról platformy Azure w celu zarządzania dostępem do zasobów subskrypcji platformy Azure.
- Potrzebna jest również maszyna wirtualna z systemem Windows z włączoną przypisaną przez system tożsamościami zarządzanymi.
- Jeśli musisz utworzyć maszynę wirtualną na potrzeby tego samouczka, możesz skorzystać z artykułu zatytułowanego Tworzenie maszyny wirtualnej z włączoną tożsamością przypisaną przez system
Tworzenie usługi Key Vault
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
W tej sekcji pokazano, jak udzielić maszynie wirtualnej dostępu do wpisu tajnego przechowywanego w usłudze Key Vault. W przypadku korzystania z tożsamości zarządzanych dla zasobów platformy Azure kod może uzyskać tokeny dostępu do uwierzytelniania w zasobach obsługujących uwierzytelnianie firmy Microsoft Entra. Jednak nie wszystkie usługi platformy Azure obsługują uwierzytelnianie firmy Microsoft Entra. Aby użyć tożsamości zarządzanych dla zasobów platformy Azure z tymi usługami, zapisz poświadczenia usługi w usłudze Azure Key Vault, a następnie użyj tożsamości zarządzanej maszyny wirtualnej, aby uzyskać dostęp do usługi Key Vault i pobrać te poświadczenia.
Najpierw musimy utworzyć usługę Key Vault i udzielić przypisanej przez system tożsamości zarządzanej naszej maszyny wirtualnej dostępu do usługi Key Vault.
Zaloguj się do witryny [Azure Portal]portal](https://portal.azure.com/).
W górnej części lewego paska nawigacyjnego wybierz pozycję Utwórz zasób.
W polu Wyszukaj w witrynie Marketplace wpisz ciąg Key Vault i naciśnij klawisz Enter.
Wybierz pozycję Key Vault z wyników.
Wybierz pozycję Utwórz.
Podaj nazwę nowego magazynu kluczy.
Wypełnij wszystkie wymagane informacje. Upewnij się, że wybrano subskrypcję i grupę zasobów używaną na potrzeby tego samouczka.
Wybierz pozycję Przejrzyj i utwórz
Wybierz pozycję Utwórz
Utwórz klucz tajny
Następnie dodaj wpis tajny do usługi Key Vault, aby móc pobrać go później przy użyciu kodu uruchomionego na maszynie wirtualnej. W tym samouczku używamy programu PowerShell, ale te same pojęcia dotyczą dowolnego kodu wykonywanego na tej maszynie wirtualnej.
Przejdź do nowo utworzonego magazynu kluczy.
Wybierz pozycję Wpisy tajne i wybierz pozycję Dodaj.
Wybieranie pozycji Generuj/Importuj
Na ekranie Tworzenie wpisu tajnego w obszarze Opcje przekazywania pozostaw wybraną opcję Ręczne .
Wprowadź nazwę i wartość wpisu tajnego. Wartość może być dowolna.
Pozostaw pustą datę aktywacji i datę wygaśnięcia oraz zostaw opcję Włączone ustawioną na wartość Tak.
Wybierz pozycję Utwórz , aby utworzyć wpis tajny.
Udzielanie dostępu
Tożsamość zarządzana używana przez maszynę wirtualną musi mieć dostęp do odczytu wpisu tajnego, który będzie przechowywany w usłudze Key Vault.
Przejdź do nowo utworzonej usługi Key Vault
Wybierz pozycję Zasady dostępu z menu po lewej stronie.
Wybierz pozycję Dodaj zasady dostępu
W sekcji Dodawanie zasad dostępu w obszarze Konfigurowanie z szablonu (opcjonalnie) wybierz pozycję Zarządzanie wpisami tajnymi z menu rozwijanego.
Wybierz opcję Wybierz podmiot zabezpieczeń, a następnie w polu wyszukiwania wprowadź nazwę wcześniej utworzonej maszyny wirtualnej. Wybierz maszynę wirtualną z listy wyników, a następnie wybierz pozycję Wybierz.
Wybierz Dodaj
Wybierz pozycję Zapisz.
Uzyskiwanie dostępu do danych
W tej sekcji pokazano, jak uzyskać token dostępu przy użyciu tożsamości maszyny wirtualnej i użyć go do pobrania wpisu tajnego z usługi Key Vault. Jeśli nie masz zainstalowanego programu PowerShell 4.3.1 (lub nowszej wersji), musisz pobrać i zainstalować najnowszą wersję.
Najpierw użyjemy przypisanej przez system tożsamości zarządzanej maszyny wirtualnej, aby uzyskać token dostępu do uwierzytelniania w usłudze Key Vault:
- W portalu przejdź do pozycji Maszyny wirtualne i przejdź do maszyny wirtualnej z systemem Windows, a następnie w obszarze Przegląd wybierz pozycję Połączenie.
- Wprowadź nazwę użytkownika i hasło dodane podczas tworzenia maszyny wirtualnej z systemem Windows.
- Po utworzeniu Połączenie pulpitu zdalnego z maszyną wirtualną otwórz program PowerShell w sesji zdalnej.
- W programie PowerShell wywołaj żądanie internetowe w dzierżawie, aby uzyskać token dla hosta lokalnego w konkretnym porcie dla maszyny wirtualnej.
Żądanie programu PowerShell:
$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -Method GET -Headers @{Metadata="true"}
Możesz zobaczyć, jak wygląda odpowiedź poniżej:
Następnie wyodrębnij token dostępu z odpowiedzi.
$KeyVaultToken = $Response.access_token
Na koniec użyj polecenia Invoke-WebRequest programu PowerShell, aby pobrać wpis tajny utworzony wcześniej w usłudze Key Vault, przekazując token dostępu w nagłówku autoryzacji. Będziesz potrzebować adresu URL usługi Key Vault, który znajduje się w sekcji Podstawowe elementy na stronie Przegląd usługi Key Vault.
Invoke-RestMethod -Uri https://<your-key-vault-URL>/secrets/<secret-name>?api-version=2016-10-01 -Method GET -Headers @{Authorization="Bearer $KeyVaultToken"}
Odpowiedź będzie wyglądać następująco:
value id attributes
----- -- ----------
'My Secret' https://mi-lab-vault.vault.azure.net/secrets/mi-test/50644e90b13249b584c44b9f712f2e51 @{enabled=True; created=16…
Po pobraniu wpisu tajnego z usługi Key Vault możesz użyć go do uwierzytelnienia w usłudze wymagającej nazwy i hasła.
Czyszczenie zasobów
Jeśli chcesz wyczyścić zasoby, zaloguj się do witryny Azure Portal, wybierz pozycję Grupy zasobów, znajdź i wybierz grupę zasobów utworzoną w procesie tego samouczka (na przykład mi-test
), a następnie użyj polecenia Usuń grupę zasobów.
Możesz również wyczyścić zasoby za pomocą programu PowerShell lub interfejsu wiersza polecenia
Następne kroki
W tym samouczku przedstawiono sposób używania przypisanej przez system tożsamości zarządzanej maszyny wirtualnej z systemem Windows w celu uzyskania dostępu do usługi Azure Key Vault. Aby dowiedzieć się więcej o usłudze Azure Key Vault, zobacz: