#azure #terraform #azure-media-services
#azure #terraform #azure-media-services
Вопрос:
Я пытаюсь использовать Terraform для настройки Azure Media Services и могу получить основную основную работу, например, группу ресурсов, учетную запись хранилища и т. Д., Но не могу найти никакой документации или примеров создания политики ключей содержимого с помощью DRM (Widervine) и токена JWT, мне также нужно будет добавить этот json для лицензиинастройки:
{
"allowed_track_types": "SD_HD",
"content_key_specs": [
{
"track_type": "SD",
"security_level": 1,
"required_output_protection": {
"hdcp": "HDCP_NONE",
"cgms_flags": null
}
}
],
"policy_overrides": {
"can_play": true,
"can_persist": true,
"can_renew": false,
"rental_duration_seconds": 2592000,
"playback_duration_seconds": 10800,
"license_duration_seconds": 604800
}
}
Текущий main.tf
файл:
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = ">= 2.26"
}
}
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "rg" {
name = join("", [ var.prefix, "mediaservices" ])
location = var.location
}
resource "azurerm_storage_account" "sa" {
name = join("", [ var.prefix, "storageaccount" ])
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
account_tier = "Standard"
account_replication_type = "LRS"
tags = {
environment = "staging"
}
}
resource "azurerm_storage_container" "sc1" {
name = "archive"
storage_account_name = azurerm_storage_account.sa.name
container_access_type = "private"
}
resource "azurerm_storage_container" "sc2" {
name = "tobeprocessed"
storage_account_name = azurerm_storage_account.sa.name
container_access_type = "private"
}
resource "azurerm_media_services_account" "ams" {
name = join("", [ var.prefix, "mediaservices" ])
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
storage_account {
id = azurerm_storage_account.sa.id
is_primary = true
}
}
output "resourceGroupName" {
value = azurerm_resource_group.rg.name
}
output "containerConnectionString" {
value = azurerm_storage_account.sa.primary_connection_string
}
data "azurerm_subscriptions" "available" {
}
output "subscriptionId" {
value = data.azurerm_subscriptions.available.subscriptions[ 0 ].subscription_id
}
Ответ №1:
Документацию по лицензиям Widevine можно найти здесь: Media Services v3 с обзором шаблона лицензии Widevine и здесь вместе с другой информацией о защите содержимого.