Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az útmutató bemutatja, hogyan hozhatja létre a közvetlen felügyeletű Azure API Management REST API-ba irányuló hívásokhoz szükséges hozzáférési jogkivonatot (SAS-jogkivonatot).
További információ a közvetlen felügyeleti REST API-hoz való hozzáférés engedélyezéséről és egyéb előfeltételeiről: Közvetlen felügyelet API Management REST API.
Fontos
Az SAS-jogkivonat-hozzáférés csak közvetlen felügyeleti API-hívásokhoz alkalmazható, például: https://apim-instance.management.azure-api.net/ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis?api-version=2021-08-01
. Nem használhatja az Azure Resource Manager API-hívásokhoz.
SAS-jogkivonat manuális létrehozása
Lépjen az Azure API Management-példányra a Azure Portal.
A bal oldali menü Üzembe helyezés + infrastruktúra szakaszában válassza a Felügyeleti API lehetőséget.
Az Enable API Management REST API (API Management REST API engedélyezése) területen válassza az Igen lehetőséget.
Fontos
Ha az Enable API Management REST API nincs kiválasztva, az adott szolgáltatáspéldány REST API-jára irányuló hívások sikertelenek lesznek.
Adja meg a hozzáférési jogkivonat lejárati dátumát és időpontját a Lejárat szövegmezőben. Ennek az értéknek a formátumban
MM/DD/YYYY H:MM PM|AM
kell lennie.Válassza ki az elsődleges kulcsot vagy a másodlagos kulcsot a Titkos kulcs legördülő listában. A kulcsok egyenértékű hozzáférést biztosítanak; két kulcs áll rendelkezésre a rugalmas kulcskezelési stratégiák engedélyezéséhez.
A hozzáférési jogkivonat létrehozásához válassza a Létrehozás lehetőséget.
Másolja ki a teljes hozzáférési jogkivonatot, és adja meg az
Authorization
összes kérés fejlécében a API Management REST API-nak, az alábbi példában látható módon.Authorization: SharedAccessSignature integration&201808020500&aAsTE43MAbKMkZ6q83Z732IbzesfsaPEU404oUjQ4ZLE9iIXLz+Jj9rEctxKYw43SioCfdLaDq7dT8RQuBKc0w==
SAS-jogkivonat programozott létrehozása
Hozzon létre egy sztring-to-sign formátumot a következő formátumban:
{identifier} + "\n" + {expiry}
ahol:
identifier
– az Azonosító mező értéke az Azure API Management-példány Felügyeleti API lapján (részletekért lásd az előző szakaszt).
expiry
- az SAS-jogkivonat kívánt lejárati dátuma.Hozzon létre egy aláírást egy HMAC-SHA512 kivonatfüggvény alkalmazásával a sztring-előjelre az elsődleges vagy a másodlagos kulccsal.
A Base64 kódolja a visszaadott aláírási kulcsot.
Hozzon létre egy hozzáférési jogkivonatot a következő formátumban.
uid={identifier}&ex={expiry}&sn={Base64 encoded signature}
Példa:
uid=53dd860e1b72ff0467030003&ex=2014-08-04T22:03:00.0000000Z&sn=ItH6scUyCazNKHULKA0Yv6T+Skk4bdVmLqcPPPdWoxl2n1+rVbhKlplFrqjkoUFRr0og4wjeDz4yfThC82OjfQ==
Ezekkel az értékekkel fejlécet
Authorization
hozhat létre a API Management REST API-nak küldött minden kérésben, ahogy az az alábbi példában látható.Authorization: SharedAccessSignature uid=53dd860e1b72ff0467030003&ex=2014-08-04T22:03:00.0000000Z&sn=ItH6scUyCazNKHULKA0Yv6T+Skk4bdVmLqcPPPdWoxl2n1+rVbhKlplFrqjkoUFRr0og4wjeDz4yfThC82OjfQ==
Az alábbi példa a hozzáférési jogkivonat létrehozásának előző lépéseit mutatja be.
using System;
using System.Text;
using System.Globalization;
using System.Security.Cryptography;
public class Program
{
public static void Main()
{
var id = "53d7e14aee681a0034030003";
var key = "pXeTVcmdbU9XxH6fPcPlq8Y9D9G3Cdo5Eh2nMSgKj/DWqeSFFXDdmpz5Trv+L2hQNM+nGa704Rf8Z22W9O1jdQ==";
var expiry = DateTime.UtcNow.AddDays(10);
using (var encoder = new HMACSHA512(Encoding.UTF8.GetBytes(key)))
{
var dataToSign = id + "\n" + expiry.ToString("O", CultureInfo.InvariantCulture);
var hash = encoder.ComputeHash(Encoding.UTF8.GetBytes(dataToSign));
var signature = Convert.ToBase64String(hash);
var encodedToken = string.Format("SharedAccessSignature uid={0}&ex={1:o}&sn={2}", id, expiry, signature);
Console.WriteLine(encodedToken);
}
}
}
Megjegyzés
Mindkét SAS-jogkivonat-formátum helyes és elfogadott:
SharedAccessSignature uid=53dd860e1b72ff0467030003&ex=2014-08-04T22:03:00.0000000Z&sn=ItH6scUyCazNKHULKA0Yv6T+Skk4bdVmLqcPPPdWoxl2n1+rVbhKlplFrqjkoUFRr0og4wjeDz4yfThC82OjfQ==
és
SharedAccessSignature integration&201808020500&aAsTE43MAbKMkZ6q83Z732IbzesfsaPEU404oUjQ4ZLE9iIXLz+Jj9rEctxKYw43SioCfdLaDq7dT8RQuBKc0w==
A teljes mintakódért tekintse meg a .NET REST API-minta API Management.