Zelfstudie: Toegang tot opslag met een beheerde identiteit van Media Services
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de Handleiding voor buitengebruikstelling van AMS voor meer informatie.
Notitie
Beheerde identiteiten zijn alleen beschikbaar voor Media Services-accounts die zijn gemaakt met de v3-API. Als u de v2-API gebruikt en beheerde identiteiten wilt gebruiken, migreert u van v2 naar v3 Migreren van Media Services v2 naar v3 inleiding.
Als u toegang wilt krijgen tot een opslagaccount wanneer het opslagaccount is geconfigureerd om aanvragen van onbekende IP-adressen te blokkeren, moet het Media Services-account toegang krijgen tot het opslagaccount. Volg de onderstaande stappen om een beheerde identiteit voor het Media Services-account te maken en deze identiteit toegang te verlenen tot opslag met behulp van de Media Services CLI.
In deze zelfstudie wordt de Media Services-API 2020-05-01 gebruikt.
Overzicht
Waarschuwing
U kunt JobInputHTTP- of SAS-URL's niet gebruiken met een opslagaccount dat niet is gekoppeld aan een Media Services-account. Deze zijn bedoeld als een gemak voor klanten die bestaande inhoud hebben die kan worden geopend via HTTP(S), bijvoorbeeld als u mediabestanden op een openbare server hebt of bij een andere cloudprovider hebt opgeslagen. Als u nieuwe oplossingen bouwt, gebruikt u Assets voor taakinvoer.
De toegang tot een opslagaccount beveiligen dat wordt gebruikt door Media Services:
- Configureer het opslagaccount om alle IP-adressen te weigeren (of alleen IP-adressen in het netwerk van de klant toe te staan)
- Het opslagaccount configureren om toegang tot 'AzureServices' toe te staan
- Media Services configureren voor toegang tot het opslagaccount met behulp van beheerde identiteit
- Media-inhoud uploaden naar Media Services-assets
- Maak coderingstaken die Media Services-assets gebruiken als taakinvoer. GEBRUIK GEEN SAS-URL'S of JobInputHTTP.
Aanmelden bij Azure
Als u een van de opdrachten in dit artikel wilt gebruiken, moet u eerst zijn aangemeld bij het abonnement dat u wilt gebruiken.
Meld u aan bij Azure. Wanneer u deze opdracht gebruikt, wordt u gevraagd om het abonnement dat u wilt gebruiken.
az login
Abonnement instellen
Gebruik deze opdracht om het abonnement in te stellen waarmee u wilt werken.
Het Azure-abonnement instellen met de CLI
Geef in de volgende opdracht de id van het Azure-abonnement op dat u wilt gebruiken voor het Media Services-account.
az account set --subscription <subscriptionName>
Resourcenamen
Voordat u begint, bepaalt u de namen van de resources die u gaat maken. Ze moeten gemakkelijk te herkennen zijn als een set, vooral als u niet van plan bent om ze te gebruiken nadat u klaar bent met testen. Naamgevingsregels verschillen voor veel resourcetypen, dus het is het beste om alleen kleine letters te gebruiken. Bijvoorbeeld 'mediatest1rg' voor de naam van de resourcegroep en 'mediatest1stor' voor de naam van uw opslagaccount. Gebruik dezelfde namen voor elke stap in dit artikel.
U ziet dat naar deze namen wordt verwezen in de onderstaande opdrachten. De namen van resources die u nodig hebt, zijn:
- myRG
- myStorageAccount
- myAmsAccount
- location
Notitie
De bovenstaande afbreekstreepjes worden alleen gebruikt om hulpwoorden van elkaar te scheiden. Vanwege de inconsistentie van de naamgeving van resources in Azure-services, mag u geen afbreekstreepjes gebruiken wanneer u uw resources een naam geeft. U maakt ook geen regionaam. De regionaam wordt bepaald door Azure.
Azure-regio's weergeven
Als u niet zeker weet welke regionaam u daadwerkelijk wilt gebruiken, gebruikt u deze opdracht om een vermelding op te halen:
Gebruik deze opdracht om de regio's weer te geven die beschikbaar zijn voor uw account.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Reeks
Elk van de onderstaande stappen wordt uitgevoerd in een bepaalde volgorde, omdat een of meer waarden uit de JSON-antwoorden worden gebruikt in de volgende stap in de reeks.
Een opslagaccount maken
Aan het Media Services-account dat u maakt, moet een opslagaccount zijn gekoppeld. Maak eerst het opslagaccount voor het Media Services-account. U gebruikt de naam van het opslagaccount die myStorageAccount
vervangt voor de volgende stappen.
Een Azure Storage-account maken met de CLI
Gebruik de volgende opdrachten om een Azure Storage-account te maken.
Als u een opslagaccount wilt maken, moet u eerst een resourcegroep binnen een locatie maken.
Gebruik de volgende opdracht om beschikbare locaties weer te geven:
Beschikbare locaties weergeven met de CLI
Gebruik de volgende opdracht om beschikbare locaties weer te geven:
az account list-locations
Een resourcegroep maken met de CLI
Gebruik de volgende opdracht om een resourcegroep te maken:
az group create -n <resourceGroupName> --location chooseLocation
Een SKU kiezen
U moet ook een SKU voor uw opslagaccount kiezen. U kunt opslagaccounts weergeven.
Kies een SKU in de volgende lijst: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
- Wijzig
myStorageAccount
in een unieke naam met een lengte van minder dan 24 tekens. - Wijzig
chooseLocation
in de regio waar u wilt werken. - Wijzig in
chooseSKU
de SKU van uw voorkeur.
az storage account create -n <myStorageAccount> -g <resourceGroup> --location <chooseLocation> --sku <chooseSKU>
Een Media Services-account maken met een service-principal (beheerde identiteit)
Maak nu het Media Services-account met een service-principal, ook wel een beheerde identiteit genoemd.
Belangrijk
Het is belangrijk dat u de vlag --mi in de opdracht gebruikt. Anders kunt u de principalId
niet vinden voor een latere stap.
Met de volgende Azure CLI-opdracht wordt een nieuwe Media Services-account gemaakt. Vervang de volgende waarden: your-media-services-account-name
your-storage-account-name
, en your-resource-group-name
door de namen die u wilt gebruiken. Bij de opdracht wordt ervan uitgegaan dat u al een resourcegroep en een opslagaccount hebt gemaakt.
Hiermee krijgt het Media Services-account een door het systeem toegewezen beheerde identiteit met de --mi-system-assigned
vlag.
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>
Voorbeeld van JSON-antwoord:
{
"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"
}
De beheerde identiteit van Media Services toegang verlenen tot het opslagaccount
De beheerde identiteit van Media Services toegang verlenen tot het opslagaccount. Er zijn drie opdrachten:
De beheerde identiteit van het Media Services-account ophalen (weergeven)
Met de eerste opdracht hieronder ziet u de beheerde identiteit van het Media Services-account. Deze wordt vermeld in de JSON die door de opdracht wordt principalId
geretourneerd.
Met deze opdracht worden alle eigenschappen van een Media Services-account weergegeven.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Notitie
Als u toegangsrollen hebt toegewezen aan het Media Services-account, retourneert "storageAuthentication": "ManagedIdentity"
deze regel .
Voorbeeld van JSON-antwoord:
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
"identity": {
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"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/00000000-0000-0000-0000-000000000000/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"
}
De roltoewijzing Storage Blob-inzender maken
Met de volgende opdracht maakt u de rol Inzender voor opslagblob.
Wijzig assignee
in de principalId
. Bij de opdracht wordt ervan uitgegaan dat u al een resourcegroep en een opslagaccount hebt gemaakt. Gebruik your-resource-group-name
en your-storage-account-name
als onderdeel van de scope
waarde, zoals wordt weergegeven in de onderstaande opdracht:
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>"
Voorbeeld van JSON-antwoord:
{
"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"
}
De roltoewijzing Lezer maken
Met de volgende opdracht maakt u de rol Lezer.
Wijzig assignee
in de principalId
. Bij de opdracht wordt ervan uitgegaan dat u al een resourcegroep en een opslagaccount hebt gemaakt. Gebruik your-resource-group-name
en your-storage-account-name
als onderdeel van de scope
waarde, zoals wordt weergegeven in de onderstaande opdracht:
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"
Voorbeeld van JSON-antwoord:
{
"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"
}
Beheerde identiteit gebruiken voor toegang tot het opslagaccount
Met de volgende opdracht krijgt een beheerde identiteit van Media Services toegang tot een opslagaccount.
Wijzig in de onderstaande your-resource-group-name
opdracht in de naam van de resourcegroep en your-media-services-account-name
in de naam van het Media Services-account waarmee u wilt werken:
az ams account storage set-authentication --storage-auth ManagedIdentity --resource-group <your-resource-group_name> --account-name <your-media-services-account-name>
Voorbeeld van JSON-antwoord:
{
"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/2b461b25-f7b4-4a22-90cc-d640a14b5471/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"
}
Validatie
Als u wilt controleren of het account is versleuteld met behulp van een door de klant beheerde sleutel, bekijkt u de eigenschappen van de accountversleuteling:
Met deze opdracht worden alle eigenschappen van een Media Services-account weergegeven.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Notitie
Als u toegangsrollen hebt toegewezen aan het Media Services-account, retourneert "storageAuthentication": "ManagedIdentity"
deze regel .
Voorbeeld van JSON-antwoord:
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
"identity": {
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"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/00000000-0000-0000-0000-000000000000/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"
}
De storageAuthentication
eigenschap moet 'ManagedIdentity' weergeven.
Voor aanvullende validatie kunt u de Azure Storage-logboeken controleren om te zien welke verificatiemethode voor elke aanvraag wordt gebruikt.
Resources opschonen
Als u niet van plan bent om de resources te gebruiken die u hebt gemaakt, verwijdert u de resourcegroep.
Een resourcegroep verwijderen met de CLI
az group delete --name <your-resource-group-name>
Help en ondersteuning
U kunt contact opnemen met Media Services met vragen of onze updates op een van de volgende manieren volgen:
- Q & A
- Stack Overflow. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of gebruik @AzureSupport om ondersteuning aan te vragen.
- Open een ondersteuningsticket via de Azure Portal.