Compartilhar via


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

Importante

Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) 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 dê suporte à autenticação do Azure Active Directory (AAD), sem nenhuma credencial 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ídas pelo 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 pelo sistema, uma identidade é criada no Azure AD que está vinculada ao ciclo de vida dessa instância de serviço. Assim, quando o recurso é excluído, o Azure exclui automaticamente a identidade para você. Por design, somente o recurso do Azure pode usar essa identidade para solicitar tokens do 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 a identidade gerenciada.

Etapa 1: Habilitar a identidade atribuída pelo 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 Aplicativos.
  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 pelo sistema definindo o Status como Ativado.
  5. Clique em Save (Salvar).
  6. Copie o ID do objeto.

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

Observação

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 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 Azure.Identity no projeto

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

Por exemplo, veja 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;
    }