Přístup k veřejnému rozhraní API Azure Sphere pomocí instančního objektu aplikace 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.
Automatizované nástroje vyžadují omezený přístup a neinteraktivní ověřování místo ověřování jako plně privilegovaný uživatel. Toho lze dosáhnout pomocí instančních objektů, které aplikacím umožňují přihlásit se s konkrétními oprávněními. Jednoduše řečeno, instanční objekt Azure funguje jako identita, která se vytvoří v Azure, když je aplikace zaregistrovaná v Azure Active Directory.
V tomto režimu je přístupová oprávnění pro aplikaci v tenantovi Azure Active Directory (AAD) definována instančním objektem, který umožňuje ověřování a autorizaci při přístupu k prostředkům.
Pro instanční objekty, klientské certifikáty a tajné kódy klienta jsou k dispozici dva typy metod ověřování.
Požadavky
- Tenant Azure Active Directory (doména tenanta).
- Tenant Azure Sphere.
- Tajný klíč klienta instančního objektu nebo certifikát X509 použitý k vytvoření instančního objektu ve formátu PEM.
- Přidejte ID aplikace veřejného rozhraní API Azure Sphere do tenanta Azure.
Krok 1: Registrace instančního objektu
- Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.
- Zaregistrujte aplikaci v Azure AD a vytvořte instanční objekt. Poznamenejte si ID klienta.
- Vyberte typ ověřování. Pro instanční objekty jsou k dispozici dva typy ověřování:
- Tajný klíč klienta
- Klientský certifikát
Krok 2: Přidání instančního objektu do tenanta Azure Sphere a přiřazení role
Poznámka:
Před zahájením tohoto kroku se ujistěte, že máte následující:
- Tenant Azure Sphere: Spuštění příkazu **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.
- Vyhledejte jedinečné ID instančního objektu přidruženého k této aplikaci:
- Přejděte na Registrace aplikací a vyberte aplikaci, kterou jste vytvořili v kroku 1: Registrace instančního objektu.
- V části Spravovaná aplikace v místním adresáři vyberte odkaz s názvem vaší aplikace. Popisek pro tento výběr může být zkrácen.
- Na stránce Vlastnosti zkopírujte ID objektu.
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: Registrace tajných klíčů klienta nebo klientských certifikátů pomocí portálu pro registraci aplikací
Tajné kódy klienta a klientské certifikáty umožňují aplikacím identifikovat se v ověřovací službě při přijímání tokenů ve webovém adresovatelném umístění (pomocí schématu HTTPS). Při ověřování v Azure Active Directory doporučujeme místo tajného klíče klienta použít certifikát.
Tajný klíč klienta nebo klientský certifikát pro registraci aplikace je možné použít k získání přístupového tokenu pro veřejné rozhraní API Azure Sphere (PAPI).
Konfigurace aplikace s tajným klíčem klienta
Registrace aplikace s tajným klíčem klienta:
Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.
Přejděte na Registrace aplikací a vyberte aplikaci, kterou jste vytvořili v kroku 1: Registrace instančního objektu.
V levém podokně vyberte oddíl >Certifikáty a tajné kódy> klienta Nový tajný klíč klienta.
Zadejte popis, vyberte dobu trvání platnosti a vyberte Přidat. Tajný klíč klienta se vygeneruje a zobrazí se hodnota tajného klíče klienta.
Zkopírujte hodnotu tajného klíče klienta, protože klíč nebudete moct později načíst.
Zadejte hodnotu tajného klíče klienta s ID aplikace veřejného rozhraní API Azure Sphere, abyste se mohli přihlásit jako aplikaci. Hodnotu klíče uložte na místo, odkud ji aplikace může načíst.
Důležité
Hodnota tajného klíče klienta je důležitými přihlašovacími údaji zabezpečení. Nesdílejte tajný klíč klienta s kýmkoli ani ho nedistribuujte v rámci klientské aplikace. Doporučujeme používat službu Azure Key Vault, která poskytuje centralizovanou správu tajných kódů s plnou kontrolou nad zásadami přístupu a historií auditu.
Použijte následující ukázkový kód:
IConfidentialClientApplication app =
ConfidentialClientApplicationBuilder.Create("<<App registration Client ID>>")
.WithClientSecret("<<App registration Client Secret Value>>")
.WithAuthority(AzureCloudInstance.AzurePublic, "<<3rd Party Tenant Id>>")
.Build();
string[] scopes = new[] { "https://firstparty.sphere.azure.net/api/.default" };
AuthenticationResult result = await app.AcquireTokenForClient(scopes).ExecuteAsync();
string accessToken=result.AccessToken;
Konfigurace aplikace pomocí klientského certifikátu
Nastavení klientského certifikátu:
- Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.
- Přejděte na Registrace aplikací a vyberte aplikaci, kterou jste vytvořili v kroku 1: Registrace instančního objektu.
- V levém podokně vyberte Certifikáty a tajné kódy>>Nahrání certifikátu. Vyberte certifikát (existující certifikát nebo certifikát podepsaný svým držitelem, který jste exportovali).
- Po registraci certifikátu ve vaší aplikaci na portálu pro registraci aplikací povolte, aby kód klientské aplikace používal certifikát.
K registraci aplikace pomocí klientského certifikátu použijte následující ukázkový kód:
IConfidentialClientApplication app =
ConfidentialClientApplicationBuilder.Create("<<App registration Client ID>>")
.WithCertificate("<<App registration Certificate>>")
.WithAuthority(AzureCloudInstance.AzurePublic, "<<3rd Party Tenant Id>>")
.Build();
string[] scopes = new[] { "https://firstparty.sphere.azure.net/api/.default" };
AuthenticationResult result = await app.AcquireTokenForClient(scopes).ExecuteAsync();
string accessToken=result.AccessToken;
Poznámka:
Abyste mohli používat IConfidentialClient, budete muset přidat knihovnu MSAL.Net.