Kurz: Přístup k úložišti pomocí spravované identity Služby Media Services

Logo Media Services v3


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.

Účet Media Services používá pro přístup k úložišti spravovanou identitu.

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-nameyour-storage-account-namea 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-namena 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ů: