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