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:
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.
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.
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
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.
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
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 Connect-AzAccount kell jelentkeznie.
Az Azure Developer CLI-vel üzembe helyezett Bicep használatakor az üzembe helyezést futtató személy vagy szolgáltatás identitása a principalId paraméterre van állítva.
A következő main.parameters.json változó a folyamatot futtató identitásra van állítva.
Az Azure-ban való használathoz adjon meg egy felhasználó által hozzárendelt felügyelt identitást a Bicep üzembehelyezési folyamatának részeként. Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást a folyamatot futtató identitástól elkülönítve.
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>"
Ha RBAC-n keresztül szeretne engedélyeket adni az Azure OpenAI-erőforrásnak, rendeljen hozzá egy szerepkört a New-AzRoleAssignment Azure PowerShell-parancsmaggal.
Az erőforrás létrehozásához és a hitelesítés beállításához használja az alábbi Azure OpenAI Bicep-sablont identityId. A Bicep-nek szüksége van a szerepkör-azonosítóra. Az name ebben a Bicep-kódrészletben szereplő kódrészlet nem az Azure-szerepkör, hanem a Bicep-telepítésre jellemző.
A rendszer az alábbi általános Bicep-et hívja meg a main.bicep szerepkör létrehozásához.
// core/security/role.bicep
metadata description = 'Creates a role assignment for an identity.'
param principalId string // passed in from main.bicep identityId
@allowed([
'Device'
'ForeignGroup'
'Group'
'ServicePrincipal'
'User'
])
param principalType string = 'ServicePrincipal'
param roleDefinitionId string
resource role 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(subscription().id, resourceGroup().id, principalId, roleDefinitionId)
properties: {
principalId: principalId
principalType: principalType
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionId)
}
}
Az Azure Portal szerepkör-hozzárendelési lapjának megnyitásakor található lépéseket követve.
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.
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.
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.
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());
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);
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.
Kijelöl egy adott felhasználó által hozzárendelt felügyelt identitást a DefaultAzureCredential-hoz, a DefaultAzureCredentialBuilder használatával, hogy konfigurálja egy ügyfélazonosítóval:
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.
Egy adott felhasználó által hozzárendelt felügyelt identitást rendeljen hozzá a DefaultAzureCredential-hoz a managedIdentityClientId paraméter használatával, hogy azt ügyfélazonosítóval konfigurálja.
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:
Környezeti változó beállítása 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.
Hozzárendeljen egy specifikus felhasználó-által rendelt felügyelt identitást a DefaultAzureCredential használatával, a managed_identity_client_id paraméterekkel konfigurálva egy ügyfélazonosítót.