Partilhar via


Acessar a API Pública do Azure Sphere com identidade gerenciada do AAD

Importante

Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (Integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).

Você pode usar esse método para autenticar em qualquer serviço que ofereça suporte à autenticação do Azure Ative Directory (AAD), sem credenciais em seu código. A identidade gerenciada do AAD lida com a criação ou renovação de entidades de serviço em seu nome. É uma entidade de serviço de um tipo especial que só pode ser usada com recursos do Azure. Quando a identidade gerenciada é excluída, a entidade de serviço correspondente é removida automaticamente.

Atribuídos ao sistema: alguns serviços do Azure permitem habilitar uma identidade gerenciada diretamente em uma instância de serviço. Por exemplo, um Serviço de Aplicativo do Azure. Quando você habilita uma identidade gerenciada atribuída ao sistema, uma identidade é criada no Azure AD que está vinculada ao ciclo de vida dessa instância de serviço. Assim, quando o recurso é eliminado, o Azure elimina automaticamente a identidade por si. Por predefinição, apenas esse recurso do Azure pode utilizar essa identidade para pedir tokens ao Azure AD.

Pré-requisitos

A seção a seguir explica como chamar a API Pública do Azure Sphere (PAPI) de um Aplicativo Web do Azure usando identidade gerenciada.

Etapa 1: Habilitar a identidade atribuída ao sistema no recurso

Para habilitar a identidade atribuída pelo sistema no recurso e localizar a ID do objeto para o projeto:

  1. No portal do Azure, no painel de navegação esquerdo, clique em Serviços de Aplicativo.
  2. Escolha as assinaturas necessárias na lista suspensa e selecione seu aplicativo nos resultados da pesquisa.
  3. No menu do aplicativo lógico, em Configurações, selecione Identidade.
  4. Habilite a identidade atribuída ao sistema definindo o Status como Ativado.
  5. Clique em Guardar.
  6. Copie a ID do objeto.

Etapa 2: Adicionar a identidade gerenciada ao locatário do Azure Sphere

Nota

Certifique-se de ter o seguinte antes de iniciar esta etapa:

O Azure Sphere trata a entidade de serviço como outro usuário. Para adquirir um token usando a entidade de serviço, primeiro adicione o usuário da entidade de serviço ao locatário do Azure Sphere e, em seguida, atribua uma função ao usuário em um locatário do Azure Sphere usando a CLI do Azure Sphere.

A identidade do usuário pode ser gerada como <ObjectID>@<TenantID.onmicrosoft.com>.

No exemplo a seguir, criamos um usuário usando uma combinação de ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx de objeto e ID zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz de locatário do Azure AD na ID tttttttt-tttt-tttt-tttt-ttttttttttttde locatário do Azure Sphere e, em seguida, adicionamos a função de Colaborador para esse usuário.

  1. Entre com seu logon do Azure Sphere usando a CLI do Azure Sphere:

    azsphere login
    
  2. Selecione o locatário necessário:

    azsphere tenant select --tenant tttttttt-tttt-tttt-tttt-tttttttttttt
    
  3. Para adicionar o usuário a uma função necessária:

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

Etapa 3: Adicionar o pacote NuGet do Azure.Identity no projeto

Adicione o pacote NuGet Azure.Identity no projeto. O token PAPI (Azure Sphere Public API) pode ser adquirido por DefaultAzureCredential.

Por exemplo, consulte o trecho de código:

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