Kurz: Přístup k úložišti pomocí spravované identity Media Services
logo
Varování
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace naleznete v AMS Retirement Guide.
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 2 na verzi 3 Migrace ze služby Media Services v2 do verze 3 úvodu.
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 Media Services.
úložiště
V tomto kurzu se používá rozhraní API Media Services z 5. 5. 2020.
Přehled
Varování
Adresy URL JobInputHTTP nebo SAS nemůžete použít s účtem úložiště, který není přidružený k účtu Media Services. Jsou určené jako pohodlí pro zákazníky, kteří mají existující obsah, ke kterým se dá přistupovat pomocí HTTP(S), například pokud máte mediální soubory na veřejném serveru nebo uložené s jiným poskytovatelem cloudu. Pokud vytváříte nová řešení, použijte prostředky pro vstupy úloh.
Zabezpečení přístupu k účtu úložiště používanému službou Media Services:
- Nakonfigurujte účet úložiště tak, aby odepřel všechny IP adresy (nebo povoluje jenom IP adresy v síti zákazníka).
- Nakonfigurujte účet úložiště tak, aby umožňoval přístup ke službě 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ů 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 být nejdřív přihlášeni k předplatnému, které chcete použít.
Přihlaste se k Azure. Když použijete tento příkaz, zobrazí se výzva k zadání předplatného, které chcete použít.
az login
Nastavení předplatného
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 zadejte ID předplatného Azure, které chcete použít pro účet Media Services.
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 liší pro mnoho typů prostředků, takže je nejlepší držet se všech malých písmen. Například "mediatest1rg" pro název vaší skupiny prostředků a "mediatest1stor" pro název úč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. Názvy prostředků, které budete potřebovat, jsou:
- myRG
- myStorageAccount
- myAmsAccount
- umístění
Poznámka
Výše uvedené spojovníky slouží pouze k oddělení doprovodných slov. Vzhledem k nekonzistence pojmenování prostředků ve službách Azure nepoužívejte pomlčky při pojmenování prostředků. Název oblasti také nevytvoříte. Název oblasti je určen Azure.
Výpis oblastí Azure
Pokud si nejste jistí skutečným názvem oblasti, který chcete použít, použijte tento příkaz k získání výpisu:
Pomocí tohoto příkazu zobrazíte seznam oblastí dostupných pro váš účet.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Posloupnost
Každý z níže uvedených kroků se provádí v určitém pořadí, protože jedna nebo více hodnot z odpovědí JSON se používá v dalším kroku v posloupnosti.
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. Pro další kroky použijete název účtu úložiště, který nahradí 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í.
Pokud chcete zobrazit seznam 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
Pokud chcete zobrazit seznam 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
K vytvoření skupiny prostředků použijte následující příkaz:
az group create -n <resourceGroupName> --location chooseLocation
Volba skladové položky
Musíte také zvolit skladovou položku pro svůj účet úložiště. Můžete zobrazit seznam účtů úložiště.
V následujícím seznamu vyberte skladovou položku: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
- Změňte
myStorageAccount
na jedinečný název s délkou menší než 24 znaků. - Změňte
chooseLocation
na oblast, ve které chcete pracovat. - Změň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 pomocí instančního objektu, jinak označovaného jako spravovaná identita.
Důležitý
Je důležité, abyste v příkazu použili příznak --mi. Jinak 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ě.
Poskytuje účtu Media Services 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é identity služby Media Services k účtu úložiště
Udělte spravované identitě 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 zobrazuje spravovanou identitu účtu Media Services, což je principalId
uvedené v kódu JSON vráceného 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 "storageAuthentication": "ManagedIdentity"
.
Příklad odpovědi 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"
}
Vytvoření přiřazení role Přispěvatel objektů blob úložiště
Následující příkaz vytvoří roli Přispěvatel objektů blob služby Storage.
Změň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 hodnoty scope
použijte your-resource-group-name
a your-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ě. Jako součást hodnoty scope
použijte your-resource-group-name
a your-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 "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 dává spravované identitě Media Services přístup k účtu úložiště.
V následujícím příkazu změň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/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"
}
Validace
Pokud chcete ověřit, že je účet šifrovaný pomocí klíče spravovaného zákazníkem, zobrazte 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í tento řádek "storageAuthentication": "ManagedIdentity"
.
Příklad odpovědi 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"
}
Vlastnost storageAuthentication
by měla zobrazovat ManagedIdentity.
Pokud potřebujete další ověření, můžete zkontrolovat protokoly azure Storage a zjistit, která metoda ověřování se používá pro jednotlivé požadavky.
Vyčištění prostředků
Pokud neplánujete používat vytvořené prostředky, 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
Službu Media Services můžete kontaktovat s otázkami nebo postupovat podle našich aktualizací jedním z následujících způsobů:
- Q & A
-
Stack Overflow . Označte otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo pomocí @AzureSupport požádat o podporu.
- Otevřete lístek podpory prostřednictvím webu Azure Portal.