Megosztás a következőn keresztül:


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:

    1. Jelentkezzen be az Azure-ba egy helyi fejlesztői eszközzel, például az Azure CLI-vel vagy a Visual Studióval.
    2. Konfigurálja a kódot az ügyfélkódtár és Azure.Identity -DefaultAzureCredentialosztály használatára.
    3. 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:

    1. 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.
    2. Felügyelt identitás hozzárendelése az Azure által üzemeltetett alkalmazáshoz.
    3. 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.

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: