Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Žádosti o aplikace na nástroje Microsoft Foundry musí být ověřeny. V tomto článku prozkoumáte dostupné možnosti ověřování pro Azure OpenAI a další nástroje Foundry pomocí .NET. Většina nástrojů Foundry nabízí dva primární způsoby ověřování aplikací a uživatelů:
- Ověřování na základě klíčů poskytuje přístup ke službě Azure pomocí hodnot tajných klíčů. Tyto tajné hodnoty se někdy označují jako klíče rozhraní API nebo přístupové klíče v závislosti na službě.
- Microsoft Entra ID poskytuje komplexní řešení správy identit a přístupu, které zajišťuje, aby správné identity měly správnou úroveň přístupu k různým prostředkům Azure.
Následující části poskytují koncepční přehled těchto dvou přístupů, nikoli podrobných kroků implementace. Podrobnější informace o připojování ke službám Azure najdete v následujících zdrojích informací:
Poznámka:
Příklady v tomto článku se zaměřují především na připojení k Azure OpenAI, ale stejné koncepty a kroky implementace přímo platí i pro mnoho dalších nástrojů Foundry.
Ověřování pomocí klíčů
Přístupové klíče umožňují aplikacím a nástrojům ověřovat se v nástroji Foundry, jako je Azure OpenAI, pomocí tajného klíče poskytovaného službou. Načtěte tajný klíč pomocí nástrojů, jako je Azure Portal nebo Azure CLI, a použijte ho ke konfiguraci kódu aplikace pro připojení k nástroji Foundry:
builder.Services.AddAzureOpenAIChatCompletion(
"deployment-model",
"service-endpoint",
"service-key"); // Secret key
var kernel = builder.Build();
Klíče se dají jednoduše použít, ale zacházejte s nimi opatrně. Klíče nejsou doporučenou možností ověřování, protože:
- Nepoužívejte princip nejnižších oprávnění. Poskytují zvýšená oprávnění bez ohledu na to, kdo je používá nebo pro který úkol.
- Může se omylem dostat do systému správy verzí zdrojového kódu nebo do nebezpečných skladovacích lokací.
- Dají se snadno sdílet se stranami nebo je posílat stranám, které by neměly mít přístup.
- Často vyžadují ruční správu a otáčení.
Místo toho zvažte použití ID Microsoft Entra pro ověřování, což je doporučené řešení pro většinu scénářů.
Ověřování pomocí ID Microsoft Entra
Microsoft Entra ID je cloudová služba pro správu identit a přístupu, která poskytuje rozsáhlou sadu funkcí pro různé scénáře obchodních a aplikací. Microsoft Entra ID je doporučené řešení pro připojení k Azure OpenAI a dalším nástrojům Foundry a poskytuje následující výhody:
- Ověřování bez klíčů pomocí identit.
- Řízení přístupu na základě role (RBAC) pro přiřazení identit minimálním nutným oprávněním.
- Umožňuje používat klientskou knihovnu
Azure.Identityk detekci různých přihlašovacích údajů napříč prostředími bez nutnosti změn kódu. - Automaticky zpracovává úlohy správy, jako je rotace základních klíčů.
Pracovní postup pro implementaci ověřování Microsoft Entra ve vaší aplikaci obecně zahrnuje následující kroky:
Místní vývoj:
- Přihlaste se k Azure pomocí místního vývojového nástroje, jako je Azure CLI nebo Visual Studio.
- Nakonfigurujte kód tak, aby používal klientskou knihovnu
Azure.IdentityaDefaultAzureCredentialtřídu. - Přiřaďte role Azure k účtu, kterým jste se přihlásili, a povolte tak přístup k nástroji Foundry.
Aplikace hostovaná v Azure:
- Jakmile aplikaci nakonfigurujete pro ověření pomocí
Azure.Identityklientské knihovny, nasaďte ji do Azure. - Přiřaďte spravovanou identitu k aplikaci hostované v Azure.
- Přiřaďte spravované identitě role Azure, abyste umožnili přístup k nástroji Foundry.
- Jakmile aplikaci nakonfigurujete pro ověření pomocí
Klíčové koncepty tohoto pracovního postupu jsou prozkoumány v následujících částech.
Místní ověřování v Azure
Při místním vývoji aplikací, které se připojují k nástrojům Foundry, se ověřte v Azure pomocí nástroje, jako je Visual Studio nebo Azure CLI. Vaše místní přihlašovací údaje může klientská knihovna zjistit Azure.Identity a použít k ověření aplikace ve službách Azure, jak je popsáno v části Konfigurace kódu aplikace.
Pokud se například chcete ověřit v Azure místně pomocí Azure CLI, spusťte následující příkaz:
az login
Konfigurace kódu aplikace
Azure.Identity K implementaci ověřování Microsoft Entra ve vašem kódu použijte klientskou knihovnu ze sady Azure SDK. Knihovny Azure.Identity zahrnují DefaultAzureCredential třídu, která automaticky zjišťuje dostupné přihlašovací údaje Azure na základě aktuálního prostředí a dostupných nástrojů. Úplnou sadu podporovaných přihlašovacích údajů prostředí a pořadí, ve kterém DefaultAzureCredential je hledá, najdete v dokumentaci k sadě Azure SDK pro .NET .
Například nakonfigurujte Azure OpenAI pro ověření pomocí DefaultAzureCredential pomocí následujícího kódu:
AzureOpenAIClient azureClient =
new(
new Uri(endpoint),
new DefaultAzureCredential(new DefaultAzureCredentialOptions()
{ TenantId = tenantId }
)
);
DefaultAzureCredential umožňuje zvýšit úroveň aplikací z místního vývoje do produkčního prostředí bez změn kódu. Například během vývoje DefaultAzureCredential používá vaše přihlašovací údaje místního uživatele ze sady Visual Studio nebo Azure CLI k ověření v nástroji Foundry. Když se aplikace nasadí do Azure, DefaultAzureCredential použije spravovanou identitu, která je přiřazená k vaší aplikaci.
Přiřazení rolí k vaší identitě
Řízení přístupu na základě role v Azure (Azure RBAC) je systém, který poskytuje jemně odstupňovanou správu přístupu k prostředkům Azure. Přiřaďte roli k objektu zabezpečení používanému DefaultAzureCredential pro připojení k nástroji Foundry bez ohledu na to, jestli se jedná o jednotlivého uživatele, skupinu, instanční objekt nebo spravovanou identitu. Role Azure jsou kolekce oprávnění, která identitě umožňují provádět různé úlohy, jako jsou generování dokončení nebo vytváření a odstraňování prostředků.
Přiřaďte role, jako je Uživatel OpenAI služby Cognitive Services (ID role: 5e0bd9bd-7b93-4f28-af87-19fc36ad61bd), příslušné identitě pomocí nástrojů, jako jsou Azure CLI, Bicep nebo Azure Portal. Například pomocí az role assignment create příkazu přiřaďte roli pomocí Azure CLI:
az role assignment create \
--role "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" \
--assignee-object-id "$PRINCIPAL_ID" \
--scope /subscriptions/"$SUBSCRIPTION_ID"/resourceGroups/"$RESOURCE_GROUP" \
--assignee-principal-type User
Další informace o Azure RBAC najdete v následujících zdrojích informací:
Přiřazení spravované identity k aplikaci
Ve většině scénářů by aplikace hostované v Azure měly používat spravovanou identitu pro připojení k jiným službám, jako je Azure OpenAI. Spravované identity poskytují plně spravovanou identitu v Microsoft Entra ID pro aplikace, které se mají použít při připojování k prostředkům, které podporují ověřování Microsoft Entra.
DefaultAzureCredential zjistí identitu přidruženou k vaší aplikaci a použije ji k ověření v jiných službách Azure.
Ke své aplikaci můžete přiřadit dva typy spravovaných identit:
- Identita přiřazená systémem je svázaná s vaší aplikací a při odstranění aplikace se odstraní. Aplikace může mít pouze jednu identitu přiřazenou systémem.
- Identita přiřazená uživatelem je samostatný prostředek Azure, který je možné přiřadit k vaší aplikaci. Aplikace může mít více identit přiřazených uživatelem.
Přiřaďte role spravované identitě stejně, jako byste to udělali u jednotlivého uživatelského účtu, například role uživatele služby Cognitive Services OpenAI. Další informace o práci se spravovanými identitami najdete v následujících zdrojích informací: