Ověřování a autorizace v Microsoft Foundry

Ověřování a autorizace v Microsoft Foundry řídí, jak principály prokazují identitu a získávají oprávnění k provádění operací. Foundry rozděluje operace na řídicí rovinu (správu prostředků) a rovinu dat (využití modulu runtime), z nichž každá má vlastní ověřování a řízení přístupu na základě role (RBAC).

Foundry podporuje dvě metody ověřování: Microsoft Entra ID a klíče rozhraní API. Microsoft Entra ID umožňuje podmíněný přístup, spravované identity a detailní RBAC. Klíče rozhraní API zůstávají dostupné pro rychlé vytváření prototypů, ale chybí sledovatelnost jednotlivých uživatelů. Tento článek porovnává tyto metody, mapuje identity na role a popisuje běžné scénáře s nejnižšími oprávněními.

Důležité

Pomocí Microsoft Entra ID pro produkční úlohy povolte podmíněný přístup, spravované identity a zásady RBAC s principem nejmenších oprávnění. Klíče rozhraní API jsou vhodné pro rychlé testování, ale poskytují hrubozrnný přístup.

Požadavky

  • Předplatné Azure. Pokud ho nemáte, vytvořte si bezplatný účet.
  • Prostředek Microsoft Foundry s nakonfigurovanou vlastní subdoménou .
  • Porozumění konceptům Azure RBAC.
  • K přiřazení rolí potřebujete roli Vlastník nebo Správce uživatelských přístupů v příslušném oboru.
  • (Volitelné) Azure CLI nebo Azure SDK pro Python nainstalované pro programové ověřování.
  • (Volitelné) balíčky Python pro ukázky kódu: pip install azure-identity requests

Řídicí rovina a rovina dat

Azure operace se dělí do dvou kategorií: řídicí rovina a rovina dat. Azure odděluje správu prostředků (řídicí rovinu) od provozního běhu (datové roviny). Ke správě prostředků ve vašem předplatném použijete řídicí rovinu a ke využití možností, které vystavuje vaše instance typu prostředku, použijete rovinu dat. Další informace o řídicí rovině a rovině dat najdete v tématu Azure řídicí roviny a roviny dat. Ve Foundry existuje jasný rozdíl mezi operacemi řídicí roviny a operacemi roviny dat. Následující tabulka vysvětluje rozdíl mezi těmito dvěma oblastmi, oborem v Foundry, typickými operacemi uživatele, ukázkovými nástroji a funkcemi a autorizační plochou pro použití.

Letadlo Rozsah v Foundry Typické operace Ukázkové nástroje Autorizační plocha
Řídicí rovina Nastavení a konfigurace prostředků, projektů, sítí, šifrování a připojení Vytváření nebo odstraňování prostředků, přiřazování rolí, obměna klíčů, nastavení Private Link portál Azure, Azure CLI, šablony ARM, Bicep, Terraform Azure akce RBAC
Rovina dat Spouštění a používání odvozování modelů, interakce agentů, úlohy vyhodnocení a volání bezpečnosti obsahu Dokončování chatu, generování vnoření, spouštění úloh doladění, odesílání zpráv agenta, operace analyzátoru a klasifikátoru Sady SDK, rozhraní REST API, dětské hřiště portálu Foundry Azure RBAC dataAkce

Všechny ukázky Bicep, Terraformu a sady SDK najdete v úložišti foundry-samples na webu GitHub for Foundry.

Následující seznamy a diagram znázorňují detailně oddělení mezi řídicí rovinou a akcemi roviny dat. Akce řídicí roviny v Foundry zahrnují:

  • Vytváření prostředků Foundry
  • Vytváření projektu Foundry
  • Vytvoření hosta schopností účtu
  • Vytvoření hostitele pro projektové schopnosti
  • Nasazení modelu
  • Vytvoření připojení účtu a projektu

Akce roviny dat v rámci Foundry zahrnují:

  • Vytváření agentů
  • Spuštění vyhodnocení
  • Trasování a monitorování
  • Vyladění

Následující diagram znázorňuje zobrazení roviny řízení a oddělení roviny dat v Foundry spolu s přiřazeními řízení přístupu na základě role (RBAC) a toho, co může mít uživatel v řídicí rovině nebo v rovině dat nebo v obou. Jak je vidět v diagramu, rBAC "actions" jsou přidružené k řídicí rovině, zatímco RBAC "dataActions" jsou přidružené k rovině dat.

