ContentKeyAuthorizationPolicyOption

Media Services admite varias formas de autenticar a los usuarios que realizan solicitudes de clave. El usuario debe configurar la directiva de autorización de claves y el cliente (reproductor) debe conocerla para que se le entregue la clave. La directiva de autorización de clave de acceso podría tener una o más restricciones de autorización: abrir, restricción de token o restricción de IP. Usa ContentKeyAuthorizationPolicyOption para especificar las opciones de autorización. A continuación, agrega las opciones creadas a ContentKeyAuthorizationPolicy.

Tenga en cuenta que el servicio de entrega de claves almacena en caché ContentKeyAuthorizationPolicy y sus objetos relacionados (opciones y restricciones de directiva) durante 15 minutos. Si crea y ContentKeyAuthorizationPolicy especifica usar una restricción de "Token", pruébela y, a continuación, actualice la directiva a la restricción "Abrir", la directiva tardará aproximadamente 15 minutos antes de que la directiva cambie a la versión "Abrir" de la directiva.

Este tema describe la entidad ContentKeyAuthorizationPolicyOption y muestra cómo utilizarla. Para obtener un ejemplo más completo, que muestra cómo asociar ContentKeyAuthorizationPolicyOptionContentKeyAuthorizationPolicycon , vea ContentKeyAuthorizationPolicy.

Importante

Al obtener acceso a las entidades de Media Services, debe establecer los campos de encabezado específicos y los valores en las solicitudes HTTP.
Para obtener más información, consulte Configuración para el desarrollo de api REST de Media Services y conexión a Media Services con la API REST de Media Services.

Propiedades de la entidad ContentKeyAuthorizationPolicyOption

Propiedad Tipo Descripción
Id

Solo lectura. Establecido por Servicios multimedia.
Edm.String Identificador único.
Name Edm.String Nombre descriptivo de la directiva de autorización.
KeyDeliveryType

Necesario.
Edm. Int32 Método de entrega de la clave de contenido al cliente.

KeyDeliveryType podría ser uno de los siguientes: None = 0, PlayReadyLicense = 1, BaselineHttp = 2).
KeyDeliveryConfiguration Edm.String Datos XML, específicos del tipo de entrega de clave que define cómo se entrega la clave al cliente.
Restrictions

Necesario.
Colección de propiedades ComplexType ContentKeyAuthorizationPolicyRestriction. Deben cumplirse los requisitos definidos en cada restricción para entregar la clave usando los datos de entrega de clave.

Propiedades de ContentKeyAuthorizationPolicyRestriction ComplexType

Propiedad Tipo Descripción
Name Edm.String Nombre descriptivo de la restricción.
KeyRestrictionType

Necesario.
Edm. Int32 Tipo de restricción.

KeyRestrictionType podría ser uno de los siguientes: Open = 0, TokenRestricted = 1, IPRestricted = 2.
Requirements Edm. String Requisitos de la restricción.

Crear ContentKeyAuthorizationPolicyOption

En el ejemplo siguiente se crea un contentKeyAuthorizationPolicyOption con los siguientes valores establecidos: un Open método"KeyDeliveryType":2 de entrega de claves de restricción de autorización ("KeyRestrictionType":0) y BaselineHttp (protocolo de clave HTTP de línea de base MPEG). Puede probar el ejemplo en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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  

Cuerpo de la solicitud:

  
{    
   "Name":"policy",  
   "KeyDeliveryType":2,  
   "KeyDeliveryConfiguration":"",  
   "Restrictions":[    
      {    
         "Name":"HLS Open Authorization Policy",  
         "KeyRestrictionType":0,  
         "Requirements":null  
      }  
   ]  
}  

Si es correcto, se devolverá un código de estado HTTP/1.1 201 Created junto con una representación de la entidad creada en el cuerpo de respuesta.

En el ejemplo siguiente se crea un contentKeyAuthorizationPolicyOption con los siguientes valores establecidos: un Token método"KeyDeliveryType":2 de entrega de claves de restricción de autorización ("KeyRestrictionType":1) y BaselineHttp (protocolo de clave HTTP de línea de base MPEG).

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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  
  

Cuerpo de la solicitud:

{    
   "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>"  
      }  
   ]  
}