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. Další informace o vyřazení a migraci najdete v naší 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 na základě OAUTH 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í nutnost správy přihlašovacích údajů vývojáři tím, že poskytují identity prostředků Azure v Microsoft Entra ID a umožňují jejich použití k získání tokenů Microsoft Entra. Tady jsou některé výhody používání spravovaných identit:

  • Nemusíte spravovat přihlašovací údaje. 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 článku Co jsou spravované identity pro prostředky Azure?

Spravované identity můžete použít z:

  • Virtuální počítače Azure
  • Azure App Services
  • Azure Functions
  • Instance kontejnerů Azure
  • a další ...

Úplný seznam najdete ve 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í (kam se přístupový token odešle).

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 pak můžete přidat tajné kódy nebo certifikáty a obory, aby vaše aplikace fungovala, přizpůsobila branding aplikace v dialogovém okně pro přihlášení a další možnosti.

Pokud aplikaci zaregistrujete na portálu, objekt aplikace i instanční objekt 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 instančního objektu se vyžaduje k vyžádání tokenů.

Nezapomeňte zkontrolovat kontrolní seznam zabezpečení pro vaši aplikaci. Osvědčeným postupem je použít přihlašovací údaje certifikátu, ne přihlašovací údaje hesla (tajné kódy klienta).

Další podrobnosti najdete v tématu Objekty aplikace a instanční objekty v MICROSOFT Entra ID .

Krok 1: Vytvoření spravované identity nebo registrace aplikace

Jakmile zjistíte, jestli budete používat spravovanou identitu nebo registraci aplikace, musíte ho zřídit v dalším kroku.

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 a seznamte se s rozdílem. Jakmile vyberete typ identity, vyhledejte a postupujte podle správného kurzu v dokumentaci ke spravovaným identitám Microsoft Entra. Tady najdete pokyny ke konfiguraci spravovaných identit pro:

Registrace aplikace

Postupujte podle kroků uvedených v části Registrace aplikace.

  • Po výběru příslušné platformy v kroku 4 konfigurace nastavení platformy nakonfigurujte identifikátory URI přesměrování a přístupové tokeny na bočním panelu napravo od uživatelského rozhraní.

    • Identifikátory URI přesměrování se musí shodovat s adresou zadanou požadavkem na ověření:

      • U aplikací hostovaných v místním vývojovém prostředí vyberte Veřejný klient (mobilní a desktopová verze). Nezapomeňte nastavit veřejného klienta na Ano.
      • U jednostrákových aplikací hostovaných ve službě Aplikace Azure vyberte Web.
    • Určete, jestli je vhodná adresa URL odhlášení.

    • Povolte tok implicitního udělení kontrolou přístupových tokenů nebo tokenů ID.

    Vytvoření identifikátorů URI pro přesměrování

    Klikněte na Konfigurovat a pak na Uložit.

  • Přidružte si aplikaci Microsoft Entra Azure Time Series Insights. Vyberte oprávnění>rozhraní API Pro přidání rozhraní API oprávnění>, která moje organizace používá.

    Přidružení rozhraní API k aplikaci Microsoft Entra

    Napište Azure Time Series Insights do vyhledávacího panelu a pak vyberte Azure 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í.

    Zadejte typ oprávnění rozhraní API, které vaše aplikace vyžaduje.

  • Pokud aplikace bude volat rozhraní API vašeho prostředí jako sama o sobě, přidejte přihlašovací údaje . 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 instančního objektu, 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í webu Azure Portal , postupujte podle pokynů uvedených v článku Udělení přístupu k datům v článku o 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.

    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. Přečtěte si další informace o rozšířeních.

Krok 3: Vyžádání tokenů

Jakmile je vaše spravovaná identita nebo registrace aplikace zřízená a přiřazená 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 vystaven přesně pro https://api.timeseries.azure.com/. Koncové lomítko se vyžaduje.

  • Pokud použijete Postman , váš protokol AuthURL bude proto: https://login.microsoftonline.com/microsoft.onmicrosoft.com/oauth2/authorize?scope=https://api.timeseries.azure.com//.default
  • https://api.timeseries.azure.com/ je platný, ale https://api.timeseries.azure.com není.

Spravované identity

Při přístupu ze služby Aplikace Azure Service nebo Functions postupujte podle pokynů v části 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. Pokyny k migraci z předchozí knihovny AppAuthentication najdete v pokynech k migraci appAuthentication do Azure.Identity Migration.

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

MSAL lze použít v mnoha scénářích aplikace, včetně, ale nikoli pouze:

Ukázkový kód jazyka C# ukazující, jak získat token jako registraci aplikace a dotazovat se na data z prostředí Gen2, podívejte se na ukázkovou aplikaci na GitHubu.

Důležité

Pokud používáte knihovnu Azure Active Directory Authentication Library (ADAL), migrujte na knihovnu 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 popsané v referenční dokumentaci k rozhraní REST API služby Azure Time Series Insights.

Tip

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.

Záhlaví HTTP

Požadované hlavičky požadavků jsou popsány níže.

Požadovaná hlavička požadavku Popis
Autorizace Pokud se chcete ověřit pomocí Azure Time Series Insights, musí být v hlavičce autorizace předán platný nosný token OAuth 2.0.

Tip

Přečtěte si ukázkovou vizualizaci klientské sady SDK služby Azure Time Series Insights hostované v Azure Time Series Insights a zjistěte, jak se ověřovat pomocí rozhraní API služby Azure Time Series Insights prostřednictvím kódu programu pomocí sady JavaScript Client SDK spolu s grafy a grafy.

Volitelné hlavičky požadavků jsou popsány níže.

Nepovinná hlavička požadavku Popis
Typ obsahu podporuje se pouze application/json .
x-ms-client-request-id ID požadavku klienta. Služba tuto hodnotu zaznamená. Umožňuje službě trasovat operace napříč službami.
x-ms-client-session-id ID relace klienta. 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 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 jen 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 rozhraní API hosta Možné hodnoty jsou ThrowError (výchozí) nebo UseNull.

Parametry HTTP

Tip

Další informace o požadovaných a volitelných dotazech najdete v referenční dokumentaci.

Požadované parametry řetězce dotazu adresy URL závisí na verzi rozhraní API.

Verze 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 pro získání událostí prostředí a získání agregačních rozhraní API 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 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 dotazovat teplé úložiště, musí být vlastnost storeType nastavena na WarmStorehodnotu . Pokud není definovaný, dotaz se spustí v studeném úložišti. Gen2

Další kroky