Konfigurera autentiseringshanteraren – Microsoft Graph API

GÄLLER FÖR: Alla API Management-nivåer

Den här artikeln vägleder dig genom de steg som krävs för att skapa en hanterad anslutning till Microsoft Graph API i Azure API Management. Auktoriseringskodens beviljandetyp används i det här exemplet.

Du lär dig att:

  • Skapa ett Microsoft Entra-program
  • Skapa och konfigurera en provider för autentiseringsuppgifter i API Management
  • Konfigurera en anslutning
  • Skapa ett Microsoft Graph API i API Management och konfigurera en princip
  • Testa ditt Microsoft Graph API i API Management

Förutsättningar

Steg 1: Skapa ett Microsoft Entra-program

Skapa ett Microsoft Entra-program för API:et och ge det lämpliga behörigheter för de begäranden som du vill anropa.

  1. Logga in på Azure-portalen med ett konto med tillräcklig behörighet i klientorganisationen.

  2. Under Azure Services söker du efter Microsoft Entra-ID.

  3. Välj Appregistreringar på den vänstra menyn och välj sedan + Ny registrering.

  4. På sidan Registrera ett program anger du dina inställningar för programregistrering:

    1. I Namn anger du ett beskrivande namn som ska visas för användare av appen, till exempel MicrosoftGraphAuth.

    2. I Kontotyper som stöds väljer du ett alternativ som passar ditt scenario, till exempel Endast konton i den här organisationskatalogen (enskild klientorganisation).

    3. Ange omdirigerings-URI:n till webben och ange https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>och ersätt namnet på API Management-tjänsten där du konfigurerar providern för autentiseringsuppgifter.

    4. Välj Registrera.

      Skärmbild av hur du skapar en Microsoft Entra-appregistrering i portalen.

  5. På den vänstra menyn väljer du API-behörigheter och sedan + Lägg till en behörighet. Skärmbild av att lägga till en API-behörighet i portalen.

    1. Välj Microsoft Graph och välj sedan Delegerade behörigheter.

      Kommentar

      Kontrollera att behörigheten User.Read med typen Delegerad redan har lagts till.

    2. Skriv Team, expandera teamalternativen och välj sedan Team.ReadBasic.All. Välj Lägg till behörigheter.
    3. Välj sedan Bevilja administratörsmedgivande för Standardkatalog. Statusen för behörigheterna ändras till Beviljad för standardkatalog.
  6. Välj Översikt på den vänstra menyn. På sidan Översikt letar du upp värdet program-ID (klient) och registrerar det för användning i steg 2.

  7. Välj Certifikat och hemligheter på den vänstra menyn och välj sedan + Ny klienthemlighet.
    Skärmbild av hur du skapar en apphemlighet i portalen.

    1. Ange en beskrivning.
    2. Välj ett alternativ för Upphör att gälla.
    3. Markera Lägga till.
    4. Kopiera klienthemlighetens Värde innan du lämnar sidan. Du behöver det i steg 2.

Steg 2: Konfigurera en provider för autentiseringsuppgifter i API Management

  1. Logga in på portalen och gå till din API Management-instans.

  2. Välj Autentiseringshanteraren på den vänstra menyn och välj sedan + Skapa.
    Skärmbild av hur du skapar en API-autentiseringsuppgift i portalen.

  3. På sidan Skapa provider för autentiseringsuppgifter anger du följande inställningar och väljer Skapa:

    Inställningar Värde
    Providernamn för autentiseringsuppgifter Ett valfritt namn, till exempel MicrosoftEntraID-01
    Identitetsprovider Välj Azure Active Directory v1
    Bevilja typ Välj auktoriseringskod
    Auktoriserings-URL Valfritt för Microsoft Entra-identitetsprovider. Standard är https://login.microsoftonline.com.
    Klient-ID Klistra in det värde som du kopierade tidigare från appregistreringen
    Client secret Klistra in det värde som du kopierade tidigare från appregistreringen
    Resurs-URL https://graph.microsoft.com
    Tenant ID Valfritt för Microsoft Entra-identitetsprovider. Standardvärdet är Vanligt.
    Scope Valfritt för Microsoft Entra-identitetsprovider. Konfigureras automatiskt från Microsoft Entra-appens API-behörigheter.

Steg 3: Konfigurera en anslutning

På fliken Anslut ion slutför du stegen för anslutningen till providern.

Kommentar

När du konfigurerar en anslutning konfigurerar API Management som standard en åtkomstprincip som möjliggör åtkomst av instansens systemtilldelade hanterade identitet. Den här åtkomsten räcker för det här exemplet. Du kan lägga till ytterligare åtkomstprinciper efter behov.

  1. Ange ett Anslut ionsnamn och välj sedan Spara.
  2. Under Steg 2: Logga in på din anslutning (för beviljandetyp för auktoriseringskod) väljer du länken för att logga in på autentiseringsprovidern. Slutför stegen där för att auktorisera åtkomst och återgå till API Management.
  3. Under Steg 3: Avgör vem som ska ha åtkomst till den här anslutningen (åtkomstprincip) visas den hanterade identitetsmedlemmen. Det är valfritt att lägga till andra medlemmar, beroende på ditt scenario.
  4. Välj Slutför.

Den nya anslutningen visas i listan över anslutningar och visar statusen Anslut ed. Om du vill skapa en annan anslutning för providern för autentiseringsuppgifter slutför du föregående steg.

Dricks

Använd portalen för att lägga till, uppdatera eller ta bort anslutningar till en autentiseringsprovider när som helst. Mer information finns i Konfigurera flera anslutningar.

Kommentar

Om du uppdaterar dina Microsoft Graph-behörigheter efter det här steget måste du upprepa steg 2 och 3.

Steg 4: Skapa ett Microsoft Graph API i API Management och konfigurera en princip

  1. Logga in på portalen och gå till din API Management-instans.

  2. På den vänstra menyn väljer du API:er > + Lägg till API.

  3. Välj HTTP och ange följande inställningar. Välj sedan Skapa.

    Inställning Värde
    Visningsnamn msgraph
    Url för webbtjänst https://graph.microsoft.com/v1.0
    API URL-suffix msgraph
  4. Navigera till det nyligen skapade API:et och välj Lägg till åtgärd. Ange följande inställningar och välj Spara.

    Inställning Värde
    Visningsnamn getprofile
    URL för GET /Mig
  5. Följ stegen ovan för att lägga till ytterligare en åtgärd med följande inställningar.

    Inställning Värde
    Visningsnamn getJoinedTeams
    URL för GET /me/joinedTeams
  6. Välj Alla åtgärder. I avsnittet Inkommande bearbetning väljer du ikonen (</>) (kodredigeraren).

  7. Kopiera och klistra in följande kodfragment. get-authorization-context Uppdatera principen med namnen på autentiseringsprovidern och anslutningen som du konfigurerade i föregående steg och välj Spara.

    • Ersätt namnet på autentiseringsprovidern som värdet för provider-id
    • Ersätt ditt anslutningsnamn som värdet för 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>
    

Den föregående principdefinitionen består av två delar:

  • Principen get-authorization-context hämtar en auktoriseringstoken genom att referera till providern för autentiseringsuppgifter och anslutningen som skapades tidigare.
  • Principen set-header skapar ett HTTP-huvud med den hämtade åtkomsttoken.

Steg 5: Testa API:et

  1. På fliken Test väljer du en åtgärd som du har konfigurerat.

  2. Välj Skicka.

    Skärmbild av testning av Graph-API:et i portalen.

    Ett lyckat svar returnerar användardata från Microsoft Graph.