Sdílet prostřednictvím


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

logo Media Services v3


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.

účet Media Services používá spravovanou identitu pro přístup k ú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-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ě.

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-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/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.