ContentKeyAuthorizationPolicy
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. Use ContentKeyAuthorizationPolicyOption para especificar las opciones de autorización. A continuación, agrega las opciones creadas a ContentKeyAuthorizationPolicy
.
Si planea tener varias claves de contenido que requieran la configuración de directiva de muestra, se recomienda crear una directiva de autorización única y volver a usarla con varias claves de contenido.
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 ContentKeyAuthorizationPolicy
y muestra cómo utilizarla.
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 ContentKeyAuthorizationPolicy
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 de la clave de contenido. |
Options |
Colección de ContentKeyAuthorizationPolicyOptions. | Una lista de las diferentes maneras en que puede autorizarse a un cliente para acceder a la clave de contenido. |
Crear ContentKeyAuthorizationPolicy
En el ejemplo siguiente se crea una ContentKeyAuthorizationPolicy. 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/ContentKeyAuthorizationPolicies
Content-Type: application/json
DataServiceVersion: 1.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" : "Authorization Policy" }
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.
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>"
}
]
}
Asociar opciones con ContentKeyAuthorizationPolicy
En el ejemplo siguiente se asocia ContentKeyAuthorizationPolicy con ContentKeyAuthorizationPolicyOption. 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/ContentKeyAuthorizationPolicies('nb%3Ackpid%3AUUID%3Ac0a7c7cb-09c2-4306-86f5-9e9dc718cd90')/$links/Options
DataServiceVersion: 1.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
Content-Type: application/json
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
x-ms-version: 2.19
Cuerpo de la solicitud:
{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }
Si es correcto, se devolverá un código de estado HTTP/1.1 200 OK junto con una representación de la entidad creada en el cuerpo de respuesta.