你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ContentKeyAuthorizationPolicyOption
媒体服务支持通过多种方式对发出密钥请求的用户进行身份验证。 必须配置内容密钥授权策略,客户端(播放器)必须遵守该策略,才能将密钥传送到客户端。 内容密钥授权策略可能受到一种或多种授权限制:开放、令牌限制或 IP 限制。 使用 ContentKeyAuthorizationPolicyOption
指定授权选项。 然后,将创建的选项添加到 ContentKeyAuthorizationPolicy
。
请注意,密钥传送服务缓存 ContentKeyAuthorizationPolicy
及其相关对象 (策略选项和限制) 15 分钟。 如果创建 并 ContentKeyAuthorizationPolicy
指定使用“Token”限制,然后对其进行测试,然后将策略更新为“打开”限制,则大约需要 15 分钟策略才能切换到策略的“打开”版本。
本主题介绍 ContentKeyAuthorizationPolicyOption
并说明如何使用此实体。 有关演示如何与 ContentKeyAuthorizationPolicy
关联的ContentKeyAuthorizationPolicyOption
更完整示例,请参阅 ContentKeyAuthorizationPolicy。
重要
访问媒体服务中的实体时,必须在 HTTP 请求中设置特定标头字段和值。
有关详细信息,请参阅设置媒体服务 REST API 开发和使用媒体服务 REST API 连接到媒体服务。
ContentKeyAuthorizationPolicyOption 实体属性
属性 | 类型 | 说明 |
---|---|---|
Id 只读。 由 Media Services 设置。 |
Edm.String | 唯一标识符。 |
Name |
Edm.String | 授权策略的友好名称。 |
KeyDeliveryType 必需。 |
Edm。 Int32 | 将内容密钥传递到客户端的方法。 KeyDeliveryType 可以是以下选项之一:None = 0,PlayReadyLicense = 1,BaselineHttp = 2) 。 |
KeyDeliveryConfiguration |
Edm.String | 特定于密钥传递类型的 Xml 数据,该类型定义了将密钥传递到客户端的方式。 |
Restrictions 必需。 |
ContentKeyAuthorizationPolicyRestriction ComplexType 属性的集合。 | 必须满足每个限制中定义的要求,才能使用密钥传递数据传递密钥。 |
ContentKeyAuthorizationPolicyRestriction ComplexType 属性
属性 | 类型 | 说明 |
---|---|---|
Name |
Edm.String | 限制的友好名称。 |
KeyRestrictionType 必需。 |
Edm。 Int32 | 限制的类型。 KeyRestrictionType 可以是以下选项之一:Open = 0,TokenRestricted = 1,IPRestricted = 2。 |
Requirements |
Edm。 String | 限制要求。 |
创建 ContentKeyAuthorizationPolicyOption
以下示例创建一个 ContentKeyAuthorizationPolicyOption,其中设置了以下值: Open
授权限制 ("KeyRestrictionType":0
) 和 BaselineHttp (MPEG 基线 HTTP 密钥协议) 密钥传送方法 ("KeyDeliveryType":2
) 。 可以在 Fiddler 的“编辑器”选项卡中试用该示例。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
请求标头:
POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1
Content-Type: application/json
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
x-ms-version: 2.19
请求正文:
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
如果成功,“已创建 HTTP/1.1 201”状态代码将与所创建实体的表示形式一起在响应正文中返回。
以下示例使用设置以下值创建 ContentKeyAuthorizationPolicyOption: Token
授权限制 () "KeyRestrictionType":1
和 BaselineHttp (MPEG 基线 HTTP 密钥协议) 密钥传送方法 ("KeyDeliveryType":2
) 。
若要获取最新的 x-ms-version:
,请参阅 媒体服务 REST。
请求标头:
POST https:/testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1
Content-Type: application/json
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
x-ms-version: 2.19
请求正文:
{
"Name":"Token option for HLS",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":null,
"Restrictions":[
{
"Name":"Token Authorization Policy",
"KeyRestrictionType":1,
"Requirements":"<TokenRestrictionTemplate xmlns:i=\"https://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.microsoft.com/Azure/MediaServices/KeyDelivery/TokenRestrictionTemplate/v1\"><AlternateVerificationKeys><TokenVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>dliLr1QQJrATxNuoss2Btvk1KxcDJDHvTgu7fII5LEMGAt1p6J1YAD7I0EVd6D69nEkNUlkSDXfgaJ3cswrf8g==</KeyValue></TokenVerificationKey></AlternateVerificationKeys><Audience>urn:test</Audience><Issuer>http://testacs.com/</Issuer><PrimaryVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>tqdCrSPGDZYJ4l3YyWR1NH7OdTvucBm7bU/ZQKPszV/hR54saMgyJK9bA9bay996NtNpcA0OruHETvy885g46A==</KeyValue></PrimaryVerificationKey><RequiredClaims><TokenClaim><ClaimType>urn:microsoft:azure:mediaservices:contentkeyidentifier</ClaimType><ClaimValue i:nil=\"true\" /></TokenClaim></RequiredClaims><TokenType>JWT</TokenType></TokenRestrictionTemplate>"
}
]
}