Udostępnij za pośrednictwem


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.