Återanvända principkonfigurationer i api Management-principdefinitioner
GÄLLER FÖR: Alla API Management-nivåer
Den här artikeln visar hur du skapar och använder principfragment i dina API Management-principdefinitioner. Principfragment är centralt hanterade, återanvändbara XML-kodfragment som innehåller en eller flera API Management-principkonfigurationer.
Principfragment hjälper dig att konfigurera principer konsekvent och underhålla principdefinitioner utan att behöva upprepa eller skriva om XML-kod.
Ett principfragment:
- Måste vara giltig XML som innehåller en eller flera principkonfigurationer
- Kan innehålla principuttryck om en refererad princip stöder dem
- Infogas som den är i en principdefinition med hjälp av principen include-fragment
Begränsningar:
- Ett principfragment kan inte innehålla en principavsnittsidentifierare (
<inbound>
,<outbound>
osv.) eller elementet<base/>
. - För närvarande kan ett principfragment inte kapsla ett annat principfragment.
- Den maximala storleken på ett principfragment är 32 KB.
Förutsättningar
Om du inte redan har en API Management-instans och ett serverdels-API kan du läsa:
Även om det inte krävs kanske du vill konfigurera en eller flera principdefinitioner. Du kan kopiera principelement från dessa definitioner när du skapar principfragment.
Gå till API Management-instansen
I Azure-portalen söker du efter och väljer API Management-tjänster.
På sidan API Management-tjänster väljer du din API Management-instans.
Skapa ett principfragment
I det vänstra navigeringsfältet för DIN API Management-instans går du till API:er och väljer Principfragment>+ Skapa.
I fönstret Skapa ett nytt principfragment anger du ett Namn och en valfri Beskrivning av principfragmentet. Namnet måste vara unikt i DIN API Management-instans.
Exempelnamn: ForwardContext
I redigeraren för XML-principfragment skriver eller klistrar du in ett eller flera princip-XML-element mellan taggarna
<fragment>
och</fragment>
.Följande fragment innehåller till exempel en
set-header
principkonfiguration för att vidarebefordra kontextinformation till en serverdelstjänst. Det här fragmentet skulle ingå i ett avsnitt om inkommande principer. Principuttrycken i det här exemplet har åtkomst till den inbyggdacontext
variabeln.<fragment> <set-header name="x-request-context-data" exists-action="override"> <value>@(context.User.Id)</value> <value>@(context.Deployment.Region)</value> </set-header> </fragment>
Välj Skapa. Fragmentet läggs till i listan över principfragment.
Inkludera ett fragment i en principdefinition
Konfigurera principen include-fragment
för att infoga ett principfragment i en principdefinition. Mer information om principdefinitioner finns i Ange eller redigera principer.
- Du kan inkludera ett fragment i alla omfång och i alla principavsnitt, så länge den underliggande principen eller principerna i fragmentet stöder den användningen.
- Du kan inkludera flera principfragment i en principdefinition.
Infoga till exempel principfragmentet med namnet ForwardContext i avsnittet inkommande princip:
<policies>
<inbound>
<include-fragment fragment-id="ForwardContext" />
<base />
</inbound>
[...]
Dricks
Om du vill se innehållet i ett inkluderat fragment som visas i principdefinitionen väljer du Beräkna effektiv princip i principredigeraren.
Hantera principfragment
När du har skapat ett principfragment kan du visa och uppdatera egenskaperna för ett principfragment eller ta bort principfragmentet när som helst.
Så här visar du egenskaper för ett principfragment:
- I det vänstra navigeringsfältet för DIN API Management-instans går du till API:er och väljer Principfragment. Välj namnet på fragmentet.
- På sidan Översikt granskar du referenserna för principdokumentet för att se de principdefinitioner som innehåller fragmentet.
- På sidan Egenskaper granskar du namnet och beskrivningen av principfragmentet. Det går inte att ändra namnet.
Så här redigerar du ett principfragment:
- I det vänstra navigeringsfältet för DIN API Management-instans går du till API:er och väljer Principfragment. Välj namnet på fragmentet.
- Välj Principredigerare.
- Uppdatera instruktionerna i fragmentet och välj sedan Använd.
Kommentar
Uppdateringen påverkar alla principdefinitioner där fragmentet ingår.
Så här tar du bort ett principfragment:
- I det vänstra navigeringsfältet för DIN API Management-instans går du till API:er och väljer Principfragment. Välj namnet på fragmentet.
- Granska referenserna till principdokumentet för principdefinitioner som innehåller fragmentet. Innan du kan ta bort ett fragment måste du ta bort fragmentreferenserna från alla principdefinitioner.
- När alla referenser har tagits bort väljer du Ta bort.
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda API:er
- Ange eller redigera principer
- Principreferens för en fullständig lista över principinstruktioner
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure