Abonnementen maken in Azure API Management

Voltooid

Wanneer u een API publiceert met API Management, definieert u wie toegang heeft tot de API via de gateway.

Voor uw meteorologische app wilt u ervoor zorgen dat alleen klanten die zich op uw service hebben geabonneerd, toegang hebben tot de API en uw prognosegegevens kunnen gebruiken. U kunt dit toegangsbeheer uitvoeren door abonnementssleutels uit te geven.

Belangrijk

Abonnementen in deze context zijn niet gerelateerd aan Azure-abonnementen die worden gebruikt voor het beheren van uw Azure-account.

Hier leert u hoe u abonnementssleutels gebruikt om uw API's te beveiligen.

Abonnementen en sleutels

U kunt ervoor kiezen om uw API's en de informatie die ze bevatten vrij beschikbaar te maken. Maar meestal wilt u de toegang beperken tot gebruikers die hebben betaald of organisaties waarmee u een werkrelatie hebt. Een manier om de toegang tot uw API's te beheren, is door abonnementen te gebruiken. Abonnementen worden gebruikt om gebruikerstoegang tot een API te segmenteren.

Abonnementssleutels vormen de autorisatie om toegang tot deze abonnementen mogelijk te maken. Wanneer een client een aanvraag indient bij een beveiligde API, moet een geldige abonnementssleutel worden opgenomen in de HTTP-aanvraag, anders wordt de aanroep geweigerd.

Een abonnementssleutel is een unieke automatisch gegenereerde sleutel die kan worden doorgegeven als onderdeel van een API-aanroep. De sleutel is direct gekoppeld aan een abonnement, dat een bereik van verschillende gebieden kan hebben. Abonnementen geven u nauwkeurige controle over machtigingen en beleid.

De drie belangrijkste abonnementen zijn:

Bereik DETAILS
Alle API’s Is van toepassing op elke API die toegankelijk is vanuit de gateway.
Enkele API Is van toepassing op één geïmporteerde API en alle bijbehorende eindpunten.
Product Een product is een verzameling van een of meer API's die u in API Management configureert. U kunt API's toewijzen aan meer dan één product. Producten kunnen verschillende toegangsregels, gebruiksquota's en gebruiksvoorwaarden hebben. Dus als u wilt dat uw partners en leveranciers verschillende toegangsrechten hebben voor uw WeatherData-API , wijst u de API toe aan een product en gebruikt u vervolgens Azure Portal om API's aan een product te koppelen.

Toepassingen die een beveiligde API aanroepen, moeten in elke aanvraag een abonnementssleutel bevatten.

U kunt deze abonnementssleutels op elk gewenst moment opnieuw genereren; Als u bijvoorbeeld vermoedt dat een sleutel is gedeeld met onbevoegde gebruikers, kunt u een nieuwe sleutel maken.

Abonnementssleutels.

Elk abonnement heeft twee sleutels: een primaire sleutel en een secundaire sleutel. Het hebben van twee sleutels maakt het gemakkelijker als u een sleutel opnieuw moet genereren. Als u bijvoorbeeld de primaire sleutel wilt wijzigen en downtime wilt voorkomen, gebruikt u de secundaire sleutel in uw apps.

Voor producten waarin abonnementen zijn ingeschakeld, moeten clients een sleutel opgeven bij het aanroepen van API's in dat product. Ontwikkelaars kunnen een sleutel verkrijgen door een abonnementsaanvraag te verzenden. Als u de aanvraag goedkeurt, moet u de abonnementssleutel veilig verzenden, bijvoorbeeld in een versleuteld bericht. Deze stap is een essentieel onderdeel van de API Management-werkstroom.

Een API aanroepen met een abonnementssleutel

Toepassingen moeten een geldige sleutel bevatten in alle HTTP-aanvragen die API-eindpunten aanroepen die worden beveiligd door een abonnement. Sleutels kunnen worden doorgegeven in de aanvraagheader of als een querytekenreeksparameter in de URL.

De standaardnaam van de header van de abonnementssleutel is Ocp-Apim-Subscription-Key en de standaardnaam van de queryreeks is abonnementssleutel.

Als u uw API-aanroepen wilt testen, kunt u een testconsole in Azure Portal of de ontwikkelaarsportal of opdrachtregelprogramma's gebruiken, zoals curl. Hier is een voorbeeld van een GET-aanvraag vanuit de ontwikkelaarsportal, waarin de header met de abonnementssleutel wordt weergegeven:

Schermopname van het aanroepen van uw API vanuit de ontwikkelaarsportal.

Hier volgt een voorbeeld van hoe u een sleutel in een aanvraagheader doorgeeft met behulp van curl:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Hier volgt een voorbeeld van hoe u een curl-opdracht gebruikt om een sleutel als een querytekenreeks in een URL door te geven:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Als een vereiste sleutel niet wordt doorgegeven in de header of als een querytekenreeks in de URL, krijgt u een antwoord van 401 Toegang geweigerd van de API-gateway.