Partilhar via


Configurar o gerenciador de credenciais - API do Microsoft Graph

APLICA-SE A: Todas as camadas de gerenciamento de API

Este artigo orienta-o pelos passos necessários para criar uma ligação gerida à Microsoft Graph API a partir do Azure API Management. Use o fornecedor de identidade Microsoft Entra para chamar a Microsoft Graph API. Este exemplo utiliza o tipo de concessão de código de autorização.

Observação

Neste artigo, pode configurar o fornecedor de credenciais utilizando um tipo tradicional de concessão de código de autorização com um segredo do cliente ou um tipo de concessão de código de autorização com credenciais de identidade federadas. Escolhe o caminho que melhor se adequa ao teu cenário. As credenciais de identidade federada eliminam a necessidade de gerir e substituir segredos de autenticação. Para mais informações, consulte Visão Geral das credenciais de identidade federada no Microsoft Entra ID.

Você aprende a:

  • Criar uma aplicação Microsoft Entra
  • Criar e configurar um provedor de credenciais no Gerenciamento de API
  • Configurar uma conexão
  • Criar uma API do Microsoft Graph no Gerenciamento de API e configurar uma política
  • Teste sua API do Microsoft Graph no Gerenciamento de API

Pré-requisitos

Etapa 1: Criar um aplicativo Microsoft Entra

Crie um aplicativo Microsoft Entra para a API e dê a ele as permissões apropriadas para as solicitações que você deseja chamar.

  1. Inicia sessão no portal Azure com uma conta que tenha permissões suficientes no tenant.

  2. Procure e selecione Microsoft Entra ID.

  3. Em Gerir no menu da barra lateral, selecione Registos de aplicações e, em seguida, selecione + Novo registo.

  4. Em Registar uma candidatura, introduza as definições de registo da sua candidatura:

    1. Em Nome, insira um nome significativo para o aplicativo, como MicrosoftGraphAuth.

    2. Em Tipos de Conta Suportados, selecione uma opção que se adeque ao seu cenário, como Contas apenas neste diretório organizacional (Inquilino único).

    3. Defina o URI de Redirecionamento para Web e introduza https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, substituindo o nome do serviço de Gestão de API onde configura o fornecedor de credenciais.

    4. Selecione Register.

      Captura de ecrã a mostrar a criação de um registo da aplicação Microsoft Entra no portal.

  5. No menu lateral, selecione Gerir>permissões da API. Certifique-se de que a permissão User.Read com o tipo Delegated já foi adicionada.

  6. Selecione + Adicionar uma permissão. Captura de tela mostrando a adição de uma permissão de API no portal.

    1. Selecione Microsoft Graph e, em seguida, selecione Permissões delegadas.
    2. Digite Team, expanda as opções Team e selecione Team.ReadBasic.All. Selecione Adicionar permissões.
    3. Em seguida, selecione Conceder consentimento de administrador para o diretório padrão. O status das permissões muda para Granted for Default Directory.
  7. No menu da barra lateral, selecione Visão geral. Na Visão Geral, encontre o valor do ID da Aplicação (cliente ) e grave-o para uso no Passo 2. Se necessário, copie também o valor do ID do Diretório (inquilino ).

Configurar o segredo do cliente

  1. No menu lateral, selecione Gerir>Certificados & Segredos, e depois selecione + Novo segredo do cliente. Captura de ecrã da criação de um segredo de aplicação no portal.

    1. Insira uma descrição.
    2. Selecione uma opção para Expira.
    3. Selecione Adicionar.
    4. Copie o Valor do segredo do cliente antes de sair da página. Você precisa dele na Etapa 2.

Etapa 2: Configurar um provedor de credenciais no Gerenciamento de API

  1. Vá para sua instância de Gerenciamento de API.

  2. Em APIs no menu da barra lateral, selecione Gestor de credenciais e, em seguida, selecione + Criar. Captura de tela da criação de uma credencial de API no portal.

  3. Em Criar fornecedor de credenciais, introduza as seguintes definições e selecione Criar:

    Configurações Valor
    Nome do provedor de credenciais Um nome de sua escolha, como MicrosoftEntraID-01
    Provedor de identidade Selecione Azure Ative Directory v1
    Tipo de subvenção Selecione o código de autorização
    URL de autorização Opcional para o provedor de identidade Microsoft Entra. A predefinição é https://login.microsoftonline.com.
    ID de Cliente Cole o valor copiado anteriormente do registro do aplicativo
    Segredo do cliente Cole o valor secreto do cliente que criou no Passo 1
    URL do recurso https://graph.microsoft.com
    ID do Inquilino Opcional para o provedor de identidade Microsoft Entra. O padrão é Comum.
    Escopos Opcional para o fornecedor de identidade Microsoft Entra para este tipo de concessão. Configurado automaticamente a partir das permissões de API do aplicativo Microsoft Entra.
  4. Na caixa de diálogo que aparece, reveja o URL de redirecionamento OAuth que está mostrado e selecione Sim para confirmar se corresponde ao URL que introduziu no registo da aplicação.

Etapa 2: Configurar um provedor de credenciais no Gerenciamento de API

