Freigeben über


Rollenbasierte Zugriffssteuerung für Speech-Ressourcen

Sie können den Zugriff und Berechtigungen für Ihre Speech-Ressourcen mit rollenbasierter Zugriffssteuerung in Azure (Azure RBAC) verwalten. Zugewiesene Rollen können sich je nach Speech-Ressource unterscheiden.

Sie können beispielsweise einer KI-Sprachressource eine Rolle zuweisen, die nur zum Trainieren eines benutzerdefinierten Sprachmodells verwendet werden soll. Sie können einer KI-Sprachressource, die zum Transkribieren von Audiodateien verwendet wird, eine weitere Rolle zuweisen.

Je nachdem, wer auf die jeweilige Speech-Ressource zugreifen kann, können Sie effektiv eine andere Zugriffsebene pro Anwendung oder Benutzer festlegen. Weitere Information zur Azure RBAC finden Sie in der Azure RBAC-Dokumentation.

Hinweis

In diesem Artikel wird beschrieben, wie Sie Zugriffsrollen für eine KI-Sprachressource zuweisen. Informationen zum Zuweisen von Zugriffsrollen für Microsoft Foundry-Ressourcen finden Sie in der Microsoft Foundry-Dokumentation.

Rollen für Speech-Ressourcen

Eine Rollendefinition ist eine Sammlung von Berechtigungen. Eine KI-Sprachressource kann mehrere Rollen erben oder zugewiesen werden. Die letzte Zugriffsebene für die Ressource ist eine Kombination aller Rollenberechtigungen. Wenn Sie eine KI-Sprachressource erstellen, sind die integrierten Rollen in der folgenden Tabelle für die Zuordnung verfügbar.

Rolle Kann Ressourcenschlüssel auflisten. Zugriff auf Daten, Modelle und Endpunkte in benutzerdefinierten Projekten Zugriff auf Sprachtranskription und Synthese-APIs
Bes. Ja Keine Nein
Mitwirkender Ja Keine Nein
Mitwirkender für Cognitive Services Ja Keine Nein
Cognitive Services-Benutzer Ja Anzeigen, Erstellen, Bearbeiten und Löschen Ja
Cognitive Services Speech: Mitwirkender Nein Anzeigen, Erstellen, Bearbeiten und Löschen Ja
Cognitive Services Speech: Benutzer Nein Nur anzeigen Ja
Cognitive Services-Datenleser (Vorschau) Nein Nur anzeigen Ja

Behalten Sie die integrierten Rollen bei, wenn Ihre Speech-Ressource vollständigen Lese- und Schreibzugriff auf die Projekte haben soll.

Für eine feiner abgestufte Steuerung des Ressourcenzugriffs können Sie Rollen über das Azure-Portal hinzufügen oder entfernen. Ein Beispiel: Sie könnten eine benutzerdefinierte Rolle mit der Berechtigung zum Hochladen von Custom Speech-Datasets erstellen, jedoch ohne die Berechtigung zum Bereitstellen eines Custom Speech-Modells an einem Endpunkt.

Besondere Überlegungen zu Sprachressourcen

Wichtig

Die Sprachdienstarchitektur unterscheidet sich von anderen Foundry-Tools in der Art und Weise, wie Azure Control Plane und Data Plane verwendet werden.

Der Sprachdienst nutzt die Datenebene umfangreicher im Vergleich zu anderen Foundry Tools, was eine andere Konfiguration der Rollen erfordert. Aus diesem Grund verfügen einige allgemeine "Cognitive Services" -Rollen über einen tatsächlichen Zugriffsberechtigungssatz, der nicht exakt mit ihrem Namen übereinstimmt, wenn sie im Szenario mit Spracherkennungsdiensten verwendet wird.

Zum Beispiel bietet Cognitive Services-Benutzer im Grunde die Mitwirkendenberechtigung, während Cognitive Services-Mitwirkender überhaupt keinen Zugriff bietet. Das gleiche gilt für generische Rollen "Besitzer" und "Mitwirkender ", die keine Datenebenenrechte haben und daher keinen Zugriff auf die Sprachressource bieten.

Um die Konsistenz zu wahren, empfehlen wir die Verwendung von Rollen, die "Sprache " in ihren Namen enthalten. Diese Rollen sind Cognitive Services Speech-Benutzer und Cognitive Services Speech-Mitwirkender. Ihre Zugriffsberechtigungssätze wurden speziell für den Spracherkennungsdienst entwickelt.

Authentifizierung mit Schlüsseln und Token

Die Rollen definieren, welche Berechtigungen Sie haben. Authentifizierung ist erforderlich, um die Speech-Ressource zu verwenden.

Um sich mit Speech-Ressourcenschlüsseln zu authentifizieren, benötigen Sie lediglich den Schlüssel und die Region. Um sich mit einem Microsoft Entra-Token zu authentifizieren, muss die Speech-Ressource über eine benutzerdefinierte Unterdomäne verfügen.

Hier erfahren Sie, wie Sie eine neue Sprachressource mit einer benutzerdefinierten Unterdomäne erstellen. Sie können auch eine vorhandene Ressource verwenden, aber sie muss über eine benutzerdefinierte Unterdomäne verfügen. Weitere Informationen zum Erstellen einer benutzerdefinierten Unterdomäne finden Sie unter Erstellen eines benutzerdefinierten Domänennamens.

resourceGroupName=my-speech-rg
location=eastus
AIServicesResourceName=my-aiservices-$location

# create an AIServices resource for Speech and other Foundry Tools
az cognitiveservices account create --name $AIServicesResourceName --resource-group $resourceGroupName --kind AIServices --sku S0 --location $location --custom-domain $AIServicesResourceName

# get the resource id
speechResourceId=$(az cognitiveservices account show --name $AIServicesResourceName --resource-group $resourceGroupName --query id -o tsv)
# assign Cognitive Services User role to the app id
appId=$(az ad signed-in-user show --query id -o tsv)
az role assignment create --role "Cognitive Services User" --assignee $appId --scope $speechResourceId
# assign Cognitive Services Speech User role to the app id
az role assignment create --role "Cognitive Services Speech User" --assignee $appId --scope $speechResourceId

# get an access token
accessToken=$(az account get-access-token --scope "https://cognitiveservices.azure.com/.default" --query accessToken -o tsv)
echo $accessToken

Das zurückgegebene accessToken ist ein Microsoft Entra-Token, das Sie zum Authentifizieren ohne API-Schlüssel verwenden können. Das Token hat eine begrenzte Lebensdauer.

Jetzt können Sie accessToken verwenden, um sich bei der Foundry-Ressource zu authentifizieren. Beispielsweise können Sie das Token über die FAST-Transkription-REST-API verwenden:

uri="https://$AIServicesResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2024-11-15"

curl -v "$uri" \
    --header 'Content-Type: multipart/form-data' \
    --form 'definition={"locales": ["en-US"]}' \
    --form 'audio=@Call1_separated_16k_health_insurance.wav' \
    --header "Authorization: Bearer $accessToken" 

Speech SDK-Authentifizierung

Sie konfigurieren für das SDK, ob die Authentifizierung mit einem API-Schlüssel oder einem Microsoft Entra-Token erfolgt. Weitere Informationen finden Sie unter Microsoft Entra-Authentifizierung mit dem Speech SDK. |