不知道有多少人已经把家里的门锁换成了数字化的指纹锁?沿用了几百上千年的传统门锁,在技术的帮助下无疑变得更方便,不用带钥匙,还能远程控制和操作,最重要的是,终于不用担心「衣果(luǒ)着」出门扔垃圾,风吹门关人尴尬的局面。
呐,这里大家注意了,与时俱进的 Azure 媒体服务也已经「换锁」了,开始采用基于 AAD (Azure Active Directory)的全新身份验证机制,这是一种更强大、基于角色的访问控制功能,与该服务原本使用的 ACS 令牌验证模型(“帐户密钥”)相比,可对帐户中的资源进行更精细的访问。 ACS 验证方式将在 2018 年 6 月22 日停用,为了让大家平稳升级,小编特地提前近 12 个月前就来通知您,下面咱们就来说说具体情况,都有哪些注意事项?
Azure 媒体服务从 6 月开始已支持 AAD 身份验证。REST API 和. NET 客户端库的客户现在可以使用 AAD身份验证来对请求授权。此外,Azure 门户中也已发布新的管理选项卡,借此可简化通过 AAD 进行用户和服务主体认证的过程。
随着本次 RESTAPI 更新的发布,媒体服务现在可以提供与 Azure 资源管理(ARM)服务相同的,基于角色的访问管理(RBAC)。通过转到 AAD 身份验证,用户还可以跟踪并审核连接到媒体服务帐户的特定用户或应用程序所做的所有更改。
现有媒体服务用户,需要在 2018 年 6 月 22 日前采取以下措施,确保应用程序持续如期运转:
-
为媒体服务授权的应用程序更新代码
-
对基于 ACS 的身份验证进行迁移
-
开始使用基于 AAD 的身份验证
Azure 媒体服务 REST API 支持交互式用户和 Web API,中间层或守护进程的身份验证。下文将介绍如何直接使用 REST API 或通过. NET 客户端库,使用 AAD 身份验证的详细方法和相关信息。
在媒体服务中使用 AAD 进行用户验证
如果为 Azure 媒体服务帐户构建管理应用程序,例如 Azure 服务媒体 Explorer 工具,可以通过管理门户访问控制(IAM)选项卡,凭借授权访问媒体服务资源的用户凭据登录。该方法适合用于执行下列任务:
-
为编码作业监控仪表板
-
为现场直播监控仪表板
-
为桌面或移动用户管理应用程序,用于管理媒体服务帐户中的资源
本机应用程序首先从 AAD 获取访问令牌,然后使用该访问令牌进行所有 REST API 调用。下图显示了典型的交互式应用程序身份验证流程。要使 REST API 请求成功完成,调用用户必须是试图访问的目标 Azure 媒体服务帐户的“贡献者”或“所有者”。
未经授权的请求将失败,状态代码 401。如果看到此错误,请仔细检查是否将用户配置为媒体服务帐户中的“贡献者”或“所有者”。您可以在 Azure 门户中搜索媒体帐户并点击“访问控制”选项卡检查。
媒体服务中的 AAD 服务主体认证
对于不需要通过守护进程服务、Web API、消费者(移动或桌面)和 Web 应用程序进行非人际互动的交互式登录,或媒体服务帐户中的直接用户管理/资源监控,需要先在自己的租户中创建一个 Azure Active Directory(活动目录)应用程序。
创建后,必须为访问控制(IAM)选项卡中的媒体服务帐户授予此应用程序“贡献者”或“所有者”级别的权限。这两个步骤都可通过 Azure 管理门户、Azure CLI,或 PowerShell 脚本轻松完成。
轻松开始使用新的 API 访问选项卡
对于不熟悉 AAD 的用户,Azure Active Directory(活动目录)身份验证可能很复杂。为了帮助用户顺利上手,我们正在门户中为媒体服务帐户引入新的“API 访问”选项卡,来替代以前的 ACS“帐户密钥”选项卡。我们还禁用了旋转 ACS 密钥的功能,以促使用户更新代码并转移到 AAD。
新的 API 访问选项卡使得 Azure 媒体服务与 AAD 的连接过程更简单。首次打开 API 访问选项卡时,将看到选择使用用户身份验证进行人际交互式管理应用程序,也可以创建一个服务主体和 AAD 应用程序,用于与媒体服务 API 进行非人际交互。
媒体服务客户的后续步骤和操作
所有 Azure 媒体服务客户应立即开始迁移,下载最新.NET SDK,或更新现有基于 REST 的 API 调用来使用新的基于 AAD 的身份验证模型。
此外,我们正在开发新版本的 REST API,并支持使用 AAD 认证的更多客户端 SDK 语言。有关该更新的 API 的更多详细信息,参见后续的博客文章。
目前应该采取的行动:
1、如果使用.NET,请更新到最新版 SDK 并迁移到 AAD 认证。
2、提前规划媒体服务 API 中的 ACS 身份验证支持的弃用。旧的 ACS 认证支持将于 2018 年 6 月 22 日正式关闭。
关于 Java SDK 和开源和社区驱动客户端 SDK 的注意事项
如果正在为媒体服务使用 Java SDK 或社区/开源客户端 SDK,您目前有几个选项:
现有的,用于媒体服务的 Java SDK 将在未来几个月内更新,以支持 AAD 身份验证,以便客户立即开始迁移。
对于开源库,由于无法得到媒体服务团队的支持,您需要与社区 SDK 开发人员合作来优先更新 SDK,以便让您的方案支持 AAD。
此外,我们正在努力在今年夏/秋季推出新版 REST API(v3),以支持 AutoRest 生成的跨PHP、Java、Python 等客户端 SDK,从而支持 AAD 认证。
推荐阅读
资源和更多文档
想了解更多 Azure 媒体服务,以及 Azure Active Directory 请参阅以下文章:
《Azure Active Directory 服务介绍页》
有关详细信息,示例代码和具体情景文档,请参阅以下文章:
《使用 AAD 认证来访问 API》
《使用 Azure CLI 2.0 创建和配置 AAD 应用程序》