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 AMS Retirement Guidevoor meer informatie.
Notitie
Beheerde identiteiten zijn alleen beschikbaar voor Media Services-accounts die zijn gemaakt met behulp van 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 toegankelijk zijn 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.
Toegang tot een opslagaccount beveiligen dat wordt gebruikt door Media Services:
- Configureer het opslagaccount om alle IP-adressen te weigeren (of alleen IP-adressen toe te staan in het netwerk van de klant)
- Het opslagaccount configureren om toegang tot 'AzureServices' toe te staan
- Media Services configureren voor toegang tot het opslagaccount met beheerde identiteit
- Media-inhoud uploaden naar Media Services-assets
- Coderingstaken maken 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 Azure-abonnements-id op die u wilt gebruiken voor het Media Services-account.
az account set --subscription <subscriptionName>
Resourcenamen
Voordat u aan de slag gaat, moet u beslissen over 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, zodat u het beste aan alle kleine letters kunt houden. Bijvoorbeeld 'mediatest1rg' voor de naam van uw resourcegroep en 'mediatest1stor' voor de naam van uw opslagaccount. Gebruik dezelfde namen voor elke stap in dit artikel.
U ziet deze namen waarnaar wordt verwezen in de onderstaande opdrachten. De namen van resources die u nodig hebt, zijn:
- myRG
- myStorageAccount
- myAmsAccount
- plaats
Notitie
De bovenstaande afbreekstreepjes worden alleen gebruikt om hulpwoorden te scheiden. Vanwege de inconsistentie van naamgeving van resources in Azure-services, gebruikt u geen afbreekstreepjes wanneer u uw resources een naam geeft. U maakt ook niet de regionaam. De regionaam wordt bepaald door Azure.
Azure-regio's vermelden
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
Volgorde
Elk van de onderstaande stappen wordt in een bepaalde volgorde uitgevoerd, 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 er een opslagaccount aan 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
chooseSKU
in 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 maakt u een nieuw Media Services-account. 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.
Het geeft het Media Services-account een door het systeem toegewezen beheerde identiteit met de vlag --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>
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
Verdeel de beheerde identiteit van Media Services toegang 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. Dit is de principalId
die worden vermeld in de JSON die door de opdracht wordt 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 deze regel "storageAuthentication": "ManagedIdentity"
.
Voorbeeld van JSON-antwoord:
{
"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"
}
De roltoewijzing Opslagblobbijdrager 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 een lezerrol.
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"
}
De beheerde identiteit gebruiken voor toegang tot het opslagaccount
De volgende opdracht geeft een beheerde identiteit van Media Services toegang tot een opslagaccount.
Wijzig in de onderstaande opdracht your-resource-group-name
in de naam van de resourcegroep en your-media-services-account-name
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/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"
}
Validering
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 deze regel "storageAuthentication": "ManagedIdentity"
.
Voorbeeld van JSON-antwoord:
{
"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"
}
De eigenschap storageAuthentication
moet ManagedIdentity weergeven.
Voor extra 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>
Hulp en ondersteuning krijgen
U kunt contact opnemen met Media Services met vragen of onze updates volgen op een van de volgende manieren:
- Q & A-
-
Stack Overflow-. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of @AzureSupport gebruiken om ondersteuning aan te vragen.
- Open een ondersteuningsticket via Azure Portal.