Ověřování a autorizace pro rozhraní API služby Azure Time Series Insights
Poznámka
Služba Time Series Insights bude vyřazena 7. července 2024. Zvažte migraci stávajících prostředí na alternativní řešení co nejdříve. Pro více informací o vyřazení a migraci navštivte naši dokumentaci .
V závislosti na vašich obchodních potřebách může vaše řešení obsahovat jednu nebo více klientských aplikací, které používáte k interakci s rozhraními API prostředí Azure Time Series Insights. Azure Time Series Insights provádí ověřování pomocí tokenů zabezpečení Microsoft Entra založených naOAUTH 2.0 . K ověření klientů budete muset získat nosný token se správnými oprávněními a předat ho spolu s voláními rozhraní API. Tento dokument popisuje několik metod získání přihlašovacích údajů, které můžete použít k získání nosné tokeny a ověření, včetně použití spravované identity a registrace aplikace Microsoft Entra.
Spravované identity
Následující části popisují, jak použít spravovanou identitu z ID Microsoft Entra pro přístup k rozhraní API služby Azure Time Series Insights. Spravované identity v Azure eliminují potřebu vývojářů spravovat přihlašovací údaje poskytnutím identity pro prostředek Azure v Microsoft Entra ID a jeho použitím k získání tokenů Microsoft Entra. Tady jsou některé výhody používání spravovaných identit:
- Přihlašovací údaje nemusíte spravovat. Přihlašovací údaje nejsou pro vás ani přístupné.
- Spravované identity můžete použít k ověření v libovolné službě Azure, která podporuje ověřování Microsoft Entra, včetně služby Azure Key Vault.
- Spravované identity je možné použít bez jakýchkoli dalších nákladů.
Další informace o dvou typech spravovaných identit najdete v Co jsou spravované identity pro prostředky Azure?
Můžete použít spravované identity z:
- Virtuální počítače Azure
- Azure App Services
- Azure Functions
- Instance kontejnerů Azure
- a další ...
Úplný seznam najdete v službách Azure, které podporují spravované identity pro prostředky Azure.
Registrace aplikace Microsoft Entra
Pokud je to možné, doporučujeme používat spravované identity, abyste nemuseli spravovat přihlašovací údaje. Pokud vaše klientská aplikace není hostovaná ve službě Azure, která podporuje spravované identity, můžete aplikaci zaregistrovat v tenantovi Microsoft Entra. Při registraci aplikace v Microsoft Entra ID vytváříte konfiguraci identity pro vaši aplikaci, která umožňuje integraci s Microsoft Entra ID. Když zaregistrujete aplikaci na webu Azure Portal, zvolíte, jestli se jedná o jednoho tenanta (přístupného jenom ve vašem tenantovi) nebo více tenantů (přístupné v jiných tenantech) a volitelně můžete nastavit identifikátor URI přesměrování (kde se přístupový token odesílá).
Po dokončení registrace aplikace máte globálně jedinečnou instanci aplikace (objekt aplikace), která se nachází ve vašem domovském tenantovi nebo adresáři. Máte také globálně jedinečné ID aplikace (id aplikace nebo klienta). Na portálu můžete přidat tajemství nebo certifikáty a oprávnění, aby vaše aplikace fungovala, přizpůsobit branding vaší aplikace v dialogovém okně pro přihlášení a provést další úpravy.
Pokud aplikaci zaregistrujete na portálu, objekt aplikace i objekt služby se automaticky vytvoří ve vašem domovském tenantovi. Pokud zaregistrujete nebo vytvoříte aplikaci pomocí rozhraní Microsoft Graph API, vytvoření instančního objektu je samostatný krok. Objekt služby Principal je vyžadován k požádání o tokeny.
Nezapomeňte si prohlédnout kontrolní seznam zabezpečení
Další podrobnosti najdete v tématu Objekty aplikace a instanční objekty v ID Microsoft Entra.
Krok 1: Vytvoření spravované identity nebo registrace aplikace
Jakmile zjistíte, jestli budete používat spravovanou identitu nebo registraci aplikace, v dalším kroku ji musíte zřídit.
Spravovaná identita
Kroky, které použijete k vytvoření spravované identity, se budou lišit v závislosti na tom, kde se váš kód nachází a jestli vytváříte identitu přiřazenou systémem nebo přiřazenou uživatelem. Přečtěte si typy spravovaných identit, abyste pochopili rozdíl. Jakmile vyberete typ identity, vyhledejte a postupujte podle správného návodu v dokumentaci o spravovaných identitách Microsoft Entra . Tady najdete pokyny ke konfiguraci spravovaných identit pro:
- virtuálních počítačů Azure
- App Service a Azure Functions
- Azure kontejnery instance
- a mnohem více ...
Registrace aplikace
Postupujte podle kroků uvedených v Registrace aplikace.
Po výběru příslušné platformy v kroku 4
Konfigurace nastavení platformy nakonfigurujte identifikátory URI pro přesměrovánía přístupové tokeny na bočním panelu napravo od uživatelského rozhraní.URI přesměrování musí odpovídat adrese zadané požadavkem na ověření:
- U aplikací hostovaných v místním vývojovém prostředí vyberte
Veřejný klient (mobilní & desktop). Nezapomeňte nastavit veřejného klientana Ano . - Pro Single-Page aplikace hostované ve službě Azure App Service vyberte Web.
- U aplikací hostovaných v místním vývojovém prostředí vyberte
Určete, jestli je vhodná adresa URL odhlášení.
Povolte implicitní grantový tok zaškrtnutím přístupových tokenů nebo ID tokenů .
Klikněte na Konfigurovata potom Uložit.
Připojte svou aplikaci Microsoft Entra Azure Time Series Insights. Vyberte oprávnění pro rozhraní API>Přidat oprávnění>rozhraní API používaná mou organizací.
Do vyhledávacího panelu zadejte
Azure Time Series Insights
a pak vyberteAzure Time Series Insights
.Dále zadejte druh oprávnění rozhraní API, které vaše aplikace vyžaduje. Ve výchozím nastavení se Delegovaná oprávnění zvýrazní. Zvolte typ oprávnění a pak vyberte Přidat oprávnění.
Přidat přihlašovací údaje, pokud aplikace bude volat rozhraní API vašeho prostředí sama. Přihlašovací údaje umožňují, aby se vaše aplikace ověřila jako sama, což nevyžaduje žádnou interakci uživatele za běhu.
Krok 2: Udělení přístupu
Když vaše prostředí Azure Time Series Insights obdrží požadavek, nejprve se ověří nosný token volajícího. Pokud ověření projde, volající byl ověřen a pak se provede další kontrola, která zajistí, že volající má oprávnění k provedení požadované akce. Pokud chcete autorizovat libovolného uživatele nebo služebního principála, musíte jim nejprve udělit přístup k prostředí tím, že jim přiřadíte roli Čtenář nebo Přispěvatel.
Pokud chcete udělit přístup prostřednictvím uživatelského rozhraní Azure portálu, postupujte podle pokynů uvedených v článku Udělení přístupu k datům do prostředí. Když vyberete uživatele, můžete spravovanou identitu nebo registraci aplikace vyhledat podle jejího názvu nebo podle ID.
Pokud chcete udělit přístup pomocí Azure CLI, spusťte následující příkaz. Úplný seznam příkazů dostupných pro správu přístupu najdete v dokumentaci tady.
az tsi access-policy create --name "ap1" --environment-name "env1" --description "some description" --principal-object-id "aGuid" --roles Reader Contributor --resource-group "rg1"
Poznámka
Rozšíření timeseriesinsights pro Azure CLI vyžaduje verzi 2.11.0 nebo vyšší. Rozšíření se automaticky nainstaluje při prvním spuštění příkazu az tsi access-policy. Zjistěte více o rozšířeních.
Krok 3: Vyžádání tokenů
Jakmile je vaše spravovaná identita nebo registrace aplikace nastavena a přiřazena k ní role, můžete ji začít používat k vyžádání nosných tokenů OAuth 2.0. Metoda, kterou použijete k získání tokenu, se bude lišit v závislosti na tom, kde je váš kód hostovaný, a vámi zvolený jazyk. Při zadávání prostředku (označovaného také jako cílová skupina tokenu) můžete azure Time Series Insights identifikovat podle adresy URL nebo identifikátoru GUID:
https://api.timeseries.azure.com/
120d688d-1518-4cf7-bd38-182f158850b6
Důležitý
Pokud jako ID prostředku použijete adresu URL, musí být token vydán přesně pro https://api.timeseries.azure.com/
. Koncové lomítko je povinné.
- Pokud používáte Postman, váš AuthURL bude:
https://login.microsoftonline.com/microsoft.onmicrosoft.com/oauth2/authorize?scope=https://api.timeseries.azure.com//.default
https://api.timeseries.azure.com/
je platný, alehttps://api.timeseries.azure.com
není.
Spravované identity
Při přístupu ze služby Azure App Service nebo Functions postupujte podle pokynů v Získání tokenů pro prostředky Azure.
Pro aplikace a funkce .NET je nejjednodušší způsob, jak pracovat se spravovanou identitou, prostřednictvím klientské knihovny Azure Identity pro .NET. Tato klientská knihovna je oblíbená kvůli jednoduchosti a výhodám zabezpečení. Vývojáři můžou napsat kód jednou a nechat klientskou knihovnu určit, jak se ověřovat v závislosti na aplikačním prostředí – ať už na vývojářské pracovní stanici pomocí účtu vývojáře nebo nasazeného v Azure pomocí identity spravované služby. Pro pokyny k migraci z předchozí knihovny AppAuthentication si přečtěte Migrace z AppAuthentication do Azure.Identity - pokyny.
Vyžádání tokenu pro Azure Time Series Insights pomocí jazyka C# a klientské knihovny Azure Identity pro .NET:
using Azure.Identity;
// ...
var credential = new DefaultAzureCredential();
var token = credential.GetToken(
new Azure.Core.TokenRequestContext(
new[] { "https://api.timeseries.azure.com/" }));
var accessToken = token.Token;
Registrace aplikace
- Pomocí knihovny Microsoft Authentication Library (MSAL) získejte tokeny pro registraci aplikací.
MSAL lze použít v mnoha scénářích aplikace, včetně, ale nikoli pouze:
- jednostrákové aplikace (JavaScript)
- Webová aplikace přihlašuje uživatele a volá webové API jménem uživatele
- Webové rozhraní API, které volá jiné podřízené webové rozhraní API jménem přihlášeného uživatele
- Desktopová aplikace volající webové API v zastoupení přihlášeného uživatele
- mobilní aplikace, která volá webové rozhraní API jménem uživatele, který je přihlášený interaktivně.
- Desktopová/služební démonická aplikace volající webové rozhraní API jménem sama sebe
Ukázkový kód jazyka C# znázorňující, jak získat token jako registraci aplikace a dotazovat se na data z prostředí Gen2, najdete ukázkovou aplikaci na GitHubu
Důležitý
Pokud používáte knihovnu Azure Active Directory Authentication Library (ADAL), migrujte na MSAL.
Běžné hlavičky a parametry
Tato část popisuje běžné hlavičky a parametry požadavků HTTP používané k dotazech na rozhraní API Azure Time Series Insights Gen1 a Gen2. Požadavky specifické pro rozhraní API jsou podrobněji popsány v referenční dokumentaci k rozhraní REST API služby Azure Time Series Insights.
Spropitné
Přečtěte si referenční informace k rozhraní Azure REST API, kde najdete další informace o tom, jak využívat rozhraní REST API, provádět požadavky HTTP a zpracovávat odpovědi HTTP.
Hlavičky HTTP
Požadované hlavičky požadavků jsou popsány níže.
Požadovaná hlavička požadavku | Popis |
---|---|
Oprávnění | K ověření pomocí služby Azure Time Series Insights je nutné předat platný nosný token OAuth 2.0 v hlavičce autorizace . |
Spropitné
Přečtěte si ukázkovou vizualizaci klientské sady SDK služby Azure Time Series Insights, ve které se dozvíte, jak se ověřovat pomocí rozhraní API služby Azure Time Series Insights prostřednictvím kódu programu pomocí javascriptové klientské sady SDK spolu s grafy a grafy.
Volitelné hlavičky požadavků jsou popsány níže.
Volitelná hlavička požadavku | Popis |
---|---|
Typ obsahu | podporuje se pouze application/json . |
x-ms-client-request-id | Identifikátor požadavku klienta. Služba tuto hodnotu zaznamená. Umožňuje službě trasovat operace napříč službami. |
x-ms-client-session-id | ID klientské relace. Služba tuto hodnotu zaznamená. Umožňuje službě trasovat skupinu souvisejících operací napříč službami. |
x-ms-client-application-name (název klientské aplikace) | Název aplikace, která tuto žádost vygenerovala. Služba tuto hodnotu zaznamená. |
Volitelné, ale doporučené hlavičky odpovědi jsou popsány níže.
Hlavička odpovědi | Popis |
---|---|
Typ obsahu | Podporuje se pouze application/json . |
x-ms-request-id | ID požadavku generovaného serverem. Můžete ho použít ke kontaktování Microsoftu a prošetřit žádost. |
x-ms-property-not-found-behavior | Volitelná hlavička odpovědi GA API. Možné hodnoty jsou ThrowError (výchozí) nebo UseNull . |
Parametry HTTP
Požadované parametry řetězce dotazu adresy URL závisí na verzi rozhraní API.
Uvolnit | Hodnoty verzí rozhraní API |
---|---|
Gen1 | api-version=2016-12-12 |
Gen2 | api-version=2020-07-31 |
Volitelné parametry řetězce dotazu adresy URL zahrnují nastavení časového limitu pro časy provádění požadavků HTTP.
Volitelný parametr dotazu | Popis | Verze |
---|---|---|
timeout=<timeout> |
Časový limit na straně serveru pro spuštění požadavku HTTP Platí pouze pro rozhraní API získání událostí prostředí a získání agregací prostředí. Hodnota časového limitu by měla být ve formátu doby trvání ISO 8601, například "PT20S" a měla by být v rozsahu 1-30 s . Výchozí hodnota je 30 s . |
Gen1 |
storeType=<storeType> |
Pro prostředí Gen2 s povoleným teplým úložištěm je možné dotaz spustit buď na WarmStore , nebo ColdStore . Tento parametr v dotazu definuje, na kterém úložišti se má dotaz spustit. Pokud není definovaný, dotaz se spustí v studeném úložišti. Pokud chcete zadat dotaz na teplé úložiště, storeType musí být nastavena na WarmStore . Pokud není definovaný, dotaz se spustí v studeném úložišti. |
Gen2 |
Další kroky
Pro ukázkový kód, který volá rozhraní API Gen1 Azure Time Series Insights, si přečtěte Dotazování na data Gen1 pomocí C#.
Vzorový kód, který volá ukázky kódu rozhraní API Azure Time Series Insights Gen2, najdete dotazování na data Gen2 pomocíjazyka C#.
Referenční informace k rozhraní API najdete v referenční dokumentaci k rozhraní API pro dotazy.