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
- Zařízení založené na Azure Sphere s vývojovými funkcemi.
- Tenant Azure Sphere.
- Nastavte vývojové prostředí pro Azure Sphere.
- Tenant Azure Active Directory (ID tenanta).
- Předplatné Azure.
- Přidejte ID aplikace veřejného rozhraní API Azure Sphere do tenanta Azure.
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:
- Na webu Azure Portal v levém navigačním podokně klikněte na App Services.
- V rozevíracím seznamu zvolte požadovaná předplatná a ve výsledcích hledání vyberte aplikaci.
- V nabídce aplikace logiky v části Nastavení vyberte Identita.
- Povolte identitu přiřazenou systémem tak, že nastavíte stav na Zapnuto.
- Klikněte na Uložit.
- 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í:
- Tenant Azure Sphere: Spusťte příkaz azsphere tenant show-selected pomocí Azure Sphere CLI.
- ID tenanta Azure: Id tenanta najděte prostřednictvím webu Azure Portal. Zkopírujte ID tenanta Azure Active Directory.
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-tttttttttttt
tenanta Azure Sphere a pak přidáme roli Přispěvatel pro tohoto uživatele.
Přihlaste se pomocí přihlášení k Azure Sphere pomocí Rozhraní příkazového řádku Azure Sphere:
azsphere login
Vyberte požadovaného tenanta:
azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
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;
}