Udostępnij za pośrednictwem


Uzyskiwanie dostępu do publicznego interfejsu API usługi Azure Sphere przy użyciu tożsamości zarządzanej usługi AAD

Ta metoda umożliwia uwierzytelnianie w dowolnej usłudze obsługującej uwierzytelnianie usługi Azure Active Directory (AAD) bez żadnych poświadczeń w kodzie. Tożsamość zarządzana usługi AAD obsługuje tworzenie lub odnawianie jednostek usługi w Twoim imieniu. Jest to jednostka usługi specjalnego typu, która może być używana tylko z zasobami platformy Azure. Po usunięciu tożsamości zarządzanej odpowiednia jednostka usługi zostanie automatycznie usunięta.

Przypisane przez system: niektóre usługi platformy Azure umożliwiają włączenie tożsamości zarządzanej bezpośrednio w wystąpieniu usługi. Na przykład usługa aplikacja systemu Azure. Po włączeniu tożsamości zarządzanej przypisanej przez system tożsamość jest tworzona w usłudze Azure AD, która jest powiązana z cyklem życia tego wystąpienia usługi. Dlatego po usunięciu zasobu platforma Azure automatycznie usuwa tożsamość. Zgodnie z projektem tylko ten zasób platformy Azure może używać tej tożsamości do żądania tokenów z usługi Azure AD.

Wymagania wstępne

W poniższej sekcji wyjaśniono, jak wywołać publiczny interfejs API usługi Azure Sphere (PAPI) z aplikacji internetowej platformy Azure przy użyciu tożsamości zarządzanej.

Krok 1. Włączanie tożsamości przypisanej przez system w zasobie

Aby włączyć tożsamość przypisaną przez system w zasobie i znaleźć identyfikator obiektu dla projektu:

  1. W witrynie Azure Portal w okienku nawigacji po lewej stronie kliknij pozycję App Services.
  2. Wybierz wymagane subskrypcje z listy rozwijanej i wybierz aplikację z wyników wyszukiwania.
  3. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Tożsamość.
  4. Włącz tożsamość przypisaną przez system, ustawiając wartość Stan na Włączone.
  5. Kliknij przycisk Zapisz.
  6. Skopiuj identyfikator obiektu.

Krok 2. Dodawanie tożsamości zarządzanej do dzierżawy usługi Azure Sphere

Uwaga

Przed rozpoczęciem tego kroku upewnij się, że masz następujące elementy:

Usługa Azure Sphere traktuje jednostkę usługi jako innego użytkownika. Aby uzyskać token przy użyciu jednostki usługi, najpierw dodaj użytkownika jednostki usługi do dzierżawy usługi Azure Sphere, a następnie przypisz rolę do użytkownika w dzierżawie usługi Azure Sphere przy użyciu interfejsu wiersza polecenia usługi Azure Sphere.

Tożsamość użytkownika można wygenerować jako <ObjectID>@<TenantID.onmicrosoft.com>.

W poniższym przykładzie utworzymy użytkownika przy użyciu kombinacji identyfikatora obiektu i identyfikatora xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxzzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz dzierżawy usługi Azure AD w identyfikatorze tttttttt-tttt-tttt-tttt-ttttttttttttdzierżawy usługi Azure Sphere, a następnie dodamy rolę Współautor dla tego użytkownika.

  1. Zaloguj się przy użyciu logowania do usługi Azure Sphere przy użyciu interfejsu wiersza polecenia usługi Azure Sphere:

    azsphere login
    
  2. Wybierz wymaganą dzierżawę:

    azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
    
  3. Aby dodać użytkownika do wymaganej roli:

    azsphere role add --role Contributor --user xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz.onmicrosoft.com
    

Krok 3. Dodawanie pakietu NuGet Azure.Identity w projekcie

Dodaj pakiet NuGet Azure.Identity w projekcie. Token publicznego interfejsu API (PAPI) usługi Azure Sphere można uzyskać domyślnieAzureCredential.

Na przykład zobacz fragment kodu:

    public static async Task<string> GetAS3Token()
    {
        DefaultAzureCredential credential = new DefaultAzureCredential();
        var result = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(
        new[] { "https://firstparty.sphere.azure.net/api/.default" }));
        return result.Token;
    }