Azure 媒体服务 : storage encrypted rest api didn't work

标签 azure azure-media-services

我正在使用 azure 媒体服务 Rest api 创建应进行存储加密的 Assets 。

以下步骤成功:

1:使用“Options”创建 Assets :“1”(存储加密)。 2:使用 ContentKeyType":"1""ProtectionKeyType":"0"创建内容 key 。 3:将内容 key 与创建的 Assets 相关联。 4:创建资源文件。 5:创建访问策略。 6:创建SAS url(StartTime 比当前时间早五分钟)。 7:通过正确指定文件名将文件上传到 SAS url(我将 block 上传到 blob 存储)。 8:删除了Locator和AcessPolicy。

问题:

  1. 我无法对 Assets 进行编码。
  2. 我能够从 blob 存储下载文件并播放。文件在存储时未加密!

进一步推断

  1. 我可以使用 AMS Explorer 验证 Assets 文件(附图)。
  2. 无法从 AMS Explorer 下载文件。 enter image description here

最佳答案

摘自文档 - “如果您希望在上传之前加密未加密的媒体,则应在创建 Assets 时指定 AssetCreationOptions.StorageEncrypted。这会在将媒体上传到 Azure 存储之前对其进行本地加密,并在其中加密存储。”

来自 REST API 引用 ( https://msdn.microsoft.com/en-us/library/azure/hh974277.aspx ) -

StorageEncrypted = 1:指定在创建 Assets 时应加密 Assets 的文件以进行上传和存储。

提供 StorageEncryption 选项意味着您只是告诉系统您的 Assets 在上传之前已被加密。 .Net SDK 会为您完成此操作,但是当您使用 REST API 时,您必须在上传之前自行加密文件。

您可以查看https://github.com/Azure/azure-sdk-for-media-services/blob/dev/src/net/Client/Entities/AssetFileData.cs查看.net SDK 中如何实现资源文件加密。

您必须创建内容 key 并将其与 Assets 关联并使用它进行加密。 一旦您在系统中获得了所有这些信息,Azure 媒体服务将能够在编码为其他格式期间解密您的内容。

关于Azure 媒体服务 : storage encrypted rest api didn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040538/

相关文章:

Azure AD B2C LinkedIn 个人资料图片

Azure Service Fabric 与 Docker 数据中心

asp.net - 对 Azure 媒体服务中的 2 个作业任务使用相同的输出 Assets

azure - Azure 媒体服务中的访问控制

java - 将 Azure 媒体服务缩略图任务预设与 Java SDK 结合使用

azure - 无法在 azure 媒体服务 v3 中对包含两个视频的 Assets 进行编码

node.js - 为什么使用 Node 而不是 ASP.NET Core 提供 Azure 上的静态文件时速度较慢?

azure - Azure DevOps 中的应用程序服务名称显示未找到结果

c# - 找不到资源组下的 Azure 媒体服务资源

azure - Terraform keyvault 删除保护无法按预期工作