A Gestão de APIs pode gerar credenciais de identidade federadas. Quando adicionados ao registo da sua aplicação Microsoft Entra, estabelecem uma relação de confiança entre a Gestão de APIs e o Microsoft Entra. Isto elimina a necessidade de gerir segredos para autenticação.

  1. Vá para sua instância de Gerenciamento de API.

  2. Em APIs no menu da barra lateral, selecione Gestor de credenciais e, em seguida, selecione + Criar. Captura de tela da criação de uma credencial de API no portal.

  3. Em Criar fornecedor de credenciais, introduza as seguintes definições e selecione Criar:

    Configurações Valor
    Nome do provedor de credenciais Um nome à sua escolha, como MicrosoftEntraID-federated-01
    Provedor de identidade Selecione Azure Ative Directory v1
    Tipo de subvenção Selecione o código de autorização com credenciais de identidade federada
    URL de autorização Opcional para o provedor de identidade Microsoft Entra. A predefinição é https://login.microsoftonline.com.
    ID de Cliente Cola o valor que copiaste anteriormente do registo da aplicação.
    URL do recurso https://graph.microsoft.com
    ID do Inquilino Cola o valor que copiaste anteriormente do registo da aplicação.
    Escopos Opcional para o provedor de identidade Microsoft Entra. Configurado automaticamente a partir das permissões de API do aplicativo Microsoft Entra.
  4. Na caixa de diálogo que aparece, complete os seguintes passos:

    1. Revise o URL de redirecionamento OAuth que está mostrado e confirme se corresponde ao URL que introduziu no registo da aplicação.

    2. Selecione o link da aplicação Entra para adicionar as credenciais de identidade federada exibidas ao registo da sua aplicação. Captura de ecrã da conclusão da configuração de um fornecedor federado de credenciais de identidade no portal.

    3. Na janela Adicionar uma credencial , selecione Outro emissor para o cenário de credencial federada.

    4. Em Conectar a sua conta, copie e cole os valores do Emissor e do Identificador do Sujeito da caixa de diálogo nos campos correspondentes.

    5. Em detalhes da credencial, insira um Nome e uma Descrição opcional para a credencial. Confirme que a Audiência é a mesma que aparece na caixa de diálogo na Gestão de APIs.

    6. Selecione Adicionar para criar a credencial federada e completar a ligação entre a Gestão de API e o registo da sua aplicação Microsoft Entra.

    Captura de ecrã da configuração de uma credencial de identidade federada no portal.

  5. Na caixa de diálogo de Gestão de APIs, selecione Sim para confirmar que quer avançar.

Etapa 3: Configurar uma conexão

Na guia Conexão , conclua as etapas para sua conexão com o provedor.

Observação

Quando você configura uma conexão, o Gerenciamento de API por padrão define uma política de acesso que permite o acesso pela identidade gerenciada atribuída aos sistemas da instância. Este acesso é suficiente para este exemplo. Você pode adicionar mais políticas de acesso conforme necessário.

  1. Introduza um Nome de ligação e, em seguida, selecione Guardar.
  2. Em Etapa 2: Faça login na sua conexão (para o tipo de concessão de código de autorização), selecione o botão Login . Complete os passos com o seu fornecedor de identidade para autorizar o acesso e volte à Gestão de APIs. Após iniciar sessão bem-sucedido, o estado da ligação muda para Ligado.
  3. Em Etapa 3: Determinar quem terá acesso a essa conexão (política de acesso), o membro da identidade gerenciada será listado. Adicionar outros membros é opcional, dependendo do seu cenário.
  4. Selecione Concluir.

A nova conexão aparece na lista de conexões e mostra um status de Conectado. Se desejar criar outra conexão para o provedor de credenciais, conclua as etapas anteriores.

Sugestão

Use o portal para adicionar, atualizar ou excluir conexões com um provedor de credenciais a qualquer momento. Para obter mais informações, consulte Configurar várias conexões.

Observação

Se você atualizar suas permissões do Microsoft Graph após esta etapa, precisará repetir as etapas 2 e 3.

Etapa 4: Criar uma API do Microsoft Graph no Gerenciamento de API e configurar uma política

  1. Em APIs no menu da barra lateral, selecione APIs.

  2. Selecione HTTP e insira as seguintes configurações. Em seguida, selecione Criar.

    Configuração Valor
    Nome de exibição Msgraph
    URL do serviço Web https://graph.microsoft.com/v1.0
    Sufixo de URL da API Msgraph
  3. Vai à API recém-criada e seleciona + Adicionar operação. Insira as seguintes configurações e selecione Salvar.

    Configuração Valor
    Nome de exibição getprofile
    URL para GET /me
  4. Siga as etapas anteriores para adicionar outra operação com as seguintes configurações.

    Configuração Valor
    Nome de exibição getJoinedTeams
    URL para GET /me/joinedTeams
  5. Selecione Todas as operações. Na seção Processamento de entrada, selecione o ícone </> (editor de código).

  6. Copie e cole o trecho a seguir. Atualize a get-authorization-context política com os nomes do provedor de credenciais e da conexão que você configurou nas etapas anteriores e selecione Salvar.

    • Substitua o nome do seu fornecedor de credencial pelo valor de provider-id.
    • Substitua o nome da sua ligação pelo valor de authorization-id.
    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
           <set-header name="Authorization" exists-action="override">
               <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
           </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

A definição de política precedente consiste em duas partes:

  • A política get-authorization-context busca um token de autorização fazendo referência ao provedor de credenciais e à conexão que você criou anteriormente.
  • A política set-header cria um cabeçalho HTTP com o token de acesso buscado.

Etapa 5: Testar a API

  1. No separador Teste , selecione uma operação que tenha configurado.

  2. Selecione Enviar.

    Captura de tela do teste da API do Graph no portal.

    Uma resposta bem-sucedida retorna dados do usuário do Microsoft Graph.