Azure AI-szolgáltatások hitelesítése és engedélyezése a .NET használatával
Az Azure AI-szolgáltatásokhoz irányuló alkalmazáskéréseket hitelesíteni kell. Ebben a cikkben megismerheti az Azure OpenAI és más AI-szolgáltatások .NET-et használó hitelesítésének lehetőségeit. Ezek a fogalmak a Szemantikus Kernel SDK-ra, valamint bizonyos szolgáltatások, például az Azure OpenAI SDK-jaira vonatkoznak. A legtöbb AI-szolgáltatás két elsődleges módszert kínál az alkalmazások és a felhasználók hitelesítésére:
- A kulcsalapú hitelesítés titkos kulcsértékek használatával biztosít hozzáférést egy Azure-szolgáltatáshoz. Ezeket a titkos értékeket a szolgáltatástól függően API-kulcsoknak vagy hozzáférési kulcsoknak is nevezik.
- A Microsoft Entra ID átfogó identitás- és hozzáférés-kezelési megoldást biztosít annak biztosítására, hogy a megfelelő identitások megfelelő szintű hozzáféréssel rendelkezzenek a különböző Azure-erőforrásokhoz.
Az előttünk álló szakaszok a részletes megvalósítási lépések helyett elméleti áttekintést nyújtanak e két megközelítésről. Az Azure-szolgáltatásokhoz való csatlakozással kapcsolatos további információkért látogasson el a következő forrásokra:
Feljegyzés
A cikkben szereplő példák elsősorban az Azure OpenAI-hoz való kapcsolatokra összpontosítanak, de ugyanezek a fogalmak és megvalósítási lépések számos más Azure AI-szolgáltatásra is érvényesek.
Hitelesítés kulcsokkal
A hozzáférési kulcsokkal az alkalmazások és eszközök hitelesíthetők egy Azure AI-szolgáltatásban, például az Azure OpenAI-ban a szolgáltatás által biztosított titkos kulcs használatával. Kérje le a titkos kulcsot olyan eszközökkel, mint az Azure Portal vagy az Azure CLI, és használja az alkalmazáskód konfigurálásához az AI-szolgáltatáshoz való csatlakozáshoz:
builder.Services.AddAzureOpenAIChatCompletion(
"deployment-model",
"service-endpoint",
"service-key"); // Secret key
var kernel = builder.Build();
A kulcsok használata egyszerű megoldás, de ezt a módszert körültekintően kell használni. A kulcsok nem az ajánlott hitelesítési lehetőségek, mert:
- Ne alkalmazza a minimális jogosultság elvét . Emelt szintű engedélyeket biztosítanak, függetlenül attól, hogy ki vagy milyen feladathoz használja őket.
- Véletlenül be lehet jelentkezni a forrásvezérlőbe, vagy nem biztonságos helyeken tárolható.
- Könnyen megoszthatók és elküldhetők olyan felekkel, akiknek nem kellene hozzáféréssel rendelkezniük.
- Gyakran manuális adminisztrációra és forgatásra van szükség.
Ehelyett fontolja meg a Microsoft Entra ID használatát a hitelesítéshez, amely a legtöbb forgatókönyv esetében ajánlott megoldás.
Hitelesítés a Microsoft Entra-azonosítóval
A Microsoft Entra ID egy felhőalapú identitás- és hozzáférés-kezelési szolgáltatás, amely számos funkciót biztosít a különböző üzleti és alkalmazásforgatókönyvekhez. A Microsoft Entra ID az Ajánlott megoldás az Azure OpenAI-hoz és más AI-szolgáltatásokhoz való csatlakozáshoz, és a következő előnyöket nyújtja:
- Kulcs nélküli hitelesítés identitásokkal.
- Szerepköralapú hozzáférés-vezérlés (RBAC) az identitások minimálisan szükséges engedélyeinek hozzárendeléséhez.
- Az ügyfélkódtár használatával
Azure.Identity
kódmódosítások nélkül észlelhet különböző hitelesítő adatokat a környezetekben . - Automatikusan kezeli a felügyeleti karbantartási feladatokat, például a mögöttes kulcsok elforgatását.
A Microsoft Entra-hitelesítés alkalmazásbeli implementálására szolgáló munkafolyamat általában a következő lépéseket tartalmazza:
Helyi fejlesztés:
- Jelentkezzen be az Azure-ba egy helyi fejlesztői eszközzel, például az Azure CLI-vel vagy a Visual Studióval.
- Konfigurálja a kódot az ügyfélkódtár és
Azure.Identity
-DefaultAzureCredential
osztály használatára. - Azure-szerepkörök hozzárendelése ahhoz a fiókhoz, amellyel bejelentkezett az AI-szolgáltatáshoz való hozzáférés engedélyezéséhez.
Azure által üzemeltetett alkalmazás:
- Helyezze üzembe az alkalmazást az Azure-ban, miután konfigurálta az ügyfélkódtár használatával történő
Azure.Identity
hitelesítésre. - Felügyelt identitás hozzárendelése az Azure által üzemeltetett alkalmazáshoz.
- Azure-szerepkörök hozzárendelése a felügyelt identitáshoz az AI-szolgáltatáshoz való hozzáférés engedélyezéséhez.
- Helyezze üzembe az alkalmazást az Azure-ban, miután konfigurálta az ügyfélkódtár használatával történő
A munkafolyamat fő fogalmait a következő szakaszokban ismerheti meg.
Hitelesítés helyileg az Azure-ban
Az Azure AI-szolgáltatásokhoz csatlakozó alkalmazások helyi fejlesztésekor hitelesítést kell végeznie az Azure-ban egy olyan eszközzel, mint a Visual Studio vagy az Azure CLI. A helyi hitelesítő adatokat az Azure.Identity
ügyfélkódtár derítheti fel, és az alkalmazás Azure-szolgáltatásokban való hitelesítéséhez használható, az alkalmazáskód konfigurálása szakaszban leírtak szerint.
Ha például helyileg szeretne hitelesíteni az Azure-ban az Azure CLI használatával, futtassa a következő parancsot:
az login
Az alkalmazáskód konfigurálása
Azure.Identity
Az Azure SDK ügyfélkódtárával implementálhatja a Microsoft Entra-hitelesítést a kódban. A Azure.Identity
kódtárak tartalmazzák az DefaultAzureCredential
osztályt, amely automatikusan felderíti a rendelkezésre álló Azure-hitelesítő adatokat az aktuális környezet és az elérhető eszközök alapján. Keresse fel az Azure SDK for .NET dokumentációját a támogatott környezeti hitelesítő adatok teljes készletéről és a keresés sorrendjéről.
Konfigurálja például a Szemantic Kernelt hitelesítésre a következő kód használatával DefaultAzureCredential
:
Kernel kernel = Kernel
.CreateBuilder()
.AddAzureOpenAITextGeneration(
"your-model",
"your-endpoint",
new DefaultAzureCredential())
.Build();
DefaultAzureCredential
lehetővé teszi az alkalmazások előléptetését a helyi fejlesztésről az éles környezetbe kódmódosítások nélkül. A fejlesztés DefaultAzureCredential
során például a Visual Studióból vagy az Azure CLI-ből származó helyi felhasználói hitelesítő adatait használja az AI szolgáltatásban való hitelesítéshez. Amikor az alkalmazás üzembe van helyezve az Azure-ban, DefaultAzureCredential
az alkalmazáshoz rendelt felügyelt identitást használja.
Szerepkörök hozzárendelése az identitáshoz
Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) egy olyan rendszer, amely részletes hozzáférés-kezelést biztosít az Azure-erőforrásokhoz. Szerepkör hozzárendelése az Azure AI-szolgáltatáshoz való csatlakozáshoz DefaultAzureCredential
használt biztonsági taghoz, legyen az egyéni felhasználó, csoport, szolgáltatásnév vagy felügyelt identitás. Az Azure-szerepkörök olyan engedélyek gyűjteményei, amelyek lehetővé teszik az identitás számára különböző feladatok elvégzését, például befejezések létrehozását vagy erőforrások létrehozását és törlését.
Szerepkörök, például Cognitive Services OpenAI-felhasználó (szerepkör-azonosító: 5e0bd9bd-7b93-4f28-af87-19fc36ad61bd
) hozzárendelése a megfelelő identitáshoz olyan eszközökkel, mint az Azure CLI, a Bicep vagy az Azure Portal. A parancs használatával az role assignment create
például hozzárendelhet egy szerepkört az Azure CLI használatával:
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
További információ az Azure RBAC-ről az alábbi erőforrások használatával:
Felügyelt identitás hozzárendelése az alkalmazáshoz
A legtöbb esetben az Azure által üzemeltetett alkalmazásoknak felügyelt identitással kell csatlakozniuk más szolgáltatásokhoz, például az Azure OpenAI-hoz. A felügyelt identitások teljes mértékben felügyelt identitást biztosítanak a Microsoft Entra-azonosítóban, amelyet az alkalmazások a Microsoft Entra-hitelesítést támogató erőforrásokhoz való csatlakozáskor használhatnak.
DefaultAzureCredential
felderíti az alkalmazáshoz társított identitást, és arra használja, hogy hitelesítést végezzen más Azure-szolgáltatásokban.
Az alkalmazáshoz kétféle felügyelt identitás rendelhető:
- A rendszer által hozzárendelt identitás az alkalmazáshoz kötött, és adott esetben azzal együtt törlődik. Egy alkalmazás csak egy rendszer által hozzárendelt identitással rendelkezhet.
- A felhasználó által hozzárendelt identitás különálló Azure-erőforrás, amely hozzárendelhető az alkalmazáshoz. Egy alkalmazás több felhasználó által hozzárendelt identitással is rendelkezhet.
Szerepkörök hozzárendelése egy felügyelt identitáshoz ugyanúgy, mint egy egyéni felhasználói fiókhoz, például a Cognitive Services OpenAI felhasználói szerepköréhez. további információ a felügyelt identitások használatáról az alábbi erőforrások használatával: