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


Az Azure OpenAI használata kulcsok nélkül

A legtöbb Azure-szolgáltatáshoz irányuló alkalmazáskéréseket kulcsokkal vagy jelszó nélküli kapcsolatokkal kell hitelesíteni. A fejlesztőknek szorgalmasnak kell lenniük ahhoz, hogy a kulcsok ne legyenek biztonságos helyen elérhetővé. Bárki, aki hozzáfér a kulcshoz, hitelesítheti magát a szolgáltatásban. A kulcs nélküli hitelesítés továbbfejlesztett felügyeleti és biztonsági előnyöket biztosít a fiókkulcshoz képest, mivel nincs tárolandó kulcs (vagy kapcsolati sztring).

A kulcs nélküli kapcsolatok a következő lépésekkel engedélyezve vannak:

  • Konfigurálja a hitelesítést.
  • Szükség szerint állítsa be a környezeti változókat.
  • Azure Identity-kódtár hitelesítő adattípusának használatával hozzon létre egy Azure OpenAI-ügyfélobjektumot.

Hitelesítés

Az Azure-ügyfélkódtárak használatához hitelesítés szükséges a Microsoft Entra-azonosítóhoz.

A hitelesítés attól függően különbözik, hogy milyen környezetben fut az alkalmazás:

Azure OpenAI kulcs nélküli építőelem

Az alábbi hivatkozás segítségével megismerheti az Azure OpenAI kulcs nélküli építőelem-AI-sablont. Ez a sablon kiépít egy Azure OpenAI-fiókot a felhasználói fiók RBAC szerepkör-engedélyével a kulcs nélküli (Microsoft Entra) hitelesítéshez az OpenAI API SDK-k eléréséhez.

Feljegyzés

Ez a cikk egy vagy több AI-alkalmazássablont használ a cikkben szereplő példák és útmutatók alapjául. Az AI-alkalmazássablonok jól karbantartott, könnyen üzembe helyezhető referencia-implementációkat biztosítanak, amelyek segítenek magas színvonalú kiindulópontot biztosítani az AI-alkalmazások számára.

Ismerkedjen meg az Azure OpenAI kulcs nélküli hitelesítés építőelem-AI-sablonjának .NET-végpontok közötti használatával.

Hitelesítés helyi fejlesztéshez

Válasszon egy eszközt a hitelesítéshez a helyi fejlesztés során.

Hitelesítés Azure-ban üzemeltetett környezetekhez

Szerepkörök konfigurálása engedélyezéshez

  1. Keresse meg az Azure OpenAI használatára vonatkozó szerepkört . A szerepkör beállításának módjától függően szüksége van a névre vagy az azonosítóra.

    Szerepkör neve Szerepkör-azonosító
    Az Azure CLI vagy az Azure PowerShell esetében használhatja a szerepkör nevét. A Bicep esetében szüksége van a szerepkör-azonosítóra.
  2. Az alábbi táblázat segítségével válasszon ki egy szerepkört és egy azonosítót.

    Használati eset Szerepkör neve Szerepkör-azonosító
    Segédek Cognitive Services OpenAI Contributor a001fd3d-188f-4b5d-821b-7da978bf7442
    Csevegés befejezése Cognitive Services OpenAI User 5e0bd9bd-7b93-4f28-af87-19fc36ad61bd
  3. Válasszon ki egy használni kívánt identitástípust.

    • Személyes identitás: Ez az Azure-ba való bejelentkezéshez kapcsolódó személyes identitás.
    • Felügyelt identitás: Ez egy, az Azure-ban való használatra létrehozott és felügyelt identitás. Felügyelt identitás esetén hozzon létre egy felhasználó által hozzárendelt felügyelt identitást. A felügyelt identitás létrehozásakor szüksége lesz az Client IDúgynevezett app ID.
  4. A személyes identitás megkereséséhez használja az alábbi parancsok egyikét. Használja az azonosítót a <identity-id> következő lépésben.

    A helyi fejlesztéshez a következő paranccsal szerezheti be a saját identitásazonosítóját. A parancs használata előtt be az login kell jelentkeznie.

    az ad signed-in-user show \
        --query id -o tsv
    
  5. Rendelje hozzá a szerepköralapú hozzáférés-vezérlési (RBAC) szerepkört az erőforráscsoport identitásához.

    Ha identitásengedélyeket szeretne adni az erőforrásnak az RBAC-vel, rendeljen hozzá egy szerepkört az Azure CLI-paranccsal az role assignment create paranccsal.

    az role assignment create \
        --role "Cognitive Services OpenAI User" \
        --assignee "<identity-id>" \
        --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>"
    

    Szükség esetén cserélje le <identity-id>a , <subscription-id>és <resource-group-name> a tényleges értékeket.

Környezeti változók konfigurálása

Az Azure OpenAI-hoz való csatlakozáshoz a kódnak ismernie kell az erőforrásvégpontot, és más környezeti változókra is szükség lehet.

  1. Hozzon létre egy környezeti változót az Azure OpenAI-végponthoz.

    • AZURE_OPENAI_ENDPOINT: Ez az URL-cím az Azure OpenAI-erőforrás hozzáférési pontja.
  2. Környezeti változók létrehozása az alkalmazás futtatásának helye alapján:

    Hely Identitás Leírás
    Helyi Személyes A személyes identitással rendelkező helyi futtatókörnyezetek esetében jelentkezzen be a hitelesítő adatok eszköz használatával történő létrehozásához.
    Azure-felhő Felhasználó által hozzárendelt felügyelt identitás Hozzon létre egy környezeti változót AZURE_CLIENT_ID , amely tartalmazza a felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosítóját a hitelesítéshez.

Az Azure Identity ügyfélkódtárának telepítése

Az Azure Identity-ügyfélkódtár telepítéséhez használja az alábbi hivatkozást.

Telepítse a .NET Azure Identity-ügyfélkódtárat:

dotnet add package Azure.Identity

DefaultAzureCredential használata

Az Azure Identity-kódtár DefaultAzureCredential lehetővé teszi, hogy az ügyfél ugyanazt a kódot futtassa a helyi fejlesztési környezetben és az Azure Cloudban.

További információért a .NET-hez készült DefaultAzureCredential-val kapcsolatban, kérjük, tekintse meg az DefaultAzureCredential áttekintését.

A felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítójának beállításához használja az alábbi módszerek egyikét:

  • Állítsa be a környezeti változót: AZURE_CLIENT_ID. A DefaultAzureCredential paraméter nélküli konstruktora ennek a környezeti változónak az értékét fogja használni, ha van ilyen.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using System;
    using static System.Environment;
    
    string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
    
    OpenAIClient client = new(new Uri(endpoint), new DefaultAzureCredential());
    
  • Állítsa be a tulajdonságot, a ManagedIdentityClientId, DefaultAzureCredentialOptions-n:

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using System;
    using static System.Environment;
    
    string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
    
    var credential = new DefaultAzureCredential(
        new DefaultAzureCredentialOptions
        {
            ManagedIdentityClientId = "<user_assigned_client_id>"
        });
    
    OpenAIClient client = new(new Uri(endpoint), credential);
    

Források