Delen via


ContentKeyAuthorizationPolicy

Media Services ondersteunt meerdere manieren om gebruikers te verifiëren die sleutels aanvragen. U moet het autorisatiebeleid voor inhoudssleutels hebben geconfigureerd en de client (speler) moet aan dit beleid voldoen om de sleutel aan de client te kunnen leveren. Het autorisatiebeleid voor inhoudssleutels kan een of meer autorisatiebeperkingen hebben: open, tokenbeperking of IP-beperking. U gebruikt ContentKeyAuthorizationPolicyOption om de autorisatieopties op te geven. Vervolgens voegt u de gemaakte opties toe aan ContentKeyAuthorizationPolicy.

Als u van plan bent om meerdere inhoudssleutels te hebben waarvoor de configuratie van het voorbeeldbeleid is vereist, is het raadzaam om één autorisatiebeleid te maken en dit opnieuw te gebruiken met meerdere inhoudssleutels.

Houd er rekening mee dat de Key Delivery-service en de bijbehorende objecten (beleidsopties en beperkingen) gedurende 15 minuten in de cache ContentKeyAuthorizationPolicy opslaat. Als u een ContentKeyAuthorizationPolicy maakt en opgeeft dat u een tokenbeperking wilt gebruiken, deze vervolgens test en vervolgens het beleid bijwerkt naar de beperking Openen, duurt het ongeveer 15 minuten voordat het beleid overschakelt naar de 'Open'-versie van het beleid.

In dit onderwerp wordt beschreven ContentKeyAuthorizationPolicy hoe u deze entiteit gebruikt.

Belangrijk

Bij het openen van entiteiten in Media Services moet u specifieke headervelden en -waarden instellen in uw HTTP-aanvragen.
Zie Setup for Media Services REST API Development and Connecting to Media Services with the Media Services REST API (Verbinding maken met Media Services met de Media Services REST API) voor meer informatie.

Eigenschappen van de entiteit ContentKeyAuthorizationPolicy

Eigenschap Type Beschrijving
Id

Alleen-lezen. Ingesteld door Media Services.
Edm.String Unieke id.
Name Edm.String Beschrijvende naam van het autorisatiebeleid voor inhoudssleutels.
Options Een verzameling ContentKeyAuthorizationPolicyOptions. Een lijst met verschillende manieren waarop een client kan worden gemachtigd voor toegang tot de inhoudssleutel.

ContentKeyAuthorizationPolicy maken

In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicy gemaakt. U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.

Zie Media Services REST voor de meest recente x-ms-version:versie.

Aanvraagheaders:

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  
  

Aanvraagtekst:

{"Name" : "Authorization Policy" }   

Als dit lukt, wordt de statuscode HTTP/1.1 201 Created geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.

ContentKeyAuthorizationPolicyOption maken

In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicyOption gemaakt met de volgende waarden ingesteld: een Open autorisatiebeperking ("KeyRestrictionType":0) en de sleutelleveringsmethode BaselineHttp (HTTP-sleutelprotocol mpeg-basislijn) ("KeyDeliveryType":2). U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.

Zie Media Services REST voor de meest recente x-ms-version:versie.

Aanvraagheaders:

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  

Aanvraagtekst:

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

Als dit lukt, wordt de statuscode HTTP/1.1 201 Created geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.

In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicyOption gemaakt met de volgende waarden ingesteld: een Token autorisatiebeperking ("KeyRestrictionType":1) en de sleutelleveringsmethode BaselineHttp (MPEG Baseline HTTP-sleutelprotocol) ("KeyDeliveryType":2).

Zie Media Services REST voor de meest recente x-ms-version:versie.

Aanvraagheaders:

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  
  

Aanvraagtekst:

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

Opties koppelen aan ContentKeyAuthorizationPolicy

In het volgende voorbeeld wordt ContentKeyAuthorizationPolicy gekoppeld aan ContentKeyAuthorizationPolicyOption. U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.

Zie Media Services REST voor de meest recente x-ms-version:versie.

Aanvraagheaders:

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  
  

Aanvraagtekst:

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

Als dit lukt, wordt een HTTP/1.1 200 OK-statuscode geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.