ContentKeyAuthorizationPolicy
Usługa Media Services obsługuje wiele sposobów uwierzytelniania użytkowników, którzy tworzą żądania klucza. Zasady autoryzacji klucza zawartości muszą zostać skonfigurowane przez użytkownika i muszą być spełnione przez klienta (odtwarzacz), aby klucz zawartości został dostarczony do klienta. Zasady autoryzacji klucza zawartości mogą mieć co najmniej jedno ograniczenie autoryzacji: otwarte, ograniczenie tokenu lub ograniczenie adresu IP. Aby określić opcje autoryzacji, należy użyć elementu ContentKeyAuthorizationPolicyOption . Następnie dodaj utworzone opcje do elementu ContentKeyAuthorizationPolicy
.
Jeśli planujesz posiadanie wielu kluczy zawartości, które wymagają przykładowej konfiguracji zasad, zdecydowanie zaleca się utworzenie pojedynczych zasad autoryzacji i ponowne użycie ich przy użyciu wielu kluczy zawartości.
Należy pamiętać, że usługa dostarczania kluczy buforuje ContentKeyAuthorizationPolicy
i powiązane z nią obiekty (opcje zasad i ograniczenia) przez 15 minut. Jeśli utworzysz ContentKeyAuthorizationPolicy
i określisz użycie ograniczenia "Token", przetestujesz je, a następnie zaktualizujesz zasady do ograniczenia "Otwórz", zanim zasady przełączą się do wersji "Otwórz" zasad, potrwa około 15 minut.
W tym temacie opisano ContentKeyAuthorizationPolicy
i pokazano, jak używać tej jednostki.
Ważne
Podczas uzyskiwania dostępu do jednostek w usłudze Media Services należy ustawić określone pola nagłówka i wartości w żądaniach HTTP.
Aby uzyskać więcej informacji, zobacz Setup for Media Services REST API Development (Konfigurowanie tworzenia interfejsu API REST usługi Media Services) i Connecting to Media Services with the Media Services REST API (Nawiązywanie połączenia z usługą Media Services za pomocą interfejsu API REST usługi Media Services).
Właściwości jednostki ContentKeyAuthorizationPolicy
Właściwość | Typ | Opis |
---|---|---|
Id Tylko do odczytu. Ustawiane przez usługę Media Services. |
Edm.String | Unikatowy identyfikator. |
Name |
Edm.String | Przyjazna nazwa zasad autoryzacji klucza zawartości. |
Options |
Kolekcja elementów ContentKeyAuthorizationPolicyOptions. | Lista różnych sposobów autoryzacji klienta do uzyskiwania dostępu do klucza zawartości. |
Tworzenie elementu ContentKeyAuthorizationPolicy
Poniższy przykład tworzy zasady ContentKeyAuthorizationPolicy. Przykład można wypróbować na karcie Composer programu Fiddler.
Aby uzyskać najnowszą wersję x-ms-version:
, zobacz Artykuł Usługa Media Services REST.
Nagłówki żądań:
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
Treść żądania:
{"Name" : "Authorization Policy" }
W przypadku powodzenia zostanie zwrócony kod stanu HTTP/1.1 201 Utworzony wraz z reprezentacją utworzonej jednostki w treści odpowiedzi.
Tworzenie elementu ContentKeyAuthorizationPolicyOption
Poniższy przykład tworzy metodę dostarczania"KeyDeliveryType":2
klucza HTTP ContentKeyAuthorizationPolicyOption z następującymi wartościami: Open
ograniczenie autoryzacji ("KeyRestrictionType":0
) i baselineHttp (protokół klucza HTTP punktu odniesienia MPEG). Przykład można wypróbować na karcie Composer programu Fiddler.
Aby uzyskać najnowszą wersję x-ms-version:
, zobacz Artykuł Usługa Media Services REST.
Nagłówki żądań:
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
Treść żądania:
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
W przypadku powodzenia zostanie zwrócony kod stanu HTTP/1.1 201 Utworzony wraz z reprezentacją utworzonej jednostki w treści odpowiedzi.
Poniższy przykład tworzy metodę dostarczania"KeyDeliveryType":2
klucza HTTP ContentKeyAuthorizationPolicyOption z następującymi wartościami: Token
ograniczenie autoryzacji ("KeyRestrictionType":1
) i baselineHttp (protokół klucza HTTP punktu odniesienia MPEG).
Aby uzyskać najnowszą wersję x-ms-version:
, zobacz Artykuł Usługa Media Services REST.
Nagłówki żądań:
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
Treść żądania:
{
"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>"
}
]
}
Kojarzenie opcji z elementem ContentKeyAuthorizationPolicy
Poniższy przykład kojarzy element ContentKeyAuthorizationPolicy z elementem ContentKeyAuthorizationPolicyOption. Przykład można wypróbować na karcie Composer programu Fiddler.
Aby uzyskać najnowszą wersję x-ms-version:
, zobacz Artykuł Usługa Media Services REST.
Nagłówki żądań:
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
Treść żądania:
{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }
W przypadku powodzenia zwracany jest kod stanu HTTP/1.1 200 OK wraz z reprezentacją utworzonej jednostki w treści odpowiedzi.