Udostępnij za pośrednictwem


Samouczek: uzyskiwanie dostępu do usługi Azure Resource Manager przy użyciu tożsamości zarządzanej przypisanej przez system na maszynie wirtualnej

W tym przewodniku Szybki start pokazano, jak używać tożsamości zarządzanej przypisanej przez system jako tożsamości maszyny wirtualnej w celu uzyskania dostępu do interfejsu API usługi Azure Resource Manager. Tożsamości zarządzane dla zasobów platformy Azure są automatycznie zarządzane przez platformę Azure i umożliwiają uwierzytelnianie w usługach obsługujących uwierzytelnianie firmy Microsoft Entra bez konieczności wstawiania poświadczeń do kodu.

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.

Dowiesz się, jak:

  • Udzielanie maszynie wirtualnej dostępu do grupy zasobów w usłudze Azure Resource Manager
  • Uzyskiwanie tokenu dostępu przy użyciu tożsamości maszyny wirtualnej i używanie go do wywoływania usługi Azure Resource Manager

Uzyskiwanie dostępu do menedżera zasobów przy użyciu przypisanej przez system tożsamości zarządzanej maszyny wirtualnej z systemem Windows

Napiwek

Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.

W tym samouczku wyjaśniono, jak utworzyć tożsamość przypisaną przez system, przypisać ją do maszyny wirtualnej z systemem Windows, a następnie użyć tej tożsamości, aby uzyskać dostęp do interfejsu API usługi Azure Resource Manager . Tożsamości usługi zarządzanej są zarządzane automatycznie przez platformę Azure. Umożliwiają one uwierzytelnianie usługom obsługującym uwierzytelnianie firmy Microsoft Entra bez konieczności osadzania poświadczeń w kodzie.

Dowiesz się, jak:

  • Udziel maszynie wirtualnej dostępu do usługi Azure Resource Manager.
  • Uzyskiwanie tokenu dostępu przy użyciu przypisanej przez system tożsamości zarządzanej maszyny wirtualnej w celu uzyskania dostępu do usługi Resource Manager.
  1. Zaloguj się do witryny Azure Portal przy użyciu konta administratora.

  2. Przejdź do karty Grupy zasobów.

  3. Wybierz grupę zasobów, której chcesz udzielić tożsamości zarządzanej maszyny wirtualnej.

  4. W panelu po lewej stronie wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami).

  5. Wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.

  6. Na karcie Rola wybierz pozycję Czytelnik. Ta rola umożliwia wyświetlanie wszystkich zasobów, ale nie pozwala na wprowadzanie żadnych zmian.

  7. Na karcie Członkowie w polu Przypisz dostęp do wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję + Wybierz członków.

  8. Upewnij się, że na liście rozwijanej Subskrypcja znajduje się odpowiednia subskrypcja. W obszarze Grupa zasobów wybierz pozycję Wszystkie grupy zasobów.

  9. Z listy rozwijanej Zarządzanie tożsamościami wybierz pozycję Maszyna wirtualna.

  10. W obszarze Wybierz wybierz maszynę wirtualną z listy rozwijanej, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający dodawanie roli czytelnika do tożsamości zarządzanej.

Pobranie tokenu dostępu

Użyj przypisanej przez system tożsamości zarządzanej maszyny wirtualnej i wywołaj usługę Resource Manager, aby uzyskać token dostępu.

Aby wykonać te kroki, potrzebujesz klienta SSH. Jeśli używasz systemu Windows, możesz użyć klienta SSH w Podsystem Windows dla systemu Linux. Jeżeli potrzebujesz pomocy w konfigurowaniu kluczy klienta SSH, zobacz Jak używać kluczy SSH z systemem Windows na platformie Azure lub Jak utworzyć i użyć parę publicznego i prywatnego klucza SSH dla maszyn wirtualnych z systemem Linux na platformie Azure.

  1. W portalu przejdź do maszyny wirtualnej z systemem Linux, a następnie w obszarze Przegląd wybierz pozycję Połącz.
  2. Połącz się z maszyną wirtualną przy użyciu wybranego klienta SSH.
  3. W oknie terminalu, używając polecenia curl, prześlij żądanie do lokalnego punktu końcowego tożsamości zarządzanych dla zasobów platformy Azure, aby uzyskać token dostępu dla usługi Azure Resource Manager.   Żądanie programu curl dla tokenu dostępu znajduje się poniżej.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Uwaga

Wartość parametru resource musi być dokładnie zgodna z oczekiwaniami identyfikatora Entra firmy Microsoft. W przypadku identyfikatora zasobu usługi Resource Manager należy uwzględnić końcowy ukośnik identyfikatora URI.

Odpowiedź zawiera token dostępu wymagany do uzyskania dostępu do usługi Azure Resource Manager.

Reakcja:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Użyj tego tokenu dostępu, aby uzyskać dostęp do usługi Azure Resource Manager; na przykład, aby przeczytać szczegóły grupy zasobów, do której wcześniej udzielono tego dostępu do maszyny wirtualnej. Zastąp wartości <SUBSCRIPTION-ID>, <RESOURCE-GROUP>i <ACCESS-TOKEN> utworzonymi wcześniej wartościami .

