Identités managées pour la traduction de documentation
Les identités managées pour les ressources Azure sont des principaux de service qui créent une identité Azure AD (Azure Active Directory) et des autorisations spécifiques pour des ressources managées Azure. Les identités managées constituent un moyen plus sûr d’accorder l’accès aux données sans avoir à inclure de jetons SAS dans vos requêtes HTTP.
Vous pouvez utiliser des identités managées pour accorder l’accès à toute ressource qui prend en charge l’authentification Azure AD, y compris vos propres applications.
Pour accorder l’accès à une ressource Azure, attribuez un rôle à une identité managée en utilisant le contrôle d’accès en fonction du rôle Azure, le RBAC (
Azure RBAC
).L’utilisation d’identités managées dans Azure n’occasionne aucun coût supplémentaire.
Important
Lorsque vous utilisez des identités managées, n’incluez pas d’URL de jeton SAS avec vos requêtes HTTP, sinon vos requêtes échouent. L’utilisation d’identités managées remplace la nécessité d’inclure des jetons de signature d’accès partagé (SAP) avec vos URL source et cible.
Pour utiliser des identités managées pour les opérations de traduction de documentation, vous devez créer votre ressource Translator dans une région Azure géographique spécifique, comme USA Est. Si votre région de ressources Translator est définie sur Global, vous ne pouvez pas utiliser l’identité managée pour la traduction de documentation. Vous pouvez toujours utiliser des jetons de signature d’accès partagé (SAS) pour la traduction de documentation.
La Traduction de documentation est disponible uniquement dans le plan de service Standard S1 (paiement à l’utilisation) ou dans le plan de remise sur la quantité D3. VoirTarification de Cognitive Services - Traducteur.
Prérequis
Pour commencer, vous avez besoin des éléments suivants :
Un compte Azure actif : si vous n’en avez pas, vous pouvez créer un compte gratuit.
Une ressource Traducteur mono-service (non une ressource Cognitive Services multiservice) attribuée à une région géographique tel que USA Ouest. Pour des instructions détaillées, consultezCréer une ressource Cognitive Services dans le portail Azure.
Connaissances générales sur le contrôle d’accès en fonction du rôle Azure (
Azure RBAC
) à l’aide du portail Azure.Un compte de stockage Blob Azure dans la même région que votre ressource Traducteur. Vous devez aussi créer des conteneurs pour stocker et organiser vos données d’objet blob dans votre compte de stockage.
Si votre compte de stockage se trouve derrière un pare-feu, vous devez activer la configuration suivante :
Dans la page de votre compte de stockage, dans le menu de gauche, sélectionnez Sécurité + réseau → Mise en réseau.
Dans la fenêtre principale, sélectionnez Autoriser l’accès à partir de réseaux sélectionnés.
Dans la page Réseaux sélectionnés, accédez à la catégorie Exceptions et assurez-vous que la case de l’option Autoriser les services Azure de la liste des services approuvés à accéder à ce compte de stockage est cochée.
Attributions d’identités managées
Il existe deux types d’identités managées : celles qui sont affectées par le système et celles qui sont affectées par l’utilisateur. Actuellement, la traduction de documentation prend en charge les identités managées affectées par le système :
Une identité managée affectée par le système est activée directement sur une instance de service. Elle n’est pas activée par défaut. Vous devez accéder à votre ressource et mettre à jour le paramètre d’identité.
L’identité managée affectée par le système est liée à votre ressource tout au long de son cycle de vie. Si vous supprimez votre ressource, l’identité managée est également supprimée.
Dans les étapes suivantes, nous activons une identité managée affectée par le système et accorder à votre ressource Traducteur un accès limité à votre compte de stockage Blob Azure.
Activer une identité managée affectée par le système
Important
Pour activer une identité managée affectée par le système, vous avez besoin d’autorisations Microsoft.Authorization/roleAssignments/write, telles que Propriétaire ou Administrateur de l’accès utilisateur. Vous pouvez spécifier une étendue à quatre niveaux : groupe d’administration, abonnement, groupe de ressources ou ressource.
Connectez-vous au portail Azure à l’aide d’un compte associé à votre abonnement Azure.
Accédez à la page de votre ressource Translator dans le portail Azure.
Dans le rail de gauche, sélectionnez Identité dans la liste Gestion des ressources :
Dans la fenêtre principale, basculez le curseur État affecté par le système sur Activé.
Accorder l’accès à votre compte de stockage
Vous devez accorder à Traducteur l’accès à votre compte de stockage avant de pouvoir créer, lire ou supprimer des objets blob. Une fois que vous avez activé Translator avec une identité managée affectée par le système, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC
) pour accorder à Translator l’accès à vos conteneurs de stockage Azure.
Le rôle Contributeur aux données Blob du stockage accorde à Traducteur (représenté par l’identité managée affectée par le système) un accès en lecture, écriture et suppression au conteneur d’objets blob et aux données.
Sous Autorisations, sélectionnez Attributions des rôles Azure :
Dans la page Attributions de rôles Azure qui s’est ouverte, choisissez votre abonnement dans le menu déroulant, puis sélectionnez + Ajouter une attribution de rôle.
Notes
Si vous ne parvenez pas à attribuer un rôle dans le portail Azure parce que l’option Ajouter > Ajouter une attribution de rôle est désactivée ou que vous recevez l’erreur d’autorisation « Vous ne disposez pas des autorisations nécessaires pour ajouter une attribution de rôle à cette étendue », vérifiez que vous êtes actuellement connecté en tant qu’utilisateur avec un rôle attribué qui dispose des autorisations Microsoft.Authorization/roleAssignments/write, comme Propriétaire ou Administrateur de l’accès utilisateur dans l’étendue de stockage de la ressource de stockage.
Ensuite, vous allez attribuer un rôle Contributeur aux données Blob du stockage à votre ressource de service Traducteur. Dans la fenêtre contextuelle Ajouter une attribution de rôle, renseignez les champs comme suit et sélectionnez Enregistrer :
Champ Valeur Étendue Stockage. Abonnement L’abonnement associé à votre ressource de stockage. Ressource Le nom de votre ressource de stockage. Rôle Contributeur aux données Blob du stockage. Une fois que vous avez reçu le message de confirmation Attribution de rôle ajoutée, actualisez la page pour voir l’attribution de rôle ajoutée.
Si vous ne voyez pas immédiatement la modification, patientez et essayez d’actualiser la page une nouvelle fois. Lorsque vous attribuez des rôles ou supprimez des attributions de rôle, un délai maximal de 30 minutes peut être nécessaire avant que les modifications prennent effet.
Des requêtes HTTP
Une demande de Traduction de documentation par lot est soumise à votre point de terminaison de service Translator par le biais d’une requête POST.
Avec une identité managée et
Azure RBAC
, vous n’avez plus besoin d’inclure d’URL SAS.En cas de réussite, la méthode POST retourne un code de réponse
202 Accepted
et le service crée une demande de lot.Les documents traduits s’affichent dans votre conteneur cible.
En-têtes
Les en-têtes suivants sont inclus avec chaque requête d’API Traduction de documentation :
En-tête HTTP | Description |
---|---|
Ocp-Apim-Subscription-Key | Obligatoire : La valeur est la clé Azure de votre ressource Translator ou Cognitive Services. |
Content-Type | Obligatoire : spécifie le type de contenu de la charge utile. Les valeurs acceptées sont application/json ou charset=UTF-8. |
Corps de requête POST
L’URL de la requête est POST
https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.0/batches
Le corps de la requête est un objet JSON nommé
inputs
.L’objet
inputs
contient à la fois les adresses de conteneursourceURL
ettargetURL
pour vos paires de langue source et cibleLes champs
prefix
etsuffix
(facultatifs) sont utilisés pour filtrer les documents présents dans le conteneur, dont les dossiers.Une valeur du champ
glossaries
(facultatif) est appliquée quand le document est en cours de traduction.La valeur
targetUrl
de chaque langue cible doit être unique.
Notes
Si un fichier portant le même nom existe déjà dans la destination, le travail se solde par un échec. Lorsque vous utilisez des identités managées, n’incluez pas d’URL de jeton SAS avec vos requêtes HTTP. Si ce n’est pas le cas, vos requêtes échoueront.
Traduire tous les documents dans un conteneur
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr"
"language": "fr"
}
]
}
]
}
Traduire un document spécifique dans un conteneur
- Obligatoire : "storageType": "File"
- Cet exemple de demande retourne un seul document traduit en deux langues cibles :
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-es/Target-Spanish.docx"
"language": "es"
},
{
"targetUrl": "https://my.blob.core.windows.net/target-de/Target-German.docx",
"language": "de"
}
]
}
]
}
Traduire des documents à l’aide d’un glossaire personnalisé
{
"inputs": [
{
"source": {
"sourceUrl": "https://myblob.blob.core.windows.net/source",
"filter": {
"prefix": "myfolder/"
}
},
"targets": [
{
"targetUrl": "https://myblob.blob.core.windows.net/target",
"language": "es",
"glossaries": [
{
"glossaryUrl": "https:// myblob.blob.core.windows.net/glossary/en-es.xlf",
"format": "xliff"
}
]
}
]
}
]
}
Très bien ! Vous avez appris à activer et à utiliser une identité managée affectée par le système. Avec une identité managée pour les ressources Azure et Azure RBAC
, vous avez accordé à Translator des droits d’accès spécifiques à votre ressource de stockage sans inclure de jetons SAS avec vos requêtes HTTP.
Étapes suivantes
Démarrage rapide
Didacticiel