Sdílet prostřednictvím


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

Krok 1: Registrace instančního objektu

  1. Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.
  2. Zaregistrujte aplikaci v Azure AD a vytvořte instanční objekt. Poznamenejte si ID klienta.
  3. 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í:

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: 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:

  1. Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.

  2. Přejděte na Registrace aplikací a vyberte aplikaci, kterou jste vytvořili v kroku 1: Registrace instančního objektu.

  3. V levém podokně vyberte oddíl >Certifikáty a tajné kódy> klienta Nový tajný klíč klienta.

  4. 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.

  5. Zkopírujte hodnotu tajného klíče klienta, protože klíč nebudete moct později načíst.

  6. 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:

  1. Na webu Azure Portal v levém navigačním podokně klikněte na Azure Active Directory.
  2. Přejděte na Registrace aplikací a vyberte aplikaci, kterou jste vytvořili v kroku 1: Registrace instančního objektu.
  3. 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).
  4. 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.