Kurz: Přístup k úložišti pomocí spravované identity Služby Media Services
Upozornění
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.
Poznámka
Spravované identity jsou dostupné jenom pro účty Media Services vytvořené pomocí rozhraní API v3. Pokud používáte rozhraní API v2 a chcete používat spravované identity, proveďte migraci z verze v2 na v3 – úvod k migraci z Media Services v2 na verzi 3.
Pokud chcete získat přístup k účtu úložiště, když je účet úložiště nakonfigurovaný tak, aby blokoval požadavky z neznámých IP adres, musí mít účet Media Services udělený přístup k účtu úložiště. Pomocí následujícího postupu vytvořte spravovanou identitu pro účet Media Services a udělte této identitě přístup k úložišti pomocí rozhraní příkazového řádku služby Media Services.
Tento kurz používá rozhraní API služby Media Services z 1. 5. 2020.
Přehled
Upozornění
Adresy URL JobInputHTTP nebo SAS nemůžete použít s účtem úložiště, který není přidružený k účtu Media Services. Ty jsou určené jako pohodlí pro zákazníky, kteří mají existující obsah , ke kterému je možné přistupovat pomocí PROTOKOLU HTTP(S), například pokud máte mediální soubory na veřejně přístupném serveru nebo je ukládáte u jiného poskytovatele cloudu. Pokud vytváříte nová řešení, použijte pro vstupy úloh prostředky.
Zabezpečení přístupu k účtu úložiště používanému službou Media Services:
- Nakonfigurujte účet úložiště tak, aby odepíral všechny IP adresy (nebo povolte jenom IP adresy v síti zákazníka).
- Nakonfigurujte účet úložiště tak, aby umožňoval přístup k AzureServices.
- Konfigurace služby Media Services pro přístup k účtu úložiště pomocí spravované identity
- Nahrání mediálního obsahu do prostředků služby Media Services
- Vytvořte úlohy kódování, které jako vstup úlohy používají prostředky Media Services. NEPOUŽÍVEJTE ADRESY URL SAS ani JobInputHTTP.
Přihlášení k Azure
Pokud chcete použít některý z příkazů v tomto článku, musíte se nejdřív přihlásit k předplatnému, které chcete použít.
Přihlaste se k Azure. Při použití tohoto příkazu se zobrazí výzva k zadání předplatného, které chcete použít.
az login
Nastavit předplatné
Pomocí tohoto příkazu nastavte předplatné, se kterým chcete pracovat.
Nastavení předplatného Azure pomocí rozhraní příkazového řádku
V následujícím příkazu uveďte ID předplatného Azure, které chcete pro účet Media Services použít.
az account set --subscription <subscriptionName>
Názvy prostředků
Než začnete, rozhodněte se o názvech prostředků, které vytvoříte. Měly by být snadno identifikovatelné jako sada, zejména pokud je neplánujete používat po dokončení testování. Pravidla pojmenování se u mnoha typů prostředků liší, takže je nejlepší zůstat u všech malých písmen. Například "mediatest1rg" pro název vaší skupiny prostředků a "mediatest1stor" pro název vašeho účtu úložiště. Pro každý krok v tomto článku použijte stejné názvy.
Na tyto názvy se odkazuje v následujících příkazech. Potřebné názvy prostředků:
- myRG
- myStorageAccount
- myAmsAccount
- location
Poznámka
Výše uvedené spojovníky slouží pouze k oddělení slov pokynů. Kvůli nekonzistenci pojmenování prostředků ve službách Azure nepoužívejte při pojmenování prostředků pomlčky. Také nevytvoříte název oblasti. Název oblasti určuje Azure.
Výpis oblastí Azure
Pokud si nejste jistí skutečným názvem oblasti, který chcete použít, pomocí tohoto příkazu získejte výpis:
Tento příkaz slouží k zobrazení seznamu oblastí dostupných pro váš účet.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Sequence
Každý z níže uvedených kroků se provádí v určitém pořadí, protože v dalším kroku v pořadí se použije jedna nebo více hodnot z odpovědí JSON.
Vytvoření účtu úložiště
Účet Media Services, který vytvoříte, musí mít přidružený účet úložiště. Nejprve vytvořte účet úložiště pro účet Media Services. V dalších krocích použijete název účtu úložiště, který nahradíte myStorageAccount
.
Vytvoření účtu Azure Storage pomocí rozhraní příkazového řádku
K vytvoření účtu Azure Storage použijte následující příkazy.
Pokud chcete vytvořit účet úložiště, musíte nejprve vytvořit skupinu prostředků v rámci umístění.
K zobrazení seznamu dostupných umístění použijte následující příkaz:
Výpis dostupných umístění pomocí rozhraní příkazového řádku
K zobrazení seznamu dostupných umístění použijte následující příkaz:
az account list-locations
Vytvoření skupiny prostředků pomocí rozhraní příkazového řádku
Skupinu prostředků vytvoříte spuštěním následujícího příkazu:
az group create -n <resourceGroupName> --location chooseLocation
Volba skladové jednotky (SKU)
Musíte také zvolit skladovou položku pro účet úložiště. Můžete zobrazit seznam účtů úložiště.
Vyberte skladovou položku z následujícího seznamu: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS Standard_RAGZRS.
- Změňte
myStorageAccount
na jedinečný název o délce kratší než 24 znaků. - Změňte
chooseLocation
oblast, ve které chcete pracovat. - Přejděte
chooseSKU
na upřednostňovanou skladovou položku.
az storage account create -n <myStorageAccount> -g <resourceGroup> --location <chooseLocation> --sku <chooseSKU>
Vytvoření účtu Media Services s instančním objektem (spravovaná identita)
Teď vytvořte účet Media Services s instančním objektem, který se označuje také jako spravovaná identita.
Důležité
Je důležité, abyste v příkazu nezapomněli použít příznak --mi. V opačném případě nebudete moct najít principalId
pro pozdější krok.
Následující příkaz Azure CLI vytvoří nový účet Media Services. Nahraďte následující hodnoty: your-media-services-account-name
your-storage-account-name
a your-resource-group-name
názvy, které chcete použít. Příkaz předpokládá, že jste už vytvořili skupinu prostředků a účet úložiště.
Účet Media Services získá spravovanou identitu přiřazenou systémem s příznakem --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>
Příklad odpovědi 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"
}
Udělení přístupu spravované identitě Služby Media Services k účtu úložiště
Udělte spravované identitě Služby Media Services přístup k účtu úložiště. Existují tři příkazy:
Získání (zobrazení) spravované identity účtu Media Services
První příkaz níže zobrazí spravovanou identitu účtu Media Services, která je principalId
uvedená ve formátu JSON vrácených příkazem.
Tento příkaz zobrazí všechny vlastnosti účtu Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Poznámka
Pokud jste účtu Media Services přiřadili přístupové role, vrátí tento řádek hodnotu "storageAuthentication": "ManagedIdentity"
.
Příklad odpovědi JSON:
{
"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"
}
Vytvoření přiřazení role Přispěvatel objektů blob služby Storage
Následující příkaz vytvoří roli Přispěvatel objektů blob služby Storage.
Přejděte assignee
na principalId
. Příkaz předpokládá, že jste už vytvořili skupinu prostředků a účet úložiště. Jako součást scope
hodnoty použijte your-resource-group-name
ayour-storage-account-name
, jak je znázorněno v následujícím příkazu:
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>"
Příklad odpovědi 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"
}
Vytvoření přiřazení role Čtenář
Následující příkaz vytvoří roli Čtenář.
Změňte assignee
na principalId
. Příkaz předpokládá, že jste už vytvořili skupinu prostředků a účet úložiště. Použijte your-resource-group-name
a your-storage-account-name
jako součást scope
hodnoty, jak je znázorněno v následujícím příkazu:
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"
Příklad odpovědi 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"
}
Použití spravované identity pro přístup k účtu úložiště
Následující příkaz poskytne spravované identitě Služby Media Services přístup k účtu úložiště.
V následujícím příkazu přejděte your-resource-group-name
na název skupiny prostředků a your-media-services-account-name
na název účtu Media Services, se kterým chcete pracovat:
az ams account storage set-authentication --storage-auth ManagedIdentity --resource-group <your-resource-group_name> --account-name <your-media-services-account-name>
Příklad odpovědi 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/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"
}
Ověřování
Pokud chcete ověřit, že je účet šifrovaný pomocí klíče spravovaného zákazníkem, podívejte se na vlastnosti šifrování účtu:
Tento příkaz zobrazí všechny vlastnosti účtu Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Poznámka
Pokud jste účtu Media Services přiřadili přístupové role, vrátí "storageAuthentication": "ManagedIdentity"
tento řádek .
Příklad odpovědi JSON:
{
"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"
}
Vlastnost storageAuthentication
by měla zobrazovat ManagedIdentity.
Pro další ověření můžete zkontrolovat protokoly služby Azure Storage a zjistit, která metoda ověřování se používá pro jednotlivé požadavky.
Vyčištění prostředků
Pokud vytvořené prostředky neplánujete používat, odstraňte skupinu prostředků.
Odstranění skupiny prostředků pomocí rozhraní příkazového řádku
az group delete --name <your-resource-group-name>
Získání nápovědy a podpory
Media Services můžete kontaktovat s dotazy nebo sledovat naše aktualizace jedním z následujících způsobů:
- Q & A
- Stack Overflow Označit otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo použijte @AzureSupport a požádejte o podporu.
- Otevřete lístek podpory prostřednictvím Azure Portal.