Diagram znázorňující oddělení řídicí roviny a operací roviny dat s přidruženými plochami RBAC

Metody ověřování

Foundry podporuje Microsoft Entra ID (klíče založené na tokenech, bez klíčů) a klíče rozhraní API.

Microsoft Entra ID

Microsoft Entra ID používá nosné tokeny OAuth 2.0 omezené na https://ai.azure.com/.default.

Použijte Microsoft Entra ID pro:

  • Produkční úlohy.
  • Podmíněný přístup, vícefaktorové ověřování (MFA) a přístup v pravý čas
  • Integrace RBAC s nejnižšími oprávněními a spravovaná identita

Výhody: jemně odstupňované přiřazení rolí, auditování podle jednotlivých subjektů, životnost tokenů s možností kontroly, automatizovaná správa tajných údajů a spravované identity pro služby.

Omezení: Vyšší složitost počátečního nastavení. Vyžaduje pochopení řízení přístupu na základě role (RBAC). Další informace o RBAC v Foundry najdete v tématu Řízení přístupu na základě role pro Microsoft Foundry.

Klíče rozhraní API

Klíče rozhraní API jsou statické tajné kódy vztahující se k prostředku Foundry.

Použijte klíče rozhraní API pro:

  • Rychlé vytváření prototypů
  • Izolovaná testovací prostředí, kde je přípustná rotace jednoho tajného klíče.

Výhody: Jednoduché, jazykové nezávislé a nevyžadují získání tokenu.

Omezení: Nejde vyjádřit identitu uživatele, je obtížné určit rozsah podrobností a je obtížnější auditovat. Obecně nejsou používány v produkčních prostředích podnikových úloh a Microsoft je nedoporučuje.

Další informace o povolení ověřování bez klíčů najdete v tématu Konfigurování ověřování bez klíčů pomocí Microsoft Entra ID.

Ověřování pomocí Microsoft Entra ID (Python)

Následující příklad ukazuje, jak se ověřit pomocí Microsoft Entra ID pomocí knihovny azure-identity a provést požadavek na koncový bod Foundry:

from azure.identity import DefaultAzureCredential
import requests

# Create a credential object using DefaultAzureCredential
# This automatically uses environment variables, managed identity, or Azure CLI credentials
credential = DefaultAzureCredential()

# Get an access token for the Cognitive Services scope
token = credential.get_token("https://ai.azure.com/.default")

# Use the token in your API request
headers = {
    "Authorization": f"Bearer {token.token}",
    "Content-Type": "application/json"
}

# Replace with your Foundry endpoint
endpoint = "https://<your-resource-name>.cognitiveservices.azure.com"

# Example: List deployments (adjust the path for your specific API)
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())

Očekávaný výstup: Odpověď JSON s výpisem nasazení modelu nebo chyba ověřování, pokud chybí přihlašovací údaje nebo přiřazení role není nakonfigurované.

Referenční informace: DefaultAzureCredential | azure-identity library

Ověřování pomocí klíče rozhraní API (Python)

Následující příklad ukazuje, jak provést ověření pomocí klíče rozhraní API. Tento přístup použijte pouze pro rychlé vytváření prototypů; Microsoft Entra ID se doporučuje pro produkční prostředí.

import requests

# Replace with your actual API key and endpoint
api_key = "<your-api-key>"
endpoint = "https://<your-resource-name>.cognitiveservices.azure.com"

headers = {
    "api-key": api_key,
    "Content-Type": "application/json"
}

# Example: List deployments
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())

Upozornění

Klíče rozhraní API poskytují úplný přístup k prostředku a nemůžou být omezené na konkrétní uživatele nebo akce. Klíče pravidelně obměňujte a vyhněte se jejich zavázání do správy zdrojového kódu.

Očekávaný výstup: Odpověď JSON s výpisem nasazení modelu nebo chyba 401, pokud je klíč rozhraní API neplatný.

Referenční informace: Obměna přístupových klíčů rozhraní API

Matice podpory funkcí

V následující matici najdete informace o tom, jaké funkce ve Foundry podporují klíč API nebo Microsoft Entra ID.

