Partager via


ContentKeyAuthorizationPolicy

Media Services prend en charge plusieurs méthodes d’authentification des utilisateurs effectuant des demandes de clé. La stratégie d'autorisation de la clé de contenu doit être configurée par vous et respectée par le client (lecteur) afin que la clé soit remise au client. La stratégie d’autorisation des clés de contenu peut avoir une ou plusieurs restrictions d’autorisations : ouvert, restriction par jeton ou restriction IP. Vous utilisez ContentKeyAuthorizationPolicyOption pour spécifier les options d’autorisation. Vous ajoutez ensuite les options créées à ContentKeyAuthorizationPolicy.

Si vous prévoyez d'avoir plusieurs clés de contenu qui nécessitent un exemple de configuration de stratégie, il est fortement recommandé de créer une seule stratégie d'autorisation et de la réutiliser avec plusieurs clés de contenu.

Notez que le service Key Delivery met en cache et ses ContentKeyAuthorizationPolicy objets associés (options de stratégie et restrictions) pendant 15 minutes. Si vous créez une ContentKeyAuthorizationPolicy restriction et spécifiez d’utiliser une restriction « Jeton », puis testez-la, puis mettez à jour la stratégie vers la restriction « Ouvrir », il faudra environ 15 minutes avant que la stratégie bascule vers la version « Open » de la stratégie.

Cette rubrique décrit ContentKeyAuthorizationPolicy et montre comment utiliser cette entité.

Important

Lors de l’accès aux entités dans Media Services, vous devez définir les valeurs et les champs d’en-tête spécifiques dans vos requêtes HTTP.
Pour plus d’informations, consultez Configuration du développement d’API REST Media Services et Connexion à Media Services avec l’API REST Media Services.

Propriétés de l'entité ContentKeyAuthorizationPolicy

Propriété Type Description
Id

Lecture seule. Défini par Media Services.
Edm.String Identificateur unique.
Name Edm.String Nom convivial de la stratégie d'autorisation de clé de contenu.
Options Collection de ContentKeyAuthorizationPolicyOption. Une liste des différentes façons dont un client peut être autorisé à accéder à la clé de contenu.

Créer une ContentKeyAuthorizationPolicy

L'exemple suivant crée une entité ContentKeyAuthorizationPolicy. Vous pouvez essayer l’exemple dans l’onglet Compositeur de Fiddler.

Pour obtenir la dernière version x-ms-version:, consultez REST Media Services.

En-têtes de requête :

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  
  

Corps de la requête :

{"Name" : "Authorization Policy" }   

En cas de succès, un code d'état HTTP/1.1 201 Créé est retourné avec une représentation de l'entité créée dans le corps de la réponse.

Créer une ContentKeyAuthorizationPolicyOption

L’exemple suivant crée une contentKeyAuthorizationPolicyOption avec les valeurs suivantes définies : une restriction d’autorisation ("KeyRestrictionType":0) et une Open méthode de remise de clés BaselineHttp (protocole de clé HTTP de référence MPEG) ("KeyDeliveryType":2). Vous pouvez essayer l’exemple dans l’onglet Compositeur de Fiddler.

Pour obtenir la dernière version x-ms-version:, consultez REST Media Services.

En-têtes de requête :

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  

Corps de la requête :

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

En cas de succès, un code d'état HTTP/1.1 201 Créé est retourné avec une représentation de l'entité créée dans le corps de la réponse.

L’exemple suivant crée une méthode de remise de clés ContentKeyAuthorizationPolicyOption avec les valeurs suivantes définies : une restriction d’autorisation ("KeyRestrictionType":1) et une Token méthode de remise de clés BaselineHttp (protocole DE clé HTTP de référence MPEG) ("KeyDeliveryType":2).

Pour obtenir la dernière version x-ms-version:, consultez REST Media Services.

En-têtes de requête :

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  
  

Corps de la requête :

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

Associer des options à ContentKeyAuthorizationPolicy

L'exemple suivant associe ContentKeyAuthorizationPolicyOption à ContentKeyAuthorizationPolicy. Vous pouvez essayer l’exemple dans l’onglet Compositeur de Fiddler.

Pour obtenir la dernière version x-ms-version:, consultez REST Media Services.

En-têtes de requête :

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  
  

Corps de la requête :

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

En cas de succès, un code d'état HTTP/1.1 200 OK est retourné avec une représentation de l'entité créée dans le corps de la réponse.