Partilhar via


ContentKeyAuthorizationPolicy

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. Utilize ContentKeyAuthorizationPolicyOption para especificar as opções de autorização. Em seguida, adicione as opções criadas a ContentKeyAuthorizationPolicy.

Se planeia ter várias chaves de conteúdo que requerem a configuração da política de exemplo, recomendamos vivamente que crie uma única política de autorização e a reutilize com várias chaves de conteúdo.

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 ContentKeyAuthorizationPolicy e mostra como utilizar esta entidade.

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 ContentKeyAuthorizationPolicy

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 da chave de conteúdo.
Options Uma coleção de ContentKeyAuthorizationPolicyOptions. Uma lista de formas diferentes como um cliente pode ser autorizado a aceder à chave de conteúdo.

Criar ContentKeyAuthorizationPolicy

O exemplo seguinte cria uma ContentKeyAuthorizationPolicy. 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/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  
  

Corpo do pedido:

{"Name" : "Authorization Policy" }   

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.

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

Opções de associação a ContentKeyAuthorizationPolicy

O exemplo seguinte associa ContentKeyAuthorizationPolicy a ContentKeyAuthorizationPolicyOption. 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/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  
  

Corpo do pedido:

{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }  
  

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