Tutoriel : Accéder au stockage avec une identité managée Media Services
logo
Avertissement
Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le guide de mise hors service AMS.
Note
Les identités managées sont disponibles uniquement pour les comptes Media Services créés à l’aide de l’API v3. Si vous utilisez l’API v2 et souhaitez utiliser des identités managées, migrez de v2 vers v3 Migrate from Media Services v2 to v3 introduction.
Si vous souhaitez accéder à un compte de stockage lorsque le compte de stockage est configuré pour bloquer les requêtes provenant d’adresses IP inconnues, le compte Media Services doit être autorisé à accéder au compte de stockage. Suivez les étapes ci-dessous pour créer une identité managée pour le compte Media Services et accorder à cette identité l’accès au stockage à l’aide de l’interface CLI Media Services.
de stockage
Ce tutoriel utilise l’API Media Services 2020-05-01.
Aperçu
Avertissement
Vous ne pouvez pas utiliser les URL JobInputHTTP ou SAS avec un compte de stockage qui n’est pas associé à un compte Media Services. Celles-ci sont destinées à des clients qui ont contenu existant accessible à l’aide de HTTP(S), par exemple si vous avez des fichiers multimédias sur un serveur public ou stockés avec un autre fournisseur de cloud. Si vous créez de nouvelles solutions, utilisez les ressources pour les entrées de travail.
Pour sécuriser l’accès à un compte de stockage utilisé par Media Services :
- Configurez le compte de stockage pour refuser toutes les adresses IP (ou autoriser uniquement les adresses IP dans le réseau du client)
- Configurer le compte de stockage pour autoriser l’accès à « AzureServices »
- Configurer Media Services pour accéder au compte de stockage à l’aide de l’identité managée
- Charger du contenu multimédia dans des ressources Media Services
- Créez des travaux d’encodage qui utilisent les ressources Media Services comme entrée de travail. NE PAS utiliser les URL SAS ou JobInputHTTP.
Se connecter à Azure
Pour utiliser l’une des commandes de cet article, vous devez d’abord être connecté à l’abonnement que vous souhaitez utiliser.
Connectez-vous à Azure. Lorsque vous utilisez cette commande, vous êtes invité à entrer l’abonnement que vous souhaitez utiliser.
az login
Définir l’abonnement
Utilisez cette commande pour définir l’abonnement avec lequel vous souhaitez travailler.
Définir l’abonnement Azure avec l’interface CLI
Dans la commande suivante, indiquez l’ID d’abonnement Azure que vous souhaitez utiliser pour le compte Media Services.
az account set --subscription <subscriptionName>
Noms de ressources
Avant de commencer, choisissez les noms des ressources que vous allez créer. Ils doivent être facilement identifiables en tant qu’ensemble, en particulier si vous ne prévoyez pas de les utiliser une fois que vous avez effectué des tests. Les règles d’affectation de noms sont différentes pour de nombreux types de ressources. Il est donc préférable de respecter toutes les minuscules. Par exemple, « mediatest1rg » pour le nom de votre groupe de ressources et « mediatest1stor » pour le nom de votre compte de stockage. Utilisez les mêmes noms pour chaque étape de cet article.
Vous verrez ces noms référencés dans les commandes ci-dessous. Les noms des ressources dont vous aurez besoin sont les suivants :
- myRG
- myStorageAccount
- myAmsAccount
- emplacement
Note
Les traits d’union ci-dessus sont utilisés uniquement pour séparer les mots d’aide. En raison de l’incohérence du nommage des ressources dans les services Azure, n’utilisez pas de traits d’union lorsque vous nommez vos ressources. En outre, vous ne créez pas le nom de la région. Le nom de la région est déterminé par Azure.
Répertorier les régions Azure
Si vous n’êtes pas sûr du nom de la région réelle à utiliser, utilisez cette commande pour obtenir une description :
Utilisez cette commande pour répertorier les régions disponibles pour votre compte.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Séquence
Chacune des étapes ci-dessous est effectuée dans un ordre particulier, car une ou plusieurs valeurs des réponses JSON sont utilisées à l’étape suivante de la séquence.
Créer un compte de stockage
Le compte Media Services que vous allez créer doit avoir un compte de stockage associé. Créez d’abord le compte de stockage pour le compte Media Services. Vous utiliserez le nom du compte de stockage qui remplace myStorageAccount
pour les étapes suivantes.
Créer un compte de stockage Azure avec l’interface CLI
Utilisez les commandes suivantes pour créer un compte de stockage Azure.
Pour créer un compte de stockage, vous devez d’abord créer un groupe de ressources dans un emplacement.
Pour répertorier les emplacements disponibles, utilisez la commande suivante :
Répertorier les emplacements disponibles avec l’interface CLI
Pour répertorier les emplacements disponibles, utilisez la commande suivante :
az account list-locations
Créer un groupe de ressources avec l’interface CLI
Pour créer un groupe de ressources, utilisez la commande suivante :
az group create -n <resourceGroupName> --location chooseLocation
Choisir une référence SKU
Vous devez également choisir une référence SKU pour votre compte de stockage. Vous pouvez répertorier les comptes de stockage.
Choisissez une référence SKU dans la liste suivante : Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
- Remplacez
myStorageAccount
par un nom unique dont la longueur est inférieure à 24 caractères. - Remplacez
chooseLocation
par la région dans laquelle vous souhaitez travailler. - Remplacez
chooseSKU
par votre référence SKU préférée.
az storage account create -n <myStorageAccount> -g <resourceGroup> --location <chooseLocation> --sku <chooseSKU>
Créer un compte Media Services avec un principal de service (identité managée)
Créez maintenant le compte Media Services avec un principal de service, sinon appelé identité managée.
Important
Il est important que vous vous souveniez d’utiliser l’indicateur --mi dans la commande. Sinon, vous ne pourrez pas trouver le principalId
pour une étape ultérieure.
La commande Azure CLI suivante crée un compte Media Services. Remplacez les valeurs suivantes : your-media-services-account-name
your-storage-account-name
et your-resource-group-name
par les noms que vous souhaitez utiliser. La commande suppose que vous avez déjà créé un groupe de ressources et un compte de stockage.
Il donne au compte Media Services une identité managée affectée par le système avec l’indicateur de --mi-system-assigned
.
az ams account create --name <your-media-services-account-name> --resource-group <your-resource-group-name> --mi-system-assigned --storage-account <your-storage-account-name>
Exemple de réponse JSON :
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/your-resource-group/providers/Microsoft.Media/mediaservices/your-media-services-account-name",
"identity": {
"principalId": "00000000-0000-0000-0000-00000000",
"tenantId": "00000000-0000-0000-0000-00000000",
"type": "SystemAssigned"
},
"location": "your-region",
"mediaServiceId": "00000000-0000-0000-0000-00000000",
"name": "your-media-services-account-name",
"resourceGroup": "your-resource-group",
"storageAccounts": [
{
"id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/mediatest1rg/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group",
"type": "Primary"
}
],
"storageAuthentication": "System",
"systemData": {
"createdAt": "2021-05-14T21:25:12.3492071Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Accorder à l’identité managée Media Services l’accès au compte de stockage
Accordez à l’identité managée Media Services l’accès au compte de stockage. Il existe trois commandes :
Obtenir (afficher) l’identité managée du compte Media Services
La première commande ci-dessous montre l’identité managée du compte Media Services, qui est la principalId
répertoriée dans le json retourné par la commande.
Cette commande affiche toutes les propriétés d’un compte Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Note
Si vous avez attribué des rôles d’accès au compte Media Services, cette ligne retourne "storageAuthentication": "ManagedIdentity"
.
Exemple de réponse JSON :
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
"identity": {
"principalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned" //Type will show "Managed Identity" if you have assigned a role to the Media Services account.
},
"location": "your-region",
"mediaServiceId": "00000000-0000-0000-0000-000000000000",
"name": "your-media-services-account",
"resourceGroup": "your-resource-group-name",
"storageAccounts": [
{
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group-name",
"type": "Primary"
}
],
"storageAuthentication": "System", //If you have assigned access roles to the account, this line will return storageAuthentication": "ManagedIdentity"
"systemData": {
"createdAt": "2021-05-14T21:25:12.3492071Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Créer l’attribution de rôle Contributeur d’objets blob de stockage
La commande suivante crée un rôle Contributeur d’objets blob de stockage.
Remplacez assignee
par le principalId
. La commande suppose que vous avez déjà créé un groupe de ressources et un compte de stockage. Utilisez your-resource-group-name
et your-storage-account-name
dans le cadre de la valeur scope
, comme indiqué dans la commande ci-dessous :
az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Storage Blob Data Contributor" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/<your-resource-group-name>/providers/Microsoft.Storage/storageAccounts/<your-storage-account-name>"
Exemple de réponse JSON :
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
"name": "00000000-0000-0000-000000000000",
"principalId": "00000000-0000-0000-000000000000",
"principalType": "ServicePrincipal",
"resourceGroup": "your-resource-group-name",
"roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
"scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"type": "Microsoft.Authorization/roleAssignments"
}
Créer l’attribution de rôle Lecteur
La commande suivante crée un rôle Lecteur.
Remplacez assignee
par le principalId
. La commande suppose que vous avez déjà créé un groupe de ressources et un compte de stockage. Utilisez your-resource-group-name
et your-storage-account-name
dans le cadre de la valeur scope
, comme indiqué dans la commande ci-dessous :
az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Reader" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name"
Exemple de réponse JSON :
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
"name": "00000000-0000-0000-000000000000",
"principalId": "00000000-0000-0000-000000000000",
"principalType": "Reader",
"resourceGroup": "your-resource-group-name",
"roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
"scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"type": "Microsoft.Authorization/roleAssignments"
}
Utiliser l’identité managée pour accéder au compte de stockage
La commande suivante donne à une identité managée Media Services un accès à un compte de stockage.
Dans la commande ci-dessous, remplacez your-resource-group-name
par le nom du groupe de ressources et your-media-services-account-name
par le nom du compte Media Services que vous souhaitez utiliser :
az ams account storage set-authentication --storage-auth ManagedIdentity --resource-group <your-resource-group_name> --account-name <your-media-services-account-name>
Exemple de réponse JSON :
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-00000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-storage-account-name",
"identity": null,
"location": "West US 2",
"mediaServiceId": "00000000-0000-0000-00000000",
"name": "your-media-services-account",
"resourceGroup": "your-resource-group-name",
"storageAccounts": [
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group-name",
"type": "Primary"
}
],
"storageAuthentication": "ManagedIdentity",
"systemData": {
"createdAt": "2021-05-17T19:15:00.8850297Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-17T21:23:11.3863627Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Validation
Pour vérifier que le compte est chiffré à l’aide d’une clé gérée par le client, affichez les propriétés de chiffrement du compte :
Cette commande affiche toutes les propriétés d’un compte Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Note
Si vous avez attribué des rôles d’accès au compte Media Services, cette ligne retourne "storageAuthentication": "ManagedIdentity"
.
Exemple de réponse JSON :
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
"identity": {
"principalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned" //Type will show "Managed Identity" if you have assigned a role to the Media Services account.
},
"location": "your-region",
"mediaServiceId": "00000000-0000-0000-0000-000000000000",
"name": "your-media-services-account",
"resourceGroup": "your-resource-group-name",
"storageAccounts": [
{
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group-name",
"type": "Primary"
}
],
"storageAuthentication": "System", //If you have assigned access roles to the account, this line will return storageAuthentication": "ManagedIdentity"
"systemData": {
"createdAt": "2021-05-14T21:25:12.3492071Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
La propriété storageAuthentication
doit afficher « ManagedIdentity ».
Pour une validation supplémentaire, vous pouvez vérifier les journaux de stockage Azure pour voir quelle méthode d’authentification est utilisée pour chaque requête.
Nettoyer les ressources
Si vous ne prévoyez pas d’utiliser les ressources que vous avez créées, supprimez le groupe de ressources.
Supprimer un groupe de ressources avec l’interface CLI
az group delete --name <your-resource-group-name>
Obtenir de l’aide et du support
Vous pouvez contacter Media Services avec des questions ou suivre nos mises à jour par l’une des méthodes suivantes :
- Q & A
-
Stack Overflow. Étiquetez des questions avec
azure-media-services
. - @MSFTAzureMedia ou utilisez @AzureSupport pour demander du support.
- Ouvrez un ticket de support via le portail Azure.