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 ContentKeyAuthorizationPolicyOption
ContentKeyAuthorizationPolicy
ao , 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>"
}
]
}