Freigeben über


ContentKeyAuthorizationPolicyOption

Media Services unterstützt mehrere Möglichkeiten zur Authentifizierung von Benutzern, die Schlüssel anfordern. Die Inhaltsschlüssel-Authentifizierungsrichtlinie muss von Ihnen konfiguriert und vom Client (Player) erfüllt werden, damit der Schlüssel an den Client übermittelt wird. Die Autorisierungsrichtlinie für Inhaltsschlüssel kann eine oder mehrere Autorisierungseinschränkungen aufweisen: offen, Tokeneinschränkung oder IP-Einschränkung. Sie verwenden ContentKeyAuthorizationPolicyOption, um die Optionen für die Autorisierung anzugeben. Dann fügen Sie die erstellten Optionen zu ContentKeyAuthorizationPolicy hinzu.

Beachten Sie, dass der Schlüsselbereitstellungsdienst ContentKeyAuthorizationPolicy und die zugehörigen Objekte (Richtlinienoptionen und -einschränkungen) 15 Minuten lang zwischenspeichert. Wenn Sie eine ContentKeyAuthorizationPolicy erstellen und die Verwendung einer Einschränkung vom Typ "Token" angeben, die Richtlinie dann testen und anschließend die Richtlinie auf die Einschränkung "Offen" aktualisieren, dauert es ungefähr 15 Minuten, bis die Richtlinie in die Version "Offen" der Richtlinie wechselt.

In diesem Thema wird ContentKeyAuthorizationPolicyOption beschrieben und gezeigt, wie Sie diese Entität verwenden. Ein vollständiges Beispiel, das zeigt, wie Mit zugeordnet wird ContentKeyAuthorizationPolicyOptionContentKeyAuthorizationPolicy, finden Sie unter ContentKeyAuthorizationPolicy.

Wichtig

Wenn Sie in Media Services auf Entitäten zugreifen, müssen Sie bestimmte Headerfelder und Werte in Ihren HTTP-Anforderungen festlegen.
Weitere Informationen finden Sie unter Einrichten der Media Services-REST-API-Entwicklung und Herstellen einer Verbindung mit Media Services mit der Media Services-REST-API.

Eigenschaften der Entität "ContentKeyAuthorizationPolicyOption"

Eigenschaft type BESCHREIBUNG
Id

Schreibgeschützt. Wird von Media Services festgelegt.
Edm.String Eindeutiger Bezeichner.
Name Edm.String Anzeigename der Autorisierungsrichtlinie.
KeyDeliveryType

Erforderlich.
Edm. Int32 Übermittlungsmethode des Inhaltsschlüssels zum Client.

KeyDeliveryType kann einer der folgenden Werte sein: None = 0, PlayReadyLicense = 1, BaselineHttp = 2).
KeyDeliveryConfiguration Edm.String Für den Schlüsselübermittlungstyp spezifische XML-Daten, die definieren, wie der Schlüssel an den Client übermittelt wird.
Restrictions

Erforderlich.
Eine Auflistung der ComplexType-Eigenschaften von ContentKeyAuthorizationPolicyRestriction. In jeder Einschränkung definierte Anforderungen müssen erfüllt werden, um den Schlüssel mithilfe der Schlüsselübermittlungsdaten zu übermitteln.

Eigenschaften des "ComplexType" "ContentKeyAuthorizationPolicyRestriction"

Eigenschaft type BESCHREIBUNG
Name Edm.String Anzeigename der Einschränkung.
KeyRestrictionType

Erforderlich.
Edm. Int32 Der Einschränkungstyp.

KeyRestrictionType kann einer der folgenden Sein: Open = 0, TokenRestricted = 1, IPRestricted = 2.
Requirements Edm. String Einschränkungsanforderungen.

Erstellen von ContentKeyAuthorizationPolicyOption

Das folgende Beispiel erstellt eine "ContentKeyAuthorizationPolicyOption" mit den folgenden Werten: eine Open-Autorisierungseinschränkung ("KeyRestrictionType":0) und die BaselineHttp-Schlüsselbereitstellungsmethode (MPEG-Baseline-HTTP-Schlüsselprotokoll ("KeyDeliveryType":2). Sie können das Beispiel auf der Registerkarte Fiddler es Composer ausprobieren.

Informationen zum Aktuellen x-ms-version:finden Sie unter Media Services REST.

Anforderungsheader:

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  

Anforderungstext:

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

Bei Erfolg wird der Statuscode HTTP/1.1 201 Created mit einer Darstellung der erstellten Entität im Antworttext zurückgegeben.

Das folgende Beispiel erstellt eine "ContentKeyAuthorizationPolicyOption" mit den folgenden Werten: eine Token-Autorisierungseinschränkung ("KeyRestrictionType":1) und die BaselineHttp-Schlüsselbereitstellungsmethode (MPEG-Baseline-HTTP-Schlüsselprotokoll ("KeyDeliveryType":2).

Informationen zum Aktuellen x-ms-version:finden Sie unter Media Services REST.

Anforderungsheader:

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  
  

Anforderungstext:

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