Sdílet prostřednictvím


Přístup k veřejnému rozhraní API Azure Sphere pomocí spravované identity AAD

Důležité

Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.

Tuto metodu můžete použít k ověření ve všech službách, které podporují ověřování Azure Active Directory (AAD), bez jakýchkoli přihlašovacích údajů ve vašem kódu. Spravovaná identita AAD zpracovává vytváření nebo obnovení instančních objektů vaším jménem. Jedná se o instanční objekt speciálního typu, který lze použít pouze s prostředky Azure. Po odstranění spravované identity se odpovídající instanční objekt automaticky odebere.

Přiřazené systémem: Některé služby Azure umožňují povolit spravovanou identitu přímo v instanci služby. Například služba Aplikace Azure. Když povolíte spravovanou identitu přiřazenou systémem, vytvoří se identita v Azure AD, která je svázaná s životním cyklem této instance služby. Takže když je tento prostředek odstraněn, Azure identitu automaticky odstraní. Z podstaty této identity vyplývá, že ji může k vyžadování tokenů z Azure AD používat pouze daný prostředek Azure.

Požadavky

Následující část vysvětluje, jak volat veřejné rozhraní API Azure Sphere (PAPI) z webové aplikace Azure pomocí spravované identity.

Krok 1: Povolení identity přiřazené systémem v prostředku

Povolení identity přiřazené systémem v prostředku a vyhledání ID objektu pro projekt:

  1. Na webu Azure Portal v levém navigačním podokně klikněte na App Services.
  2. V rozevíracím seznamu zvolte požadovaná předplatná a ve výsledcích hledání vyberte aplikaci.
  3. V nabídce aplikace logiky v části Nastavení vyberte Identita.
  4. Povolte identitu přiřazenou systémem tak, že nastavíte stav na Zapnuto.
  5. Klikněte na Uložit.
  6. Zkopírujte ID objektu.

Krok 2: Přidání spravované identity do tenanta Azure Sphere

Poznámka:

Před zahájením tohoto kroku se ujistěte, že máte následující:

Azure Sphere považuje instanční objekt za jiného uživatele. Pokud chcete získat token pomocí instančního objektu, nejprve přidejte uživatele instančního objektu do tenanta Azure Sphere a pak pomocí Azure Sphere CLI přiřaďte uživateli v tenantovi Azure Sphere roli.

Identitu uživatele lze vygenerovat jako <ObjectID>@<TenantID.onmicrosoft.com>.

V následujícím příkladu vytvoříme uživatele pomocí kombinace ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx objektu a ID zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz tenanta Azure AD v ID tttttttt-tttt-tttt-tttt-tttttttttttttenanta Azure Sphere a pak přidáme roli Přispěvatel pro tohoto uživatele.

  1. Přihlaste se pomocí přihlášení k Azure Sphere pomocí Rozhraní příkazového řádku Azure Sphere:

    azsphere login
    
  2. Vyberte požadovaného tenanta:

    azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
    
  3. Přidání uživatele do požadované role:

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

Krok 3: Přidání balíčku NuGet Azure.Identity do projektu

Přidejte do projektu balíček NuGet Azure.Identity. Token veřejného rozhraní API Azure Sphere (PAPI) je možné získat pomocí DefaultAzureCredential.

Podívejte se například na fragment kódu:

    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;
    }