ContentKeyAuthorizationPolicy
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 Autorisierungsoptionen anzugeben. Dann fügen Sie die erstellten Optionen zu ContentKeyAuthorizationPolicy
hinzu.
Wenn Sie planen, mehrere Inhaltsschlüssel zu verwenden, die die Beispielrichtlinienkonfiguration erfordern, wird dringend empfohlen, eine Autorisierungsrichtlinie zu erstellen und diese dann mit mehreren Inhaltsschlüsseln wiederzuverwenden.
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 ContentKeyAuthorizationPolicy
beschrieben und gezeigt, wie Sie diese Entität verwenden.
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 "ContentKeyAuthorizationPolicy"
Eigenschaft | type | BESCHREIBUNG |
---|---|---|
Id Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.String | Eindeutiger Bezeichner. |
Name |
Edm.String | Anzeigename der Autorisierungsrichtlinie für den Inhaltsschlüssel. |
Options |
Eine Auflistung von ContentKeyAuthorizationPolicyOptions. | Eine Liste unterschiedlicher Möglichkeiten, wie ein Client für den Zugriff auf den Inhaltsschlüssel autorisiert werden kann. |
Erstellen von ContentKeyAuthorizationPolicy
Im folgende Beispiel wird eine "ContentKeyAuthorizationPolicy" erstellt. Sie können das Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
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
Anforderungstext:
{"Name" : "Authorization Policy" }
Bei Erfolg wird der Statuscode HTTP/1.1 201 Created mit einer Darstellung der erstellten Entität im Antworttext zurückgegeben.
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's 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>"
}
]
}
Zuordnen von Optionen mit "ContentKeyAuthorizationPolicy"
Das folgende Beispiel ordnet "ContentKeyAuthorizationPolicy" zu "ContentKeyAuthorizationPolicyOption" zu. Sie können das Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
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
Anforderungstext:
{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }
Bei Erfolg wird der Statuscode HTTP/1.1 200 OK mit einer Darstellung der erstellten Entität im Antworttext zurückgegeben.