Partilhar via


ContentKeyAuthorizationPolicyOption

Os Media Services suportam várias formas de autenticar utilizadores que efetuam pedidos de chave. A política de autorização da chave de conteúdo tem de ser configurada por si e cumprida pelo cliente (leitor) para que a chave seja entregue ao cliente. A política de autorização da chave de conteúdo pode ter uma ou mais restrições de autorização: restrição de tokens abertos ou restrições de IP. ContentKeyAuthorizationPolicyOption Utilize para especificar as opções de autorização. Em seguida, adicione as opções criadas a ContentKeyAuthorizationPolicy.

Tenha em atenção que o serviço Entrega de Chaves coloca em cache e os respetivos ContentKeyAuthorizationPolicy objetos relacionados (opções de política e restrições) durante 15 minutos. Se criar e ContentKeyAuthorizationPolicy especificar para utilizar uma restrição de "Token", teste-a e, em seguida, atualize a política para a restrição "Abrir", demorará cerca de 15 minutos até a política mudar para a versão "Abrir" da política.

Este tópico descreve ContentKeyAuthorizationPolicyOption e mostra como utilizar esta entidade. Para obter um exemplo mais completo, que mostra como associar ContentKeyAuthorizationPolicyOptionContentKeyAuthorizationPolicyao , veja ContentKeyAuthorizationPolicy.

Importante

Ao aceder a entidades nos Serviços de Multimédia, tem de definir campos e valores de cabeçalho específicos nos seus pedidos HTTP.
Para obter mais informações, veja Setup for Media Services REST API Development and Connecting to Media Services with the Media Services REST API (Configurar o Desenvolvimento da API REST dos Serviços de Multimédia e Ligar aos Serviços de Multimédia com a API REST dos Serviços de Multimédia).

Propriedades da Entidade ContentKeyAuthorizationPolicyOption

Propriedade Tipo Description
Id

Só de leitura. Definido pelos Serviços de Multimédia.
Edm.String Identificador exclusivo.
Name Edm.String Nome amigável da política de autorização.
KeyDeliveryType

Obrigatório.
Edm. Int32 Método de entrega da chave de conteúdo para o cliente.

KeyDeliveryType pode ser um dos seguintes: None = 0, PlayReadyLicense = 1, BaselineHttp = 2).
KeyDeliveryConfiguration Edm.String Dados Xml, específicos do tipo de entrega da chave que define a forma como a chave é entregue ao cliente.
Restrictions

Obrigatório.
Uma coleção de Propriedades ContentKeyAuthorizationPolicyRestriction ComplexType. Os requisitos definidos em cada restrição têm de ser cumpridos para fornecer a chave com os dados de entrega da chave.

Propriedades ContentKeyAuthorizationPolicyRestriction ComplexType

Propriedade Tipo Description
Name Edm.String Nome amigável da restrição.
KeyRestrictionType

Obrigatório.
Edm. Int32 Tipo de restrição.

KeyRestrictionType pode ser um dos seguintes: Aberto = 0, TokenRestricted = 1, IPRestricted = 2.
Requirements Edm. String Requisitos de restrição.

Criar ContentKeyAuthorizationPolicyOption

O exemplo seguinte cria um ContentKeyAuthorizationPolicyOption com os seguintes valores definidos: um Open método de entrega de chaves de restrição de autorização ("KeyRestrictionType":0) e BaselineHttp (protocolo de chave HTTP de linha de base MPEG) ("KeyDeliveryType":2). Pode experimentar o exemplo no separador Compositor do Fiddler.

Para obter a versão mais recente x-ms-version:, consulte REST dos Serviços de Multimédia.

Cabeçalhos de pedido:

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  

Corpo do pedido:

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

Se for bem-sucedido, é devolvido um código de estado HTTP/1.1 201 Criado juntamente com uma representação da entidade criada no corpo da resposta.

O exemplo seguinte cria um ContentKeyAuthorizationPolicyOption com os seguintes valores definidos: um Token método de entrega de chaves de restrição de autorização ("KeyRestrictionType":1) e BaselineHttp (protocolo de chave HTTP de linha de base MPEG) ("KeyDeliveryType":2).

Para obter a versão mais recente x-ms-version:, consulte REST dos Serviços de Multimédia.

Cabeçalhos de pedido:

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  
  

Corpo do pedido:

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