Utiliser le service Speech via un point de terminaison privé
Azure Private Link vous permet de vous connecter aux services dans Azure en utilisant un point de terminaison privé. Un point de terminaison privé est une adresse IP privée qui est accessible uniquement au sein d’un réseau virtuel et d’un sous-réseau spécifiques.
Cet article explique comment configurer et utiliser Private Link et les points de terminaison privés avec le service Speech. Cet article décrit ensuite comment supprimer des points de terminaison privés ultérieurement, tout en continuant à utiliser la ressource Speech.
Remarque
Avant de continuer, consultez l’article qui explique comment utiliser des réseaux virtuels avec Azure AI Services.
L’activation d’une ressource Speech pour les scénarios de point de terminaison privé exige d’effectuer les tâches suivantes :
- Créer un nom de domaine personnalisé
- Activer des points de terminaison privés
- Ajuster les solutions et applications existantes
Points de terminaison privés et points de terminaison de service du Réseau virtuel
Azure fournit des points de terminaison privés et des points de terminaison de service de Réseau virtuel pour le trafic qui transite par le réseau principal Azure privé. L’objectif et les technologies sous-jacentes de ces types de points de terminaison sont similaires. Toutefois, il existe des différences entre les deux technologies. Nous vous recommandons d’en savoir plus sur les avantages et les inconvénients des deux avant de concevoir votre réseau.
Voici quelques points à prendre en compte lorsque vous décidez de la technologie à utiliser :
- Les deux technologies garantissent que le trafic entre le réseau virtuel et la ressource Speech n’est pas transitant par l’Internet public.
- Un point de terminaison privé fournit une adresse IP privée dédiée pour votre ressource Speech. Cette adresse IP est accessible uniquement au sein d’un réseau virtuel et d’un sous-réseau spécifiques. Vous avez un contrôle total de l’accès à cette adresse IP au sein de votre infrastructure réseau.
- Les points de terminaison de service de réseau virtuel ne fournissent pas d’adresse IP privée dédiée pour la ressource Speech. Au lieu de cela, ils encapsulent tous les paquets envoyés à la ressource Speech et les fournissent directement sur le réseau principal Azure.
- Les deux technologies prennent en charge des scénarios locaux. Par défaut, lorsqu’ils utilisent des points de terminaison de service de réseau virtuel, les ressources de service Azure sécurisées pour les réseaux virtuels ne sont pas accessibles à partir des réseaux locaux. Mais vous pouvez modifier ce comportement.
- Les points de terminaison de service de réseau virtuel sont souvent utilisés pour limiter l’accès à une ressource Speech en fonction des réseaux virtuels dont provient le trafic.
- Dans le cas d’Azure AI services, l’activation du point de terminaison de service de réseau virtuel force le trafic des ressources d’Azure AI services à transiter par le réseau principal privé. Cela nécessite une configuration d’accès réseau explicite. (Pour plus d’informations, consultez configurer les réseaux virtuels et les paramètres de mise en réseau des ressources Speech.) Les points de terminaison privés n’ont pas cette limitation et offrent plus de flexibilité pour la configuration de votre réseau. Vous pouvez accéder à une ressource via le réseau principal privé et une autre via l’Internet public en utilisant le même sous-réseau du même réseau virtuel.
- Les points de terminaison privés entraînent des coûts supplémentaires. Les points de terminaison de service du Réseau virtuel sont gratuits.
- Les points de terminaison privés nécessitent une configuration DNS supplémentaire.
- Une ressource Speech peut fonctionner simultanément avec des points de terminaison privés et des points de terminaison de service du Réseau virtuel.
Nous vous recommandons d’essayer les deux types de points de terminaison avant de décider de votre conception de production.
Pour plus d’informations, consultez ces ressources :
- Documentation sur Private Link et sur les points de terminaison privés Azure
- Documentation sur les points de terminaison de service du Réseau virtuel
Cet article décrit l’utilisation des points de terminaison privés avec le service Speech. L’utilisation des points de terminaison de service de réseau virtuel est décrite ici.
Créer un nom de domaine personnalisé
Attention
Une ressource Speech avec un nom de domaine personnalisé activé utilise un autre moyen d’interagir avec le service Speech. Vous devrez peut-être adapter votre code d’application à ces deux scénarios : avec point de terminaison et sans point de terminaison privé.
Effectuez ces étapes afin de créer un nom de sous-domaine personnalisé pour Azure AI Services pour votre ressource Speech.
Attention
Lorsque vous activez un nom de domaine personnalisé, l’opération n’est pas réversible. La seule façon de revenir au nom régional consiste à créer une ressource Speech.
Si votre ressource Speech comporte un grand nombre de modèles et de projets personnalisés associés créés avec Speech Studio, nous vous recommandons vivement d’essayer la configuration avec une ressource test avant de modifier la ressource utilisée en production.
Pour créer un nom de domaine personnalisé à l’aide du portail Azure, effectuez les étapes suivantes :
Accédez au portail Azure et connectez-vous à votre compte Azure.
Sélectionnez la ressource Speech requise.
Dans le groupe Gestion des ressources dans le volet gauche, sélectionnez Réseau.
Sous l’onglet Pare-feux et réseaux virtuels, sélectionnez Générer un nom de domaine personnalisé. Cela a pour effet d’ouvrir un nouveau panneau contenant des instructions pour créer un sous-domaine personnalisé unique pour votre ressource.
Dans le panneau Générer un nom de domaine personnalisé, entrez un nom de domaine personnalisé. Votre domaine personnalisé complet ressemble à ce qui suit :
https://{your custom name}.cognitiveservices.azure.com
.N’oubliez pas : après avoir créé un nom de domaine personnalisé, vous ne pouvez plus le modifier.
Une fois que vous avez entré votre nom de domaine personnalisé, sélectionnez Enregistrer.
Quand l’opération est terminée, dans le groupe Gestion des ressources, sélectionnez Clés et point de terminaison. Confirmez que le nouveau nom de point de terminaison de votre ressource commence ainsi :
https://{your custom name}.cognitiveservices.azure.com
.
Activer des points de terminaison privés
Nous vous recommandons d’utiliser la zone DNS privée attachée au réseau virtuel avec les mises à jour nécessaires pour les points de terminaison privés. Vous pouvez créer une zone DNS privée par défaut pendant le processus de provisionnement. Si vous utilisez votre propre serveur DNS, vous devrez peut-être également modifier votre configuration DNS.
Choisissez une stratégie DNS avant de provisionner des points de terminaison privés pour une ressource Speech en production. Testez également vos modifications DNS, en particulier si vous utilisez votre propre serveur DNS.
Consultez l’un des articles suivants pour créer des points de terminaison privés. Ces articles utilisent une application web en guise d’exemple de ressource à mettre à disposition avec des points de terminaison privés.
- Créer un point de terminaison privé au moyen du Portail Azure
- Créer un point de terminaison privé à l’aide d’Azure PowerShell
- Créer un point de terminaison privé à l’aide d’Azure CLI
Utilisez ces paramètres à la place des paramètres de l’article de votre choix :
Paramètre | Valeur |
---|---|
Type de ressource | Microsoft.CognitiveServices/accounts |
Resource | <nom_de_votre_ressource_speech> |
Sous-ressource cible | account |
DNS pour points de terminaison privés : familiarisez-vous avec les principes généraux en lien avec DNS pour points de terminaison privés dans des ressources Azure AI Services. Vérifiez ensuite que votre configuration DNS fonctionne correctement en effectuant les vérifications décrites dans les sections suivantes.
Résolution DNS à partir du réseau virtuel
Cette vérification est obligatoire.
Effectuez ces étapes pour tester l’entrée DNS personnalisée à partir de votre réseau virtuel :
Connectez-vous à une machine virtuelle située dans le réseau virtuel auquel vous avez attaché votre point de terminaison privé.
Ouvrez une invite de commandes Windows ou un shell Bash, exécutez la commande
nslookup
et vérifiez qu’elle résout correctement le nom de domaine personnalisé de votre ressource.C:\>nslookup my-private-link-speech.cognitiveservices.azure.com Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: my-private-link-speech.privatelink.cognitiveservices.azure.com Address: 172.28.0.10 Aliases: my-private-link-speech.cognitiveservices.azure.com
Confirmez que l’adresse IP correspond à l’adresse IP de votre point de terminaison privé.
Résolution DNS à partir d’autres réseaux
Effectuez cette vérification uniquement si vous avez activé l’option Tous les réseaux ou l’option d’accès Points de terminaison privés et réseaux sélectionnés dans la section Réseau de votre ressource.
Si vous envisagez d’accéder à la ressource en utilisant uniquement un point de terminaison privé, vous pouvez ignorer cette section.
Connectez-vous à un ordinateur connecté à un réseau autorisé à accéder à la ressource.
Ouvrez une invite de commandes Windows ou un shell Bash, exécutez la commande
nslookup
et vérifiez qu’elle résout correctement le nom de domaine personnalisé de votre ressource.C:\>nslookup my-private-link-speech.cognitiveservices.azure.com Server: UnKnown Address: fe80::1 Non-authoritative answer: Name: vnetproxyv1-weu-prod.westeurope.cloudapp.azure.com Address: 13.69.67.71 Aliases: my-private-link-speech.cognitiveservices.azure.com my-private-link-speech.privatelink.cognitiveservices.azure.com westeurope.prod.vnet.cog.trafficmanager.net
Notes
L’adresse IP résolue pointe vers un point de terminaison proxy de réseau virtuel qui est utilisé pour distribuer le trafic réseau au point de terminaison privé pour la ressource Speech. Le comportement est différent pour une ressource avec un nom de domaine personnalisé activé, mais sans point de terminaison privé. Consultez cette section pour plus d’informations.
Ajuster une application pour qu’elle utilise une ressource Speech avec un point de terminaison privé
Une ressource Speech avec un domaine personnalisé interagit différemment avec le service Speech. Cela est vrai pour une ressource Speech avec un domaine personnalisé activé avec et sans point de terminaison privé. Les informations contenues dans cette section s’appliquent aux deux scénarios.
Suivez les instructions de cette section afin d’ajuster les applications et solutions existantes pour qu’elles utilisent une ressource Speech avec un nom de domaine personnalisé et un point de terminaison privé activé.
Une ressource Speech qui a un nom de domaine personnalisé et un point de terminaison privé activé utilise un autre moyen pour interagir avec le service Speech. Cette section explique comment utiliser une telle ressource avec les API REST du service Speech et le SDK Speech.
Notes
Une ressource Speech sans points de terminaison privés qui utilise un nom de domaine personnalisé a également une façon spéciale d’interagir avec le service Speech. Cette méthode diffère du scénario d’une ressource Speech qui utilise un point de terminaison privé. Ce point est important, car vous pourriez décider ultérieurement de supprimer des points de terminaison privés. Consultez Ajuster une application pour qu’elle utilise une ressource Speech sans points de terminaison privés plus loin dans cet article.
Ressource Speech avec un nom de domaine personnalisé et un point de terminaison privé : Utilisation avec les API REST
Dans cette section, nous utilisons my-private-link-speech.cognitiveservices.azure.com
comme exemple de nom DNS de ressource Speech (domaine personnalisé).
Le service Speech fournit des API REST pour la reconnaissance vocale et la synthèse vocale. Pour le scénario avec des points de terminaison privés activés, prenez en compte les informations suivantes.
La reconnaissance vocale a deux API REST. Chaque API sert un objectif différent, utilise des points de terminaison différents et nécessite une approche différente quand vous l’utilisez dans un scénario avec des points de terminaison privés activés.
Les API REST de reconnaissance vocale sont les suivantes :
- L’API REST de reconnaissance vocale, qui est utilisée pour la transcription par lots et la reconnaissance vocale personnalisée.
- L’API REST de reconnaissance vocale pour audio court, qui est utilisée pour la conversion de parole en texte en temps réel.
L’utilisation de l’API REST de reconnaissance vocale pour audio court et de l’API REST de synthèse vocale dans le scénario avec des points de terminaison privés est identique. Elle est équivalente au cas d’usage du SDK Speech décrit plus loin dans cet article.
L’API REST de reconnaissance vocale utilise un autre ensemble de points de terminaison ; elle nécessite donc une approche différente pour le scénario avec des points de terminaison privés activés.
Les sous-sections suivantes décrivent les deux cas.
API REST de reconnaissance vocale
En général, les ressources Speech utilisent des points de terminaison régionaux Azure AI Services pour communiquer avec l’API REST de reconnaissance vocale. Ces ressources ont le format de nommage suivant :
{region}.api.cognitive.microsoft.com
.
Voici un exemple d’URL de demande :
https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions
Remarque
Consultez cet article pour Azure Government et Microsoft Azure gérés par des points de terminaison 21Vianet.
Une fois que vous avez activé un domaine personnalisé pour une ressource Speech (ce qui est nécessaire pour les points de terminaison privés), cette ressource utilise le modèle de nom DNS suivant pour le point de terminaison d’API REST de base :
{your custom name}.cognitiveservices.azure.com
Cela signifie que, dans notre exemple, le nom du point de terminaison d’API REST est :
my-private-link-speech.cognitiveservices.azure.com
Et l’exemple d’URL de requête doit être converti en :
https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions
Cette URL doit être accessible à partir du réseau virtuel avec le point de terminaison privé attaché (et la résolution DNS correcte).
Une fois que vous avez activé un nom de domaine personnalisé pour une ressource Speech, vous remplacez généralement le nom d’hôte de toutes les URL de requête par le nouveau nom d’hôte du domaine personnalisé. Toutes les autres parties de la requête (comme le chemin /speechtotext/v3.1/transcriptions
dans l’exemple ci-dessus) restent les mêmes.
Conseil
Certains clients développent des applications qui utilisent la partie région du nom DNS du point de terminaison régional (par exemple, pour envoyer la requête à la ressource Speech déployée dans la région Azure en question).
Un domaine personnalisé pour une ressource Speech ne contient aucune information sur la région où la ressource est déployée. C’est pourquoi la logique d’application décrite précédemment ne fonctionne pas et doit être modifiée.
API REST de reconnaissance vocale pour audio court et API REST de synthèse vocale
L’API REST de reconnaissance vocale pour audio court et l’API REST de synthèse vocale utilisent deux types de points de terminaison :
- points de terminaison régionaux Azure AI Services pour communiquer avec l’API REST Azure AI Services afin d’obtenir un jeton d’autorisation
- points de terminaison spéciaux pour toutes les autres opérations.
Remarque
Consultez cet article pour Azure Government et Azure gérés par les points de terminaison 21Vianet.
Les points de terminaison spéciaux ainsi que la façon dont leur URL doit être transformée pour une ressource Speech avec des points de terminaison privés activés sont décrits en détail dans cette sous-section sur l’utilisation avec le SDK Speech. Le principe décrit pour le SDK s’applique également à l’API REST de reconnaissance vocale pour audio court et à l’API REST de synthèse vocale.
Consultez la sous-section mentionnée dans le paragraphe précédent et examinez l’exemple suivant L’exemple décrit l’API REST de synthèse vocale. L’utilisation de l’API REST de reconnaissance vocale pour audio court est strictement équivalente.
Notes
Quand vous utilisez l’API REST de reconnaissance vocale pour audio court et l’API REST de synthèse vocale dans des scénarios avec des points de terminaison privés, utilisez une clé de ressource transmise via l’en-tête Ocp-Apim-Subscription-Key
. (Pour plus d’informations, consultez les sections API REST de reconnaissance vocale pour audio court et API REST de synthèse vocale.)
L’utilisation d’un jeton d’autorisation et sa transmission au point de terminaison spécial via l’en-tête Authorization
fonctionnent uniquement si vous avez activé l’option d’accès Tous les réseaux dans la section Réseau de votre ressource Speech. Dans d’autres cas, vous obtiendrez une erreur Forbidden
ou BadRequest
lors de la tentative d’obtention d’un jeton d’autorisation.
Exemple d’utilisation de l’API REST de synthèse vocale
Nous utilisons la région Europe Ouest comme exemple de région Azure et my-private-link-speech.cognitiveservices.azure.com
comme exemple de nom DNS de ressource Speech (domaine personnalisé). Le nom de domaine personnalisé my-private-link-speech.cognitiveservices.azure.com
dans notre exemple appartient à la ressource Speech créée dans la région Europe Ouest.
Pour obtenir la liste des voix prises en charge dans la région, exécutez la requête suivante :
https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Pour plus d’informations, consultez la documentation de l’API REST de synthèse vocale.
Pour la ressource Speech avec des points de terminaison privés activés, l’URL des points de terminaison pour la même opération doit être modifiée. La même requête ressemble à ceci :
https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list
Consultez une explication détaillée dans la sous-section Construire l’URL du point de terminaison pour le SDK Speech.
Ressource Speech avec un nom de domaine personnalisé et un point de terminaison privé : Utilisation avec le SDK Speech
L’utilisation du SDK Speech pour des ressources Speech avec des noms de domaine personnalisés et des points de terminaison privés activés nécessite une revue et probablement des modifications de votre code d’application.
Dans cette section, nous utilisons my-private-link-speech.cognitiveservices.azure.com
comme exemple de nom DNS de ressource Speech (domaine personnalisé).
Construire l’URL du point de terminaison
Généralement, dans les scénarios de SDK (et dans les scénarios d’API REST de reconnaissance vocale pour audio court et d’API REST de synthèse vocale), les ressources Speech utilisent les points de terminaison régionaux dédiés pour différentes offres de service. Le format de nom DNS pour ces points de terminaison est le suivant :
{region}.{speech service offering}.speech.microsoft.com
Voici un exemple de nom DNS :
westeurope.stt.speech.microsoft.com
Toutes les valeurs possibles pour la région (premier élément du nom DNS) sont listées dans Régions prises en charge pour le service Speech. (Consultez cet article pour les points de terminaison Azure Government et Azure exploité par 21Vianet.) Le tableau suivant présente les valeurs possibles pour l’offre du service Speech (deuxième élément du nom DNS) :
Valeur du nom DNS | Offre Speech Services |
---|---|
commands |
Commandes personnalisées |
convai |
Transcription de réunion |
s2s |
Traduction vocale |
stt |
Reconnaissance vocale |
tts |
Synthèse vocale |
voice |
Voix personnalisée |
Ainsi, l’exemple précédent (westeurope.stt.speech.microsoft.com
) correspond au point de terminaison de reconnaissance vocale dans la région Europe Ouest.
Les points de terminaison privés activés communiquent avec le service Speech par le biais d’un proxy spécial. Pour cette raison, vous devez modifier les URL de connexion des points de terminaison.
Une URL de point de terminaison « standard » ressemble à ceci :
{region}.{speech service offering}.speech.microsoft.com/{URL path}
Une URL de point de terminaison privé ressemble à ceci :
{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}
Exemple 1. Une application communique par le biais de l’URL suivante (reconnaissance vocale avec le modèle de base pour l’anglais des États-Unis dans la région Europe Ouest) :
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Pour l’utiliser dans le scénario avec des points de terminaison privés activés quand le nom de domaine personnalisé de la ressource Speech est my-private-link-speech.cognitiveservices.azure.com
, vous devez modifier cette URL comme suit :
wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Notez les informations suivantes :
- Le nom d’hôte
westeurope.stt.speech.microsoft.com
est remplacé par le nom d’hôte du domaine personnalisémy-private-link-speech.cognitiveservices.azure.com
. - Le deuxième élément du nom DNS d’origine (
stt
) devient le premier élément du chemin de l’URL et précède le chemin d’origine, de sorte que l’URL d’origine/speech/recognition/conversation/cognitiveservices/v1?language=en-US
devient/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
.
Exemple 2. L’application utilise l’URL suivante pour synthétiser la parole dans la région Europe Ouest :
wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1
L’URL équivalente suivante utilise un point de terminaison privé, où le nom de domaine personnalisé de la ressource Speech est my-private-link-speech.cognitiveservices.azure.com
:
wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1
Le même principe que dans l’Exemple 1 est appliqué mais, cette fois, l’élément clé est tts
.
Modification d’applications
Pour modifier votre code, procédez comme suit :
Déterminez l’URL du point de terminaison de l’application :
- Activez la journalisation pour votre application, puis exécutez-la pour générer le journal d’activité.
- Dans le fichier journal, recherchez
SPEECH-ConnectionUrl
. Dans les lignes correspondantes, le paramètrevalue
contient l’URL complète utilisée par votre application pour atteindre le service Speech.
Exemple :
(114917): 41ms SPX_DBG_TRACE_VERBOSE: property_bag_impl.cpp:138 ISpxPropertyBagImpl::LogPropertyAndValue: this=0x0000028FE4809D78; name='SPEECH-ConnectionUrl'; value='wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?traffictype=spx&language=en-US'
Par conséquent, l’URL que l’application a utilisée dans cet exemple est la suivante :
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Créez une instance de
SpeechConfig
en utilisant une URL de point de terminaison complète :Modifiez le point de terminaison que vous avez déterminé, comme cela est décrit dans la section Construire l’URL du point de terminaison, plus haut dans cet article.
Modifiez la manière dont vous créez l’instance de
SpeechConfig
. Le plus souvent, votre application utilisera quelque chose ressemblant à ceci :var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Cet exemple ne fonctionne pas pour une ressource Speech avec un point de terminaison privé activé en raison des changements de nom d’hôte et d’URL que nous avons décrits dans les sections précédentes. Si vous essayez d’exécuter votre application existante sans faire aucune modification et en utilisant la clé d’une ressource avec un point de terminaison privé activé, vous obtenez une erreur d’authentification (401).
Pour que cela fonctionne, modifiez la manière dont vous instanciez la classe
SpeechConfig
et utilisez l’initialisation « à partir d’un point de terminaison »/« avec un point de terminaison ». Supposons que les deux variables suivantes sont définies :speechKey
contient la clé de la ressource Speech avec un point de terminaison privé activé.endPoint
contient l’URL modifiée complète du point de terminaison (utilisant le type requis par le langage de programmation correspondant). Dans notre exemple, cette variable devrait contenir ceci :wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Créez une instance
SpeechConfig
:var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
import azure.cognitiveservices.speech as speechsdk config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
import * as sdk from "microsoft.cognitiveservices.speech.sdk"; config: sdk.SpeechConfig = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
Conseil
Les paramètres de requête spécifiés dans l’URI de point de terminaison ne sont pas modifiés, même s’ils sont définis par d’autres API. Par exemple, si la langue de reconnaissance est définie dans l’URI en tant que paramètre de requête language=en-US
et qu’elle est également définie sur ru-RU
dans la propriété correspondante, le paramètre de langue dans l’URI est utilisé. La langue effective est alors en-US
.
Les paramètres définis dans l’URI de point de terminaison sont toujours prioritaires. Les autres API peuvent remplacer uniquement les paramètres qui ne sont pas définis dans l’URI de point de terminaison.
Après cette modification, votre application fonctionnera correctement avec des ressources Speech avec des points de terminaison privés activés. Nous travaillons sur une prise en charge plus fluide des scénarios avec des points de terminaison privés.
Utilisation de Speech Studio
Speech Studio est un portail web comportant des outils qui vous permettent de générer et d’intégrer le service Azure AI Speech dans votre application. Lorsque vous travaillez dans des projets Speech Studio, les connexions réseau et les appels d’API sont effectués automatiquement sur la ressource Speech correspondante. Le recours à des points de terminaison privés, à des points de terminaison de service de réseau virtuel et à d’autres options de sécurité réseau peut limiter la disponibilité des fonctionnalités de Speech Studio. Vous utilisez normalement Speech Studio dans le cadre de l’utilisation de fonctionnalités comme la reconnaissance vocale personnalisée, la Voix neuronale personnalisée et la Création de contenu audio.
Communication avec le portail web Speech Studio à partir d’un réseau virtuel
Pour utiliser Speech Studio à partir d’une machine virtuelle qui se trouve au sein d’un réseau virtuel Azure, vous devez autoriser les connexions sortantes vers l’ensemble requis d’étiquettes de service pour ce réseau virtuel. Consultez les informations détaillées ici.
L’accès au point de terminaison de la ressource Speech n’est pas équivalent à l’accès au portail web Speech Studio. L’accès au portail web Speech Studio n’est pris en charge ni par le biais de points de terminaison privés ni par le biais de points de terminaison de service de réseau virtuel.
Utilisation de projets Speech Studio
Cette section décrit l’utilisation des différents types de projets Speech Studio selon les options de sécurité réseau de la ressource Speech. La connexion du navigateur web à Speech Studio doit être établie. Les paramètres de sécurité réseau de la ressource Speech sont définis sur le Portail Azure.
- Accédez au portail Azure et connectez-vous à votre compte Azure.
- Sélectionnez la ressource Speech.
- Dans le groupe Gestion des ressources situé dans le volet gauche, sélectionnez Mise en réseau>Pare-feu et réseaux virtuels.
- Sélectionnez une option entre Tous les réseaux, Réseaux et points de terminaison privés sélectionnés et Désactivé.
Custom Speech, Custom Voice et création de contenu audio
Le tableau suivant décrit l’accessibilité des projets de Custom Speech/Custom Voice/Création de contenu audio en fonction du paramètre de sécurité Mise en réseau>Pare-feux et réseaux virtuels de la ressource Speech.
Remarque
Si vous autorisez uniquement les points de terminaison privés dans l’onglet Mise en réseau>Connexions de point de terminaison privé, vous ne pouvez pas utiliser Speech Studio avec la ressource Speech. Vous avez quand même la possibilité de vous servir de la ressource Speech en dehors de Speech Studio.
Paramètre de sécurité réseau de la ressource Speech | Accessibilité des projets Speech Studio |
---|---|
Tous les réseaux | Sans restriction |
Réseaux et points de terminaison privés sélectionnés | Accessible à partir d’adresses IP publiques autorisées |
Désactivé | Inaccessible |
Si vous sélectionnez Réseaux et points de terminaison privés sélectionnés, un onglet vous présente les options de configuration de l’accès Réseaux virtuels et Pare-feu. Dans la section Pare-feu, vous devez autoriser au moins une adresse IP publique et l’utiliser pour la connexion du navigateur avec Speech Studio.
Si vous autorisez uniquement l’accès au moyen du réseau virtuel, vous n’autorisez en pratique pas l’accès à la ressource Speech par le biais de Speech Studio. Vous avez quand même la possibilité de vous servir de la ressource Speech en dehors de Speech Studio.
Pour utiliser Custom Speech sans alléger les restrictions d’accès réseau sur votre ressource Speech de production, vous pouvez appliquer l’une des solutions de contournement suivantes.
- Créez une autre ressource Speech destinée au développement et utilisable sur un réseau public. Préparez votre modèle personnalisé dans Speech Studio sur la ressource de développement, puis copiez le modèle dans votre ressource de production. Consultez la requête REST Models_CopyTo avec l’API REST de reconnaissance vocale.
- Vous avez la possibilité de ne pas passer par Speech Studio pour Custom Speech. Utilisez l’API REST de reconnaissance vocale pour toutes les opérations Custom Speech.
Pour utiliser la voix personnalisée sans assouplir les restrictions d’accès réseau sur votre ressource Speech de production, envisagez d’utiliser l’API REST Custom Voice pour toutes les opérations vocales personnalisées.
Ajuster une application pour qu’elle utilise une ressource Speech sans points de terminaison privés
Dans cet article, nous avons remarqué à plusieurs reprises que l’activation d’un domaine personnalisé pour une ressource Speech était une opération irréversible. Une telle ressource utilise une autre méthode pour communiquer avec le service Speech, par rapport aux ressources qui utilisent des noms de points de terminaison régionaux.
Cette section explique comment utiliser une ressource Speech dotée d’un nom de domaine personnalisé mais dépourvue de points de terminaison privés avec les API REST du service Speech et le SDK Speech. Par exemple, cela pourrait être une ressource qui a été utilisée dans un scénario avec des points de terminaison privés, mais où tous les points de terminaison privés ont été supprimés par la suite.
Configuration DNS
Rappelez-vous qu’un nom DNS de domaine personnalisé de la ressource Speech avec point de terminaison privé est résolu à partir de réseaux publics. Dans ce cas, l’adresse IP résolue pointe vers un point de terminaison proxy d’un réseau virtuel. Ce point de terminaison est utilisé pour distribuer le trafic réseau à la ressource Azure AI Services avec des points de terminaison privés activés.
Toutefois, quand tous les points de terminaison privés de la ressource sont supprimés (ou juste après l’activation du nom de domaine personnalisé), l’enregistrement CNAME de la ressource Speech est reprovisionné. Il pointe désormais vers l’adresse IP du point de terminaison régional Azure AI Services correspondant.
Ainsi, la sortie de la commande nslookup
ressemble à ceci :
C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server: UnKnown
Address: fe80::1
Non-authoritative answer:
Name: apimgmthskquihpkz6d90kmhvnabrx3ms3pdubscpdfk1tsx3a.cloudapp.net
Address: 13.93.122.1
Aliases: my-private-link-speech.cognitiveservices.azure.com
westeurope.api.cognitive.microsoft.com
cognitiveweprod.trafficmanager.net
cognitiveweprod.azure-api.net
apimgmttmdjylckcx6clmh2isu2wr38uqzm63s8n4ub2y3e6xs.trafficmanager.net
cognitiveweprod-westeurope-01.regional.azure-api.net
Comparez-la avec la sortie de cette section.
Ressource Speech avec un nom de domaine personnalisé mais sans points de terminaison privés : Utilisation avec les API REST
API REST de reconnaissance vocale
L’utilisation de l’API REST de reconnaissance vocale est strictement équivalente à celle des ressources Speech avec des points de terminaison privés activés.
API REST de reconnaissance vocale pour audio court et API REST de synthèse vocale
Dans ce cas, l’utilisation de l’API REST de reconnaissance vocale pour audio court et l’utilisation de l’API REST de synthèse vocale ne diffèrent pas du cas général, à une exception près. (Voir la remarque suivante.) Vous devez utiliser les deux API comme cela est décrit dans la documentation de l’API REST de reconnaissance vocale pour audio court et celle de l’API REST de synthèse vocale.
Notes
Quand vous utilisez l’API REST de reconnaissance vocale pour audio court et l’API REST de synthèse vocale dans des scénarios de domaine personnalisé, utilisez une clé de ressource Speech transmise via l’en-tête Ocp-Apim-Subscription-Key
. (Pour plus d’informations, consultez les sections API REST de reconnaissance vocale pour audio court et API REST de synthèse vocale.)
L’utilisation d’un jeton d’autorisation et sa transmission au point de terminaison spécial via l’en-tête Authorization
fonctionnent uniquement si vous avez activé l’option d’accès Tous les réseaux dans la section Réseau de votre ressource Speech. Dans d’autres cas, vous obtiendrez une erreur Forbidden
ou BadRequest
lors de la tentative d’obtention d’un jeton d’autorisation.
Ressource Speech avec un nom de domaine personnalisé mais sans points de terminaison privés : Utilisation avec le SDK Speech
L’utilisation du SDK Speech avec des ressources Speech avec un domaine personnalisé activé sans points de terminaison privés équivaut au cas général, comme décrit dans la documentation du SDK Speech.
Si vous avez modifié votre code pour l’utiliser avec une ressource Speech avec des points de terminaison privés activés, tenez compte des éléments suivants.
Dans la section sur les ressources Speech avec des points de terminaison privés activés, nous avons expliqué comment déterminer l’URL de point de terminaison, comment la modifier et comment la rendre opérationnelle en initialisant l’instance de la classe SpeechConfig
« à partir d’un point de terminaison »/« avec un point de terminaison ».
Toutefois, si vous tentez d’exécuter la même application après avoir supprimé tous les points de terminaison privés (en attendant le temps nécessaire au reprovisionnement de l’enregistrement DNS correspondant), vous obtenez une erreur de service interne (404). La raison à cela est que l’enregistrement DNS pointe désormais vers le point de terminaison Azure AI Services régional au lieu du proxy de réseau virtuel, et que les chemins d’URL comme /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
y sont introuvables.
Vous devez restaurer votre application à l’instanciation standard de SpeechConfig
dans le style du code suivant :
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Utilisation simultanée de points de terminaison privés et de points de terminaison de service du Réseau virtuel
Les points de terminaison privés et les points de terminaison de service du Réseau virtuel peuvent être utilisés pour accéder simultanément à la même ressource Speech. Pour activer cette utilisation simultanée, vous devez utiliser l’option Réseaux et points de terminaison privés sélectionnés dans les paramètres réseau de la ressource Speech dans le portail Azure. Toutes les autres options ne sont pas prises en charge pour ce scénario.
Tarifs
Pour plus d’informations sur les tarifs, consultez Tarification Liaison privée Azure.