Ověřování Microsoft Entra pomocí sady Speech SDK
Při použití sady Speech SDK pro přístup ke službě Speech jsou k dispozici tři metody ověřování: klíče služby, token založený na klíči a ID Microsoft Entra. Tento článek popisuje, jak nakonfigurovat prostředek služby Speech a vytvořit objekt konfigurace sady Speech SDK pro použití Microsoft Entra ID pro ověřování.
Tento článek ukazuje, jak používat ověřování Microsoft Entra se sadou Speech SDK. Získáte informace pro:
- Vytvoření prostředku služby Speech
- Konfigurace prostředku služby Speech pro ověřování Microsoft Entra
- Získání přístupového tokenu Microsoft Entra
- Vytvořte odpovídající objekt konfigurace sady SDK.
Další informace o přístupovýchtokench
Vytvoření prostředku služby Speech
Pokud chcete vytvořit prostředek služby Speech na webu Azure Portal, podívejte se na tento rychlý start.
Konfigurace prostředku služby Speech pro ověřování Microsoft Entra
Pokud chcete nakonfigurovat prostředek služby Speech pro ověřování Microsoft Entra, vytvořte vlastní název domény a přiřaďte role.
Vytvoření vlastního názvu domény
Podle těchto kroků vytvořte vlastní název subdomény pro služby Azure AI pro váš prostředek služby Speech.
Upozornění
Když zapnete vlastní název domény, operace se nedá vrátit zpět. Jediným způsobem, jak se vrátit k názvu oblasti, je vytvořit nový prostředek služby Speech.
Pokud váš prostředek služby Speech obsahuje mnoho přidružených vlastních modelů a projektů vytvořených prostřednictvím sady Speech Studio, důrazně doporučujeme vyzkoušet konfiguraci s testovacím prostředkem, než upravíte prostředek použitý v produkčním prostředí.
Pokud chcete vytvořit vlastní název domény pomocí webu Azure Portal, postupujte takto:
Přejděte na Azure Portal a přihlaste se ke svému účtu Azure.
Vyberte požadovaný prostředek služby Speech.
Ve skupině Správa prostředků v levém podokně vyberte Sítě.
Na kartě Brány firewall a virtuální sítě vyberte Vygenerovat vlastní název domény. Zobrazí se nový pravý panel s pokyny k vytvoření jedinečné vlastní subdomény pro váš prostředek.
Na panelu Generovat vlastní název domény zadejte vlastní název domény. Vaše úplná vlastní doména bude vypadat takto:
https://{your custom name}.cognitiveservices.azure.com
.Mějte na paměti, že po vytvoření vlastního názvu domény ho nelze změnit.
Po zadání vlastního názvu domény vyberte Uložit.
Po dokončení operace ve skupině pro správu prostředků vyberte Klíče a koncový bod. Ověřte, že nový název koncového bodu vašeho prostředku začíná tímto způsobem:
https://{your custom name}.cognitiveservices.azure.com
.
Přiřazení rolí
Pro ověřování Microsoft Entra pomocí prostředků služby Speech je potřeba přiřadit roli přispěvatele řeči služeb Cognitive Services nebo role uživatele služby Cognitive Services Speech.
Role můžete uživateli nebo aplikaci přiřadit pomocí webu Azure Portal nebo PowerShellu.
Získání přístupového tokenu Microsoft Entra
Pokud chcete získat přístupový token Microsoft Entra v jazyce C#, použijte klientskou knihovnu Azure Identity.
Tady je příklad použití služby Azure Identity k získání přístupového tokenu Microsoft Entra z interaktivního prohlížeče:
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;
Poznámka:
Kontext tokenu musí být nastaven na "https://cognitiveservices.azure.com/.default".
Pokud chcete získat přístupový token Microsoft Entra v jazyce C++, použijte klientskou knihovnu Azure Identity.
Tady je příklad použití služby Azure Identity k získání přístupového tokenu Microsoft Entra s ID tenanta, ID klienta a přihlašovacími údaji tajného klíče klienta:
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());
Poznámka:
Kontext tokenu musí být nastaven na "https://cognitiveservices.azure.com/.default".
Pokud chcete získat přístupový token Microsoft Entra v Javě, použijte klientskou knihovnu Azure Identity.
Tady je příklad použití služby Azure Identity k získání přístupového tokenu Microsoft Entra z prohlížeče:
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();
Poznámka:
Kontext tokenu musí být nastaven na "https://cognitiveservices.azure.com/.default".
Pokud chcete získat přístupový token Microsoft Entra v Pythonu, použijte klientskou knihovnu Azure Identity.
Tady je příklad použití služby Azure Identity k získání přístupového tokenu Microsoft Entra z interaktivního prohlížeče:
from azure.identity import InteractiveBrowserCredential
ibc = InteractiveBrowserCredential()
aadToken = ibc.get_token("https://cognitiveservices.azure.com/.default")
Najděte ukázky, které získají přístupový token Microsoft Entra v ukázkách kódu platformy Microsoft Identity Platform.
V programovacích jazycích, kde není k dispozici klientská knihovna Microsoft Identity Platform, můžete požádat přímo o přístupový token.
Získání ID prostředku služby Speech
K volání sady SDK pomocí ověřování Microsoft Entra potřebujete ID prostředku služby Speech.
Poznámka:
Pro rozpoznávání záměru použijte ID prostředku predikce služby LUIS.
Id prostředku získáte na webu Azure Portal:
- Přejděte na Azure Portal a přihlaste se ke svému účtu Azure.
- Vyberte prostředek služby Speech.
- Ve skupině Správa prostředků v levém podokně vyberte Vlastnosti.
- Zkopírování ID prostředku
Vytvoření objektu konfigurace sady Speech SDK
S přístupovým tokenem Microsoft Entra teď můžete vytvořit objekt konfigurace sady Speech SDK.
Metoda poskytnutí tokenu a metoda pro vytvoření odpovídajícího objektu sady Speech SDK Config
se liší podle objektu, který používáte.
SpeechRecognizer, SpeechSynthesizer, IntentRecognizer, ConversationTranscriber
Pro SpeechRecognizer
, , IntentRecognizer
SpeechSynthesizer
ConversationTranscriber
, objekty, sestavení autorizační token z ID prostředku a Microsoft Entra přístupový token a pak ho použít k vytvoření objektu.SpeechConfig
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);
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);
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);
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)
TranslationRecognizer
V případě objektu TranslationRecognizer
sestavte autorizační token z ID prostředku a přístupového tokenu Microsoft Entra a pak ho použijte k vytvoření objektu SpeechTranslationConfig
.
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 = SpeechTranslationConfig.FromAuthorizationToken(authorizationToken, region);
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);
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;
SpeechTranslationConfig translationConfig = SpeechTranslationConfig.fromAuthorizationToken(authorizationToken, region);
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
translationConfig = SpeechTranslationConfig(auth_token=authorizationToken, region=region)
VoiceProfileClient
Pokud chcete použít VoiceProfileClient
ověřování Microsoft Entra, použijte název vlastní domény vytvořený výše.
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);
Sada VoiceProfileClient
Speech SDK pro Python není dostupná.
Poznámka:
Ověřování ConversationTranslator
Microsoft Entra nepodporuje.