Schopnost nebo funkce klíč rozhraní API Microsoft Entra ID Poznámky
Základní odvozování modelů (chat, vkládání) Ano Ano Plně podporovaná.
Optimalizační operace Ano Ano Entra ID přidá audit pro jednotlivé uživatele.
Služba Agenti Ne Ano Použijte Entra ID pro přístup k nástroji spravované identity.
Hodnocení Ne Ano Použijte Entra ID.
Analýza hovorů v oblasti zabezpečení obsahu Ano Ano RBAC použijte k omezení vysoce rizikových operací.
Úlohy dávkové analýzy (Porozumění obsahu) Ano Ano Entra ID se doporučuje pro škálování.
Využití dětského hřiště portálu Ano Ano Playground používá režim připojení projektu.
Izolace sítě pomocí Private Link Ano Ano Entra ID přidá podmíněný přístup.
Princip nejmenšího oprávnění s předdefinovanými a vlastními rolemi Ne Ano Klíče jsou buď úplně, nebo vůbec ne k danému zdroji.
Spravovaná identita (systémová nebo uživatelsky přiřazená) Ne Ano Povolí ověřování bez tajných kódů.
Přiřazení uživatele podle žádosti Ne Ano Token obsahuje ID tenanta a objektu.
Odvolání (okamžité) Otočit klávesu Odebrání role nebo zakázání uživatele Platí krátká životnost tokenu.
Podpora v procesech automatizace Ano (tajný kód) Ano (služební principál nebo spravovaná identita) Entra ID snižuje rotaci tajných kódů.
Rozhraní API asistentů Ano Ano Doporučuje se používat Entra ID.
Dávková inference Ano Ano
Sada nástrojů Ne Ano Použijte Entra ID pro přístup k nástroji spravované identity.

Typy identit

Azure prostředky a aplikace se ověřují pomocí různých typů identit, z nichž každý je určený pro konkrétní scénáře. Uživatelské principály představují lidské uživatele, servisní principály představují aplikace nebo automatizované procesy, a spravované identity poskytují bezpečný způsob bez použití přihlašovacích údajů, který umožňuje prostředkům Azure přístup k dalším službám. Pochopení těchto rozdílů vám pomůže zvolit správnou identitu pro interaktivní přihlašování, komunikaci mezi aplikacemi nebo automatizaci úloh.

Azure podporuje následující typy identit.

Typ identity Popis
Objekt zabezpečení uživatele Individuální uživatel v Microsoft Entra ID
Principál služby (registrace aplikace) Identita aplikace, která používá tajný klíč klienta nebo certifikát
Spravovaná identita (přiřazená systémem) Azure identita vázaná na prostředky automaticky spravovaná platformou.
Spravovaná identita (přiřazená uživatelem) Samostatná identita, která se připojuje k více prostředkům.

Přehled předdefinovaných rolí

Ve Foundry použijte předdefinované role k oddělení povolených akcí pro uživatele. Většina podniků si přeje oddělení akcí řídicího a datového pláče pro jejich vestavěné role. Jiní očekávají, že kombinovaná role dat a řídicí roviny minimalizují požadovaný počet přiřazení rolí. Následující tabulka uvádí scénáře a odpovídající předdefinované role Foundry, které nejlépe vyhovují jednotlivým scénářům.

Scénář Typické předdefinované role Poznámky
Sestavení agentů s předem nasazenými modely Uživatel Foundry Pouze využití datové vrstvy; zápisy správy nejsou povoleny.
Správa nasazení nebo vyladění modelů Správce projektu Foundry Zahrnuje vytvoření i aktualizaci nasazení modelu.
Rotace klíčů nebo správa zdrojů Vlastník účtu Foundry Vysoká oprávnění; zvažte vlastní roli pro minimální oprávnění.
Správa prostředků, správa nasazení, správa sestavení agentů Vlastník foundry Vysoce privilegovaná samoobslužná role pro uživatele, kteří potřebují přístup k řídicí rovině i rovině dat. Pokud je vyžadována observabilita, zkombinujte s čtenářem Azure Monitor.
Pozorovatelnost, trasování, monitorování Uživatel Foundry (minimálně) Přidání čtečky Azure Monitor v Application Insights

Důležité

Nedávno byly přejmenovány role Foundry RBAC. Foundry User, Foundry Owner, Foundry Account Owner a Foundry Project Manager se dříve nazývaly Uživatel Azure AI, Vlastník Azure AI, Vlastník účtu Azure AI a Správce projektů Azure AI. Během zavádění přejmenování se stále můžou zobrazovat předchozí názvy na některých místech. ID rolí a základní oprávnění se při přejmenování nezmění.

