Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie den Sprach-SDK für den Zugriff auf den Sprachdienst verwenden, stehen drei Authentifizierungsmethoden zur Verfügung: Dienstschlüssel, ein schlüsselbasiertes Token und Microsoft Entra ID. In diesem Artikel wird beschrieben, wie Sie eine Foundry-Ressource konfigurieren und ein Speech SDK-Konfigurationsobjekt für die Verwendung der Microsoft Entra-ID für die Authentifizierung erstellen.
In diesem Artikel erfahren Sie, wie Sie Microsoft Entra-Authentifizierung mit dem Speech-SDK verwenden. Folgendes wird vermittelt:
- Erstellen einer Foundry-Ressource
- Konfigurieren der Speech-Ressource für die Microsoft Entra-Authentifizierung
- Erhalten eines Microsoft Entra-Zugriffstokens
- Erstellen Sie das entsprechende SDK-Konfigurationsobjekt.
Weitere Informationen zu Microsoft Entra-Zugriffstoken, einschließlich der Tokenlebensdauer, finden Sie unter Microsoft Identity Platform – Zugriffstoken.
Erstellen einer Foundry-Ressource
Informationen zum Erstellen einer Foundry-Ressource im Azure-Portal finden Sie in dieser Schnellstartanleitung.
Konfigurieren der Speech-Ressource für die Microsoft Entra-Authentifizierung
Um Ihre Speech-Ressource für Microsoft Entra-Authentifizierung zu konfigurieren, erstellen Sie einen benutzerdefinierten Domänennamen, und weisen Sie Rollen zu.
Erstellen eines benutzerdefinierten Domänennamens
Führen Sie die folgenden Schritte aus, um einen benutzerdefinierten Unterdomänennamen für Die Foundry Tools für Ihre Sprachressource zu erstellen.
Achtung
Wenn Sie einen benutzerdefinierten Domänennamen aktivieren, kann der Vorgang nicht rückgängig gemacht werden. Sie können den regionalen Namen nur wiederherstellen, indem Sie eine neue Speech-Ressource erstellen.
Wenn Ihrer Speech-Ressource viele benutzerdefinierte Modelle und Projekte zugeordnet sind, die über Speech Studio erstellt wurden, wird dringend empfohlen, die Konfiguration mit einer Testressource auszuprobieren und Produktionsressourcen erst im Anschluss zu bearbeiten.
Befolgen Sie diese Schritte, um einen benutzerdefinierten Domänennamen im Azure-Portal zu erstellen:
Navigieren Sie zum Azure-Portal, und melden Sie sich bei Ihrem Azure-Konto an.
Wählen Sie die erforderliche Speech-Ressource aus.
Wählen Sie in der Gruppe Ressourcenverwaltung im linken Bereich die Option Netzwerk aus.
Wählen Sie auf der Registerkarte Firewalls und virtuelle Netzwerke die Option Benutzerdefinierten Domänennamen generieren aus. Ein neues Panel mit Anweisungen zum Erstellen einer eindeutigen benutzerdefinierten Unterdomäne für Ihre Ressource erscheint rechts.
Geben Sie im Bereich Benutzerdefinierten Domänennamen generieren einen benutzerdefinierten Domänennamen ein. Ihre vollständige benutzerdefinierte Domäne sieht wie
https://{your custom name}.cognitiveservices.azure.comaus.Hinweis: Nachdem Sie einen benutzerdefinierten Domänennamen erstellt haben, kann dieser nicht mehr geändert werden.
Nachdem Sie Ihren benutzerdefinierten Domänennamen eingegeben haben, wählen Sie Speichern aus.
Nachdem der Vorgang abgeschlossen ist, wählen Sie in der Gruppe Ressourcenverwaltung die Option Schlüssel und Endpunkt aus. Vergewissern Sie sich, dass der neue Endpunktname Ihrer Ressource mit
https://{your custom name}.cognitiveservices.azure.combeginnt.
Zuweisen von Rollen
Für die Microsoft Entra-Authentifizierung mit Sprachressourcen müssen Sie entweder die Rolle Cognitive Services Sprachmitwirkender oder Cognitive Services Sprachbenutzer zuweisen.
In demAzure-Portal oder PowerShellkönnen Sie dem Benutzer oder der Anwendung Rollen zuweisen.
Erhalten eines Microsoft Entra-Zugriffstokens
Verwenden Sie die Azure Identity Client Library, um ein Microsoft Entra-Zugriffstoken in C# abzurufen.
Hier finden Sie ein Beispiel für die Verwendung von Azure Identity zum Abrufen eines Microsoft Entra Zugriffstokens aus einem interaktiven Browser:
TokenRequestContext context = new Azure.Core.TokenRequestContext(new string[] { "https://cognitiveservices.azure.com/.default" });
InteractiveBrowserCredential browserCredential = new InteractiveBrowserCredential();
var browserToken = browserCredential.GetToken(context);
string aadToken = browserToken.Token;
Hinweis
Der Tokenkontext muss auf „https://cognitiveservices.azure.com/.default" festgelegt werden.
Verwenden Sie die Azure Identity Client Library, um ein Microsoft Entra-Zugriffstoken in C++ abzurufen.
Hier ist ein Beispiel, wie Sie Azure Identity verwenden, um ein Microsoft Entra-Zugriffstoken mit Ihrer Mandanten-ID, Client-ID und Ihrem Client-Geheimnis abzurufen:
const std::string tokenContext = "https://cognitiveservices.azure.com/.default";
Azure::Identity::DefaultAzureCredential();
Azure::Core::Credentials::TokenRequestContext context;
context.Scopes.push_back(tokenContext);
auto token = cred.GetToken(context, Azure::Core::Context());
Hinweis
Der Tokenkontext muss auf „https://cognitiveservices.azure.com/.default" festgelegt werden.
Verwenden Sie die Azure Identity Client Library, um ein Microsoft Entra-Zugriffstoken in Java abzurufen.
Hier finden Sie ein Beispiel für die Verwendung von Azure Identity zum Abrufen eines Microsoft Entra Zugriffstokens aus einem Browser:
TokenRequestContext context = new TokenRequestContext();
context.addScopes("https://cognitiveservices.azure.com/.default");
InteractiveBrowserCredentialBuilder builder = new InteractiveBrowserCredentialBuilder();
InteractiveBrowserCredential browserCredential = builder.build();
AccessToken browserToken = browserCredential.getToken(context).block();
String token = browserToken.getToken();
Hinweis
Der Tokenkontext muss auf „https://cognitiveservices.azure.com/.default" festgelegt werden.
Verwenden Sie die Azure Identity Client Library, um ein Microsoft Entra-Zugriffstoken in Python abzurufen.
Hier finden Sie ein Beispiel für die Verwendung von Azure Identity zum Abrufen eines Microsoft Entra Zugriffstokens aus einem interaktiven Browser:
from azure.identity import InteractiveBrowserCredential
ibc = InteractiveBrowserCredential()
aadToken = ibc.get_token("https://cognitiveservices.azure.com/.default")
Weitere Beispiele
Beispiele zum Abrufen eines Microsoft Entra Zugriffstokens finden Sie in Microsoft Identity Platform Codebeispielen.
Für Programmiersprachen, für die keine Microsoft Identity Platform-Clientbibliothek verfügbar ist, können Sie direkt ein Zugriffstoken anfordern.
Sprachressourcen-ID abrufen
Sie benötigen Ihre Sprachressourcen-ID, um SDK-Aufrufe mithilfe der Microsoft Entra-Authentifizierung in Szenarien durchzuführen, die entra-ID noch nicht direkt unterstützen.
So erhalten Sie die Ressourcen-ID im Azure-Portal:
- Navigieren Sie zum Azure-Portal, und melden Sie sich bei Ihrem Azure-Konto an.
- Wählen Sie eine Foundry-Ressource aus.
- Wählen Sie in der Gruppe Ressourcenverwaltung im linken Bereich die Option Eigenschaften aus.
- Kopieren Sie die Ressourcen-ID
Erstellen des Sprach-SDK-Konfigurationsobjekts
Mit einem Microsoft Entra Zugriffstoken können Sie jetzt ein Speech-SDK-Konfigurationsobjekt erstellen.
Die Methode zum Bereitstellen des Tokens und die Methode zum Erstellen des entsprechenden Sprach-SDK-Objekts Config variieren je nach dem Objekt, das Sie verwenden.
Sprachrekognitor, Quellsprachenrekognitor, Konversationstranskribierer
Verwenden Sie für SpeechRecognizer, SourceLanguageRecognizerConversationTranscriber Objekte eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredential();
// Define the custom domain endpoint for your Speech resource.
var endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
var speechConfig = SpeechConfig.FromEndpoint(new Uri(endpoint), browserCredential);
Übersetzungserkenner
Verwenden Sie für TranslationRecognizer das Objekt eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechTranslationConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredential();
// Define the custom domain endpoint for your Speech resource
var endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechTranslationConfig object using the custom domain endpoint and TokenCredential.
var speechConfig = SpeechTranslationConfig.FromEndpoint(new Uri(endpoint), browserCredential);
Sprachsynthesizer
Verwenden Sie für SpeechSynthesizer Objekte eine entsprechende Instanz von TokenCredential für die Authentifizierung. Verwenden Sie zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, diese Anmeldeinformationen, um ein SpeechConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredential();
// Define the custom domain endpoint for your Speech resource.
var endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
var speechConfig = SpeechConfig.FromEndpoint(new Uri(endpoint), browserCredential);
Sprachrekognitor (SpeechRecognizer), Sprachsynthesizer (SpeechSynthesizer), Gesprächstranskribierer (ConversationTranscriber)
Verwenden Sie für SpeechRecognizer, SpeechSynthesizerund ConversationTranscriber Objekte eine entsprechende Instanz von TokenCredential für die Authentifizierung. Verwenden Sie zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, diese Anmeldeinformationen, um ein SpeechConfig Objekt zu erstellen.
auto browserCredential = std::make_shared<Azure::Identity::InteractiveBrowserCredential>();
// Define the custom domain endpoint for your Speech resource.
auto endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
auto speechConfig = SpeechConfig::FromEndpoint(endpoint, browserCredential);
Übersetzungserkenner
Verwenden Sie für die TranslationRecognizerAuthentifizierung eine entsprechende Instanz von TokenCredential . Verwenden Sie zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, diese Anmeldeinformationen, um ein SpeechTranslationConfig Objekt zu erstellen.
auto browserCredential = std::make_shared<Azure::Identity::InteractiveBrowserCredential>();
// Define the custom domain endpoint for your Speech resource
auto endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechTranslationConfig object using the custom domain endpoint and TokenCredential.
auto speechConfig = SpeechTranslationConfig::FromEndpoint(endpoint, browserCredential);
Spracherkenner, Gesprächsabschreiber
Verwenden Sie für SpeechRecognizerObjekte ConversationTranscriber eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredentialBuilder().build();
// Define the custom domain endpoint for your Speech resource.
String endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
SpeechConfig speechConfig = SpeechConfig.fromEndpoint(new java.net.URI(endpoint), browserCredential);
Übersetzungserkenner
Verwenden Sie für TranslationRecognizer das Objekt eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechTranslationConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredentialBuilder().build();
// Define the custom domain endpoint for your Speech resource
String endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechTranslationConfig object using the custom domain endpoint and TokenCredential.
SpeechConfig speechConfig = SpeechTranslationConfig.fromEndpoint(new java.net.URI(endpoint), browserCredential);
Sprachsynthesizer
Verwenden Sie für SpeechSynthesizer das Objekt eine entsprechende Instanz von TokenCredential für die Authentifizierung. Verwenden Sie zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, diese Anmeldeinformationen, um ein SpeechConfig Objekt zu erstellen.
TokenCredential browserCredential = new InteractiveBrowserCredentialBuilder().build();
// Define the custom domain endpoint for your Speech resource.
String endpoint = "https://{your custom name}.cognitiveservices.azure.com/";
// Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
SpeechConfig speechConfig = SpeechConfig.fromEndpoint(new java.net.URI(endpoint), browserCredential);
Spracherkenner, Gesprächsabschreiber
Verwenden Sie für SpeechRecognizerObjekte ConversationTranscriber eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechConfig Objekt zu erstellen.
browserCredential = InteractiveBrowserCredential()
# Define the custom domain endpoint for your Speech resource.
custom_endpoint = "https://{your custom name}.cognitiveservices.azure.com/"
# Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
speechConfig = SpeechConfig(token_credential=browserCredential, endpoint=custom_endpoint)
Übersetzungserkenner
Verwenden Sie für TranslationRecognizer das Objekt eine geeignete Instanz von TokenCredential für die Authentifizierung zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, um ein SpeechTranslationConfig Objekt zu erstellen.
browserCredential = InteractiveBrowserCredential()
# Define the custom domain endpoint for your Speech resource
custom_endpoint = "https://{your custom name}.cognitiveservices.azure.com/"
# Create the SpeechTranslationConfig object using the custom domain endpoint and TokenCredential.
speechTranslationConfig = SpeechTranslationConfig(token_credential=browserCredential, endpoint=custom_endpoint)
Sprachsynthesizer
Verwenden Sie für das SpeechSynthesizer Objekt eine entsprechende Instanz von TokenCredential für die Authentifizierung. Verwenden Sie zusammen mit dem Endpunkt, der Ihre benutzerdefinierte Domäne enthält, diese Elemente, um ein SpeechConfig Objekt zu erstellen.
browserCredential = InteractiveBrowserCredential()
# Define the custom domain endpoint for your Speech resource.
custom_endpoint = "https://{your custom name}.cognitiveservices.azure.com/"
# Create the SpeechConfig object using the custom domain endpoint and TokenCredential.
speechConfig = SpeechConfig(token_credential=browserCredential, endpoint=custom_endpoint)
Hinweis
ConversationTranslator unterstützt die Microsoft Entra-Authentifizierung nicht.