Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u de Speech SDK gebruikt voor toegang tot de Speech-service, zijn er drie verificatiemethoden beschikbaar: servicesleutels, een sleuteltoken en Microsoft Entra-id. In dit artikel wordt beschreven hoe u een AI Foundry-resource voor Speech configureert en een Speech SDK-configuratieobject maakt voor het gebruik van Microsoft Entra ID voor verificatie.
In dit artikel wordt beschreven hoe u Microsoft Entra-verificatie gebruikt met de Speech SDK. U leert het volgende:
- Een AI Foundry-resource voor Spraak maken
- De Spraak-resource configureren voor Microsoft Entra-verificatie
- Een Microsoft Entra-toegangstoken ophalen
- Maak het juiste SDK-configuratieobject.
Voor meer informatie over Microsoft Entra-toegangstokens, inclusief levensduur van tokens, gaat u naar Access-tokens in het Microsoft Identity Platform.
Een AI Foundry-resource voor Spraak maken
Als u een AI Foundry-resource voor Spraak wilt maken in Azure Portal, raadpleegt u deze quickstart.
De Spraak-resource configureren voor Microsoft Entra-verificatie
Als u uw Spraak-resource voor Microsoft Entra-verificatie wilt configureren, maakt u een aangepaste domeinnaam en wijst u rollen toe.
Een aangepaste domeinnaam maken
Volg deze stappen om een aangepaste subdomeinnaam te maken voor Azure AI-services voor uw Speech-resource.
Let op
Wanneer u een aangepaste domeinnaam inschakelt, is de bewerking niet omkeerbaar. De enige manier om terug te gaan naar de regionale naam is door een nieuwe Spraak-resource te maken.
Als uw Speech-resource veel aangepaste modellen en projecten bevat die zijn gemaakt via Speech Studio, raden we u ten zeerste aan om de configuratie uit te voeren met een testresource voordat u de resource die in productie wordt gebruikt, wijzigt.
Voer de volgende stappen uit om een aangepaste domeinnaam te maken met behulp van Azure Portal:
Ga naar Azure Portal en meld u aan bij uw account.
Selecteer de vereiste spraakresource.
Selecteer Netwerken in de groep Resourcebeheer in het linkerdeelvenster.
Selecteer Op het tabblad Firewalls en virtuele netwerken de optie Aangepaste domeinnaam genereren. Er wordt een nieuw rechterdeelvenster weergegeven met instructies voor het maken van een uniek aangepast subdomein voor uw resource.
Voer in het deelvenster Aangepaste domeinnaam genereren een aangepaste domeinnaam in. Uw volledige aangepaste domein ziet er als volgt uit:
https://{your custom name}.cognitiveservices.azure.com
.Nadat u een aangepaste domeinnaam hebt gemaakt, kan deze niet meer worden gewijzigd.
Nadat u uw aangepaste domeinnaam hebt ingevoerd, selecteert u Opslaan.
Nadat de bewerking is voltooid, selecteert u sleutels en eindpunt in de resourcebeheergroep. Controleer of de naam van het nieuwe eindpunt van uw resource op deze manier wordt gestart:
https://{your custom name}.cognitiveservices.azure.com
.
Rollen toewijzen
Voor Microsoft Entra-verificatie met Spraakresources moet u de rol Cognitive Services Speech Contributor of Cognitive Services Speech User toewijzen.
U kunt rollen toewijzen aan de gebruiker of toepassing met behulp van Azure Portal of PowerShell.
Een Microsoft Entra-toegangstoken ophalen
Als u een Microsoft Entra-toegangstoken in C# wilt ophalen, gebruikt u de Azure Identity-clientbibliotheek.
Hier volgt een voorbeeld van het gebruik van Azure Identity om een Microsoft Entra-toegangstoken op te halen vanuit een interactieve 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;
Notitie
De tokencontext moet worden ingesteld op 'https://cognitiveservices.azure.com/.default".
Als u een Microsoft Entra-toegangstoken in C++wilt ophalen, gebruikt u de Azure Identity-clientbibliotheek.
Hier volgt een voorbeeld van het gebruik van Azure Identity om een Microsoft Entra-toegangstoken op te halen met uw tenant-id, client-id en referenties voor clientgeheimen:
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());
Notitie
De tokencontext moet worden ingesteld op 'https://cognitiveservices.azure.com/.default".
Als u een Microsoft Entra-toegangstoken in Java wilt ophalen, gebruikt u de Azure Identity-clientbibliotheek.
Hier volgt een voorbeeld van het gebruik van Azure Identity om een Microsoft Entra-toegangstoken op te halen vanuit een 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();
Notitie
De tokencontext moet worden ingesteld op 'https://cognitiveservices.azure.com/.default".
Gebruik de Azure Identity-clientbibliotheek om een Microsoft Entra-toegangstoken in Python op te halen.
Hier volgt een voorbeeld van het gebruik van Azure Identity om een Microsoft Entra-toegangstoken op te halen vanuit een interactieve browser:
from azure.identity import InteractiveBrowserCredential
ibc = InteractiveBrowserCredential()
aadToken = ibc.get_token("https://cognitiveservices.azure.com/.default")
Meer voorbeelden
Zoek voorbeelden die een Microsoft Entra-toegangstoken ophalen in codevoorbeelden van het Microsoft Identity Platform.
Voor programmeertalen waar een Clientbibliotheek van Microsoft Identity Platform niet beschikbaar is, kunt u rechtstreeks een toegangstoken aanvragen.
De spraakresource-id ophalen
U hebt uw Spraakresource-ID nodig om SDK-aanroepen te doen met behulp van Microsoft Entra-verificatie in scenario's die nog geen ondersteuning bieden voor Entra ID.
De resource-id ophalen in Azure Portal:
- Ga naar Azure Portal en meld u aan bij uw account.
- Selecteer een AI Foundry-resource voor Spraak.
- Selecteer Eigenschappen in de groep Resourcebeheer in het linkerdeelvenster.
- De resource-id kopiëren
Het Speech SDK-configuratieobject maken
Met een Microsoft Entra-toegangstoken kunt u nu een Speech SDK-configuratieobject maken.
De methode voor het opgegeven token en de methode voor het maken van het bijbehorende Speech SDK-object Config
verschilt per object dat u gebruikt.
Spraakherkenner, Bron(n)taalherkenner, Gespreksomzetter
Gebruik voor SpeechRecognizer
, SourceLanguageRecognizer
, ConversationTranscriber
objecten een geschikt exemplaar van TokenCredential voor authenticatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechConfig
object te maken.
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);
Vertaalherkenner
Gebruik het TranslationRecognizer
object met een geschikt exemplaar van TokenCredential voor verificatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechTranslationConfig
object te maken.
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);
SpeechSynthesizer, IntentRecognizer
SpeechSynthesizer
Voor IntentRecognizer
objecten bouwt u het autorisatietoken op basis van de resource-id en het Microsoft Entra-toegangstoken en gebruikt u het vervolgens om een SpeechConfig
object te maken.
string resourceId = "Your Resource ID";
string aadToken = "Your Microsoft Entra access token";
string region = "Your Speech Region";
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
var authorizationToken = $"aad#{resourceId}#{aadToken}";
var speechConfig = SpeechConfig.FromAuthorizationToken(authorizationToken, region);
SpeechRecognizer, SpeechSynthesizer, IntentRecognizer, ConversationTranscriber
Voor SpeechRecognizer
, SpeechSynthesizer
, IntentRecognizer
ConversationTranscriber
objecten, bouwt u het autorisatietoken op basis van de resource-id en het Microsoft Entra-toegangstoken en gebruikt u het vervolgens om een SpeechConfig
object te maken.
std::string resourceId = "Your Resource ID";
std::string aadToken = "Your Microsoft Entra access token";
std::string region = "Your Speech Region";
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
auto authorizationToken = "aad#" + resourceId + "#" + aadToken;
auto speechConfig = SpeechConfig::FromAuthorizationToken(authorizationToken, region);
Vertaalherkenner
Bouw voor het TranslationRecognizer
autorisatietoken het autorisatietoken op basis van de resource-id en het Microsoft Entra-toegangstoken en gebruik het vervolgens om een SpeechTranslationConfig
object te maken.
std::string resourceId = "Your Resource ID";
std::string aadToken = "Your Microsoft Entra access token";
std::string region = "Your Speech Region";
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
auto authorizationToken = "aad#" + resourceId + "#" + aadToken;
auto speechConfig = SpeechTranslationConfig::FromAuthorizationToken(authorizationToken, region);
Spraakherkenner, Gesprekstranscribeerder
Voor SpeechRecognizer
, ConversationTranscriber
objecten, gebruik een geschikt exemplaar van TokenCredential voor authenticatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechConfig
object te maken.
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);
Vertaalherkenner
Gebruik het TranslationRecognizer
object met een geschikt exemplaar van TokenCredential voor verificatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechTranslationConfig
object te maken.
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);
SpeechSynthesizer, IntentRecognizer
SpeechSynthesizer
Voor IntentRecognizer
objecten bouwt u het autorisatietoken op basis van de resource-id en het Microsoft Entra-toegangstoken en gebruikt u het vervolgens om een SpeechConfig
object te maken.
String resourceId = "Your Resource ID";
String region = "Your Region";
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
String authorizationToken = "aad#" + resourceId + "#" + token;
SpeechConfig speechConfig = SpeechConfig.fromAuthorizationToken(authorizationToken, region);
Spraakherkenner, Gesprekstranscriptor
Voor SpeechRecognizer
, ConversationTranscriber
objecten, gebruik een geschikt exemplaar van TokenCredential voor autorisatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechConfig
object te maken.
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=credential, endpoint=custom_endpoint)
Vertaalherkenner
Gebruik het TranslationRecognizer
object met een geschikt exemplaar van TokenCredential voor verificatie, samen met het eindpunt dat uw aangepaste domein bevat, om een SpeechTranslationConfig
object te maken.
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=credential, endpoint=custom_endpoint)
SpeechSynthesizer, IntentRecognizer
SpeechSynthesizer
Voor IntentRecognizer
objecten bouwt u het autorisatietoken op basis van de resource-id en het Microsoft Entra-toegangstoken en gebruikt u het vervolgens om een SpeechConfig
object te maken.
resourceId = "Your Resource ID"
region = "Your Region"
# You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
authorizationToken = "aad#" + resourceId + "#" + aadToken.token
speechConfig = SpeechConfig(auth_token=authorizationToken, region=region)
VoiceProfileClient
Als u de VoiceProfileClient
verificatie met Microsoft Entra wilt gebruiken, gebruikt u de aangepaste domeinnaam die hierboven is gemaakt.
string customDomainName = "Your Custom Name";
string hostName = $"https://{customDomainName}.cognitiveservices.azure.com/";
string token = "Your Microsoft Entra access token";
var config = SpeechConfig.FromHost(new Uri(hostName));
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
var authorizationToken = $"aad#{resourceId}#{aadToken}";
config.AuthorizationToken = authorizationToken;
std::string customDomainName = "Your Custom Name";
std::string aadToken = "Your Microsoft Entra access token";
auto speechConfig = SpeechConfig::FromHost("https://" + customDomainName + ".cognitiveservices.azure.com/");
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
auto authorizationToken = "aad#" + resourceId + "#" + aadToken;
speechConfig->SetAuthorizationToken(authorizationToken);
String aadToken = "Your Microsoft Entra access token";
String customDomainName = "Your Custom Name";
String hostName = "https://" + customDomainName + ".cognitiveservices.azure.com/";
SpeechConfig speechConfig = SpeechConfig.fromHost(new URI(hostName));
// You need to include the "aad#" prefix and the "#" (hash) separator between resource ID and Microsoft Entra access token.
String authorizationToken = "aad#" + resourceId + "#" + token;
speechConfig.setAuthorizationToken(authorizationToken);
De VoiceProfileClient
is niet beschikbaar met de Speech SDK voor Python.
Notitie
Microsoft ConversationTranslator
Entra-verificatie wordt niet ondersteund.