Pokud chcete porozumět rozpisu předdefinovaných rolí a akcí řídicí roviny a roviny dat, projděte si následující diagram.

Diagram mapování předdefinovaných rolí na akce roviny řízení a akce roviny dat v Foundry

Tip

Pokud předdefinovaná role udělí nadbytečná oprávnění pro váš případ použití, vytvořte vlastní roli.

Nastavení Microsoft Entra ID

Základní pokyny k nastavení ověřování Entra ID v Foundry najdete v tématu Konfigurování ověřování bez klíče.

  1. Ujistěte se, že váš prostředek Microsoft Foundry má nakonfigurovanou vlastní subdoménu. Viz vlastní subdomény. Pro ověřování na základě tokenu se vyžaduje vlastní subdoména.

  2. Každému subjektu přiřaďte potřebnou integrovanou nebo vlastní roli. K přiřazení rolí potřebujete roli Vlastník nebo Správce uživatelských přístupů v cílovém oboru. Běžná přiřazení rolí:

    • Foundry User: Pro vývojáře, kteří potřebují vytvářet a testovat pomocí předem nasazených modelů.
    • Foundry Project Manager: Pro vedoucí týmu, kteří potřebují vytvářet projekty a spravovat nasazení.
    • Vlastník účtu Foundry: Pro správce, kteří potřebují úplnou správu prostředků a mohou podmíněně přiřadit uživatele Foundry pro přístup k rovině dat.
    • Vlastník služby Foundry: Pro uživatele, kteří potřebují úplnou správu prostředků i přístup k datové vrstvě. Příklad příkazu rozhraní příkazového řádku pro přiřazení role Uživatele Foundry:
    az role assignment create \
      --assignee <principal-id> \
      --role "53ca6127-db72-4b80-b1b0-d745d6d5456d" \
      --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.CognitiveServices/accounts/<resource-name>
    

Note

Vzhledem k tomu, že se nedávno přejmenovaly role Foundry RBAC, použijte místo názvu role v kódu ID definice role (GUID), abyste se vyhnuli problémům při zavádění přejmenování:

  • Uživatel Foundry: 53ca6127-db72-4b80-b1b0-d745d6d5456d
  • Vlastník foundry: c883944f-8b7b-4483-af10-35834be79c4a
  • Vlastník účtu Foundry: e47c6f54-e4a2-4754-9501-8e0985b135e1
  • Foundry Project Manager: eadc314b-1a2d-4efa-be10-5d325db5065e

Pokud chcete ověřit přiřazení role, spusťte az role assignment list --assignee <principal-id> --scope <resource-scope> a potvrďte, že se role zobrazí ve výstupu.

  1. (Volitelné) Pro služební principál vytvořte registraci aplikace, přidejte tajný klíč klienta nebo certifikát a zapište si ID tenanta, ID klienta a tajný klíč nebo certifikát.
  2. (Volitelné) U spravované identity povolte systémem přiřazenou identitu ve volající službě nebo připojte uživatelsky přiřazenou identitu a přiřaďte jí roli na prostředku Foundry.
  3. Po té, co všichni volající používají ověřování pomocí tokenů, odeberte ověřování založené na klíčích. Volitelně můžete v šablonách nasazení zakázat místní ověřování.

Reference: Přiřazení rolí v Azure | Přístupové řízení na základě rolí pro Foundry

Řešení běžných chyb ověřování

Chyba Příčina Rozlišení
401 Neautorizováno Chybějící nebo prošlý token; Neplatný klíč rozhraní API Ověřte, že rozsah získání tokenu je https://ai.azure.com/.default. Znovu vygenerujte klíč rozhraní API, pokud používáte ověřování založené na klíči.
403 Zakázáno Chybějící přiřazení role RBAC Přiřaďte odpovídající předdefinovanou roli (například Foundry User) v rozsahu prostředku nebo projektu.
AADSTS700016 Aplikace nebyla v rámci klienta nalezena. Ověřte, že registrace aplikace existuje ve správném tenantovi a ID klienta je správné.
Vyžaduje se vlastní subdoména. Prostředek používá místo vlastní subdomény regionální koncový bod. Nakonfigurujte vlastní subdoménu pro prostředek Foundry. Ověřování založené na tokenech vyžaduje vlastní subdoménu.