Benoemde waarden gebruiken in Azure API Management gebruiken
API Management zijn een krachtige mogelijkheid van het systeem waarmee de uitgever het gedrag van de API via configuratie kan wijzigen. Beleidsregels zijn een verzameling instructies die sequentieel worden uitgevoerd op de aanvraag of het antwoord van een API. Beleidsverklaringen kunnen worden samengesteld met letterlijke tekstwaarden, beleidsexpressie en benoemde waarden.
Benoemde waarden zijn een globale verzameling naam-waardeparen in elk API Management-exemplaar. Er is geen limiet voor het aantal items in de verzameling. Benoemde waarden kunnen worden gebruikt voor het beheren van constante tekenreekswaarden en geheimen in alle API-configuraties en -beleidsregels.
Waardetypen
| Type | Description |
|---|---|
| Plain | Letterlijke tekenreeks of beleidsexpressie |
| Geheim | Letterlijke tekenreeks of beleidsexpressie die wordt versleuteld door API Management |
| Sleutelkluis | Id van een geheim dat is opgeslagen in een Azure-sleutelkluis. |
Gewone waarden of geheimen kunnen beleidsexpressies bevatten. De expressie retourneert @(DateTime.Now.ToString()) bijvoorbeeld een tekenreeks met de huidige datum en tijd.
Zie voor meer informatie over de kenmerken van de benoemde waarde de API Management REST API verwijzing.
Key Vault-geheimen
Geheime waarden kunnen worden opgeslagen als versleutelde tekenreeksen in API Management (aangepaste geheimen) of door te verwijzen naar geheimen in Azure Key Vault.
Het gebruik van Key Vault-geheimen wordt aanbevolen omdat dit helpt om de beveiliging API Management verbeteren:
- Geheimen die zijn opgeslagen in sleutelkluizen, kunnen opnieuw worden gebruikt in verschillende services
- Gedetailleerd toegangsbeleid kan worden toegepast op geheimen
- Geheimen die zijn bijgewerkt in de sleutelkluis, worden automatisch geroteerd in API Management. Na de update in de sleutelkluis wordt een benoemde waarde in API Management binnen vier uur bijgewerkt. U kunt het geheim ook handmatig vernieuwen met behulp van de Azure Portal of via het REST API.
Vereisten voor key vault-integratie
- Zie Voor stappen voor het maken van een sleutelkluis Quickstart: Een sleutelkluis makenmet behulp van de Azure Portal.
- Schakel een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit in het API Management in.
- Wijs een toegangsbeleid voor een sleutelkluis toe aan de beheerde identiteit met machtigingen om geheimen op te halen en weer te geven uit de kluis. Het beleid toevoegen:
- Navigeer in de portal naar uw sleutelkluis.
- Selecteer Instellingen > toegangsbeleid > +Toegangsbeleid toevoegen.
- Selecteer Geheime machtigingen en selecteer vervolgens Get en List.
- Selecteer in Principal selecteren de resourcenaam van uw beheerde identiteit. Als u een door het systeem toegewezen identiteit gebruikt, is de principal de naam van uw API Management-exemplaar.
- Maak of importeer een geheim in de sleutelkluis. Zie Quickstart: Een geheim instellen en ophalen uit Azure Key Vault met behulp van Azure Portal.
Als u het sleutelkluisgeheim wilt gebruiken, voegt u een benoemde waardetoe of bewerkt u deze en geeft u het type Sleutelkluis op. Selecteer het geheim in de sleutelkluis.
Vereisten voor Key Vault firewall
Als Key Vault firewall is ingeschakeld voor uw sleutelkluis, zijn de volgende aanvullende vereisten:
- U moet de door API Management door het systeem toegewezen beheerde identiteit van het exemplaar gebruiken om toegang te krijgen tot de sleutelkluis.
- Schakel Key Vault de optie Vertrouwde Microsoft-services toestaan deze firewall over te laten in Key Vault firewall.
Vereisten voor het virtuele netwerk
Als het API Management is geïmplementeerd in een virtueel netwerk, moet u ook de volgende netwerkinstellingen configureren:
- Schakel een service-eindpunt in Azure Key Vault in het API Management subnet.
- Configureer een regel voor een netwerkbeveiligingsgroep (NSG) om uitgaand verkeer naar de servicetags AzureKeyVault en AzureActiveDirectory toe te staan.
Zie Netwerkconfiguratiedetails in Verbinding maken naar een virtueel netwerk voor meer informatie.
Een benoemde waarde toevoegen of bewerken
Een sleutelkluisgeheim toevoegen
Zie Vereisten voor key vault-integratie.
Waarschuwing
Wanneer u een sleutelkluisgeheim in API Management, moet u ervoor API Management dat u het geheim, de sleutelkluis of de beheerde identiteit die wordt gebruikt voor toegang tot de sleutelkluis, niet verwijdert.
Blader in Azure Portal naar uw API Management-exemplaar.
Selecteer onder API's benoemde waarden > +Toevoegen.
Voer een naam-id in en voer een Weergavenaam in die wordt gebruikt om te verwijzen naar de eigenschap in beleidsregels.
Selecteer in Waardetype de optie Sleutelkluis.
Voer de id in van een sleutelkluisgeheim (zonder versie) of kies Selecteren om een geheim uit een sleutelkluis te selecteren.
Belangrijk
Als u zelf een geheime id voor een sleutelkluis op geeft, moet u ervoor zorgen dat deze geen versiegegevens heeft. Anders wordt het geheim niet automatisch geroteerd in API Management na een update in de sleutelkluis.
Selecteer in Clientidentiteit een door het systeem toegewezen of een bestaande door de gebruiker toegewezen beheerde identiteit. Meer informatie over het toevoegen of wijzigen van beheerde identiteiten in API Management service.
Notitie
De identiteit heeft machtigingen nodig om geheimen uit de sleutelkluis op te halen en weer te geven. Als u de toegang tot de sleutelkluis nog niet hebt geconfigureerd, wordt API Management gevraagd om de identiteit automatisch te configureren met de benodigde machtigingen.
Voeg een of meer optionele tags toe om de benoemde waarden te organiseren en klik vervolgens op Opslaan.
Selecteer Maken.
Een gewone of geheime waarde toevoegen
- Blader in Azure Portal naar uw API Management-exemplaar.
- Selecteer onder API's benoemde waarden > +Toevoegen.
- Voer een naam-id in en voer een Weergavenaam in die wordt gebruikt om te verwijzen naar de eigenschap in beleidsregels.
- In waarde typt u , selecteert u Gewoon of Geheim.
- Voer in Waarde een tekenreeks of beleidsexpressie in.
- Voeg een of meer optionele tags toe om de benoemde waarden te organiseren en klik vervolgens op Opslaan.
- Selecteer Maken.
Zodra de benoemde waarde is gemaakt, kunt u deze bewerken door de naam te selecteren. Als u de weergavenaam wijzigt, worden beleidsregels die verwijzen naar die benoemde waarde automatisch bijgewerkt om de nieuwe weergavenaam te gebruiken.
Een benoemde waarde gebruiken
In de voorbeelden in deze sectie worden de benoemde waarden gebruikt die in de volgende tabel worden weergegeven.
| Naam | Waarde | Geheim |
|---|---|---|
| ContosoHeader | TrackingId |
Niet waar |
| ContosoHeaderValue | •••••••••••••••••••••• | Waar |
| ExpressionProperty | @(DateTime.Now.ToString()) |
Niet waar |
Als u een benoemde waarde in een beleid wilt gebruiken, moet u de weergavenaam binnen een dubbel paar accolades plaatsen, zoals {{ContosoHeader}} wordt weergegeven in het volgende voorbeeld:
<set-header name="{{ContosoHeader}}" exists-action="override">
<value>{{ContosoHeaderValue}}</value>
</set-header>
In dit voorbeeld wordt gebruikt als de naam van een header in een beleid en wordt gebruikt als de ContosoHeader set-header waarde van die ContosoHeaderValue header. Wanneer dit beleid wordt geëvalueerd tijdens een aanvraag of reactie op API Management gateway en {{ContosoHeader}} wordt vervangen door de respectieve {{ContosoHeaderValue}} waarden.
Benoemde waarden kunnen worden gebruikt als volledige kenmerk- of elementwaarden zoals weergegeven in het vorige voorbeeld, maar ze kunnen ook worden ingevoegd in of gecombineerd met een deel van een letterlijke tekstexpressie, zoals wordt weergegeven in het volgende voorbeeld:
<set-header name = "CustomHeader{{ContosoHeader}}" ...>
Benoemde waarden kunnen ook beleidsexpressie bevatten. In het volgende voorbeeld wordt de ExpressionProperty expressie gebruikt.
<set-header name="CustomHeader" exists-action="override">
<value>{{ExpressionProperty}}</value>
</set-header>
Wanneer dit beleid wordt geëvalueerd, {{ExpressionProperty}} wordt vervangen door de waarde ervan, @(DateTime.Now.ToString()) . Omdat de waarde een beleidsexpressie is, wordt de expressie geëvalueerd en wordt het beleid uitgevoerd.
U kunt dit testen in de Azure Portal of de ontwikkelaarsportal door een bewerking aan te roepen die een beleid met benoemde waarden binnen het bereik heeft. In het volgende voorbeeld wordt een bewerking aangeroepen met de twee vorige set-header voorbeeldbeleidsregels met benoemde waarden. U ziet dat het antwoord twee aangepaste headers bevat die zijn geconfigureerd met behulp van beleidsregels met benoemde waarden.
Als u de uitgaande API-traceer bekijkt voor een aanroep die de twee vorige voorbeeldbeleidsregels met benoemde waarden bevat, ziet u de twee beleidsregels met de benoemde waarden die zijn ingevoegd, evenals de evaluatie van de beleidsexpressie voor de benoemde waarde die de beleidsexpressie set-header bevat.
Waarschuwing
Als een beleid verwijst naar een geheim in Azure Key Vault, is de waarde uit de sleutelkluis zichtbaar voor gebruikers die toegang hebben tot abonnementen die zijn ingeschakeld voor het traceren van API-aanvragen.
Benoemde waarden kunnen beleidsexpressies bevatten, maar ze kunnen geen andere benoemde waarden bevatten. Als tekst met een verwijzing naar een benoemde waarde wordt gebruikt voor een waarde, zoals , wordt die verwijzing niet Text: {{MyProperty}} opgelost en vervangen.
Een benoemde waarde verwijderen
Als u een benoemde waarde wilt verwijderen, selecteert u de naam en selecteert u vervolgens Verwijderen in het contextmenu (...).
Belangrijk
Als naar de benoemde waarde wordt verwezen door een API Management-beleid, kunt u deze pas verwijderen als u de benoemde waarde verwijdert uit alle beleidsregels die deze gebruiken.
Volgende stappen
- Meer informatie over het werken met beleidsregels