Uwaga

W adresie URL jest uwzględniana wielkość liter, dlatego upewnij się, że używasz dokładnego przypadku użytego wcześniej podczas nazywania grupy zasobów, a wielkie litery "G" w grupie zasobów.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

Odpowiedź z powrotem z określonymi informacjami o grupie zasobów:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Używanie przypisanej przez system tożsamości zarządzanej maszyny wirtualnej z systemem Linux w celu uzyskania dostępu do grupy zasobów w usłudze Resource Manager

Napiwek

Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.

W tym samouczku wyjaśniono, jak utworzyć tożsamość przypisaną przez system, przypisać ją do maszyny wirtualnej z systemem Linux, a następnie użyć tej tożsamości w celu uzyskania dostępu do interfejsu API usługi Azure Resource Manager . Tożsamości usługi zarządzanej są zarządzane automatycznie przez platformę Azure. Umożliwiają one uwierzytelnianie usługom obsługującym uwierzytelnianie firmy Microsoft Entra bez konieczności osadzania poświadczeń w kodzie.

Dowiedz się, jak odbywa się:

  • Udziel maszynie wirtualnej dostępu do usługi Azure Resource Manager.
  • Uzyskiwanie tokenu dostępu przy użyciu przypisanej przez system tożsamości zarządzanej maszyny wirtualnej w celu uzyskania dostępu do menedżera zasobów.
  1. Zaloguj się do witryny Azure Portal przy użyciu konta administratora.

  2. Przejdź do karty Grupy zasobów.

  3. Wybierz grupę zasobów, której chcesz udzielić tożsamości zarządzanej maszyny wirtualnej.

  4. W panelu po lewej stronie wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami).

  5. Wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.

  6. Na karcie Rola wybierz pozycję Czytelnik. Ta rola umożliwia wyświetlanie wszystkich zasobów, ale nie pozwala na wprowadzanie żadnych zmian.

  7. Na karcie Członkowie w opcji Przypisz dostęp do wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję + Wybierz członków.

  8. Upewnij się, że na liście rozwijanej Subskrypcja znajduje się odpowiednia subskrypcja. W obszarze Grupa zasobów wybierz pozycję Wszystkie grupy zasobów.

  9. Z listy rozwijanej Zarządzanie tożsamościami wybierz pozycję Maszyna wirtualna.

  10. Na liście rozwijanej Wybierz wybierz maszynę wirtualną, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający dodawanie roli czytelnika do tożsamości zarządzanej.

Pobranie tokenu dostępu

Użyj przypisanej przez system tożsamości zarządzanej maszyny wirtualnej i wywołaj menedżera zasobów, aby uzyskać token dostępu.

Aby wykonać te kroki, potrzebujesz klienta SSH. Jeśli używasz systemu Windows, możesz użyć klienta SSH w Podsystem Windows dla systemu Linux. Jeżeli potrzebujesz pomocy w konfigurowaniu kluczy klienta SSH, zobacz Jak używać kluczy SSH z systemem Windows na platformie Azure lub Jak utworzyć i użyć parę publicznego i prywatnego klucza SSH dla maszyn wirtualnych z systemem Linux na platformie Azure.

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej z systemem Linux.
  2. W obszarze Przegląd wybierz pozycję Połącz.
  3. Połącz się z maszyną wirtualną przy użyciu wybranego klienta SSH.
  4. W oknie terminalu, używając polecenia curl, prześlij żądanie do lokalnego punktu końcowego tożsamości zarządzanych dla zasobów platformy Azure, aby uzyskać token dostępu dla usługi Azure Resource Manager.   Żądanie programu curl dla tokenu dostępu znajduje się poniżej.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Uwaga

Wartość parametru resource musi być dokładnie zgodna z oczekiwaniami identyfikatora Entra firmy Microsoft. W przypadku identyfikatora zasobu usługi Resource Manager należy uwzględnić końcowy ukośnik identyfikatora URI.

Odpowiedź zawiera token dostępu potrzebny do uzyskania dostępu do usługi Azure Resource Manager.

Reakcja:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Użyj tego tokenu dostępu, aby uzyskać dostęp do usługi Azure Resource Manager. Aby na przykład przeczytać szczegóły grupy zasobów, do której wcześniej udzielono dostępu tej maszyny wirtualnej. Zastąp wartości <SUBSCRIPTION-ID>, <RESOURCE-GROUP>i <ACCESS-TOKEN> utworzonymi wcześniej wartościami .

Uwaga

W adresie URL jest uwzględniana wielkość liter, dlatego upewnij się, że używasz dokładnego przypadku użytego wcześniej podczas nazywania grupy zasobów, a wielkie litery "G" w pliku resourceGroup.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

Odpowiedź z powrotem z określonymi informacjami o grupie zasobów:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Następne kroki

W tym przewodniku Szybki start przedstawiono sposób użycia przypisanej przez system tożsamości zarządzanej na maszynie wirtualnej w celu uzyskania dostępu do interfejsu API usługi Azure Resource Manager. Aby dowiedzieć się więcej o usłudze Azure Resource Manager, zobacz: