共用方式為


使用 AAD 受控識別存取 Azure Sphere 公用 API

重要

這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。

您可以使用此方法向任何支援 Azure Active Directory (AAD) 驗證的服務進行驗證,而不需要程式代碼中的任何認證。 AAD 受控識別會代表您處理服務主體的建立或更新。 它是特殊類型的服務主體,只能與 Azure 資源搭配使用。 刪除受控識別後,對應的服務主體也會自動移除。

系統指派:某些 Azure 服務可讓您直接在服務執行個體上啟用受控識別。 例如,Azure App 服務。 啟用系統指派的受控識別時,就會在 Azure AD 中建立身分識別,該識別與服務執行個體的生命週期連繫在一起。 因此,當刪除資源時,Azure 會自動為您刪除身分識別。 根據設計,只有該 Azure 資源可以使用此身分識別,自 Azure AD 要求權杖。

必要條件

下一節說明如何使用受控識別從 Azure Web 應用程式呼叫 Azure Sphere 公用 API (PAPI)。

步驟 1:在資源中啟用系統指派的身分識別

若要在資源中啟用系統指派的身分識別,並尋找項目的物件識別碼:

  1. Azure 入口網站 的左側瀏覽窗格中,按兩下 [App Services]。
  2. 從下拉式清單中選擇必要的訂用帳戶,然後從搜尋結果中選取您的應用程式。
  3. 在邏輯應用程式功能表的 [設定] 下,選取 [身分識別]
  4. 將 [狀態] 設定[開啟],以啟用系統指派的身分識別。
  5. 按一下 [檔案] 。
  6. 複製物件 識別碼

步驟 2:將受控識別新增至 Azure Sphere 租使用者

注意

開始此步驟之前,請確定您有下列專案:

Azure Sphere 會將服務主體視為另一個使用者。 若要使用服務主體取得令牌,請先將服務主體使用者新增至 Azure Sphere 租使用者,然後使用 Azure Sphere CLI 將角色指派給 Azure Sphere 租使用者中的使用者。

使用者身分識別可以產生為 <ObjectID>@<TenantID.onmicrosoft.com>。

在下列範例中,我們會使用 Azure Sphere 租使用者標識碼中的物件識別碼xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx和 Azure AD 租使用者識別碼tttttttt-tttt-tttt-tttt-ttttttttttttzzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz的組合來建立使用者,然後新增此用戶的參與者角色。

  1. 使用 Azure Sphere CLI 以您的 Azure Sphere 登入登入:

    azsphere login
    
  2. 選取所需的租使用者:

    azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
    
  3. 若要將使用者新增至必要角色:

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

步驟 3:在專案中新增 Azure.Identity NuGet 套件

在專案中新增 Azure.Identity NuGet 套件Azure Sphere 公用 API (PAPI) 令牌可由預設AzureCredential 取得

例如,請參閱代碼段:

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