ContentKeyAuthorizationPolicyOption
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.
ContentKeyAuthorizationPolicyOption
Służy do określania opcji autoryzacji. Następnie dodaj utworzone opcje do elementu ContentKeyAuthorizationPolicy
.
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 ContentKeyAuthorizationPolicyOption
i pokazano, jak używać tej jednostki. Aby uzyskać bardziej kompletny przykład, który pokazuje, jak skojarzyć ContentKeyAuthorizationPolicyOption
z elementem ContentKeyAuthorizationPolicy
, zobacz ContentKeyAuthorizationPolicy.
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 ContentKeyAuthorizationPolicyOption
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. |
KeyDeliveryType Wymagane. |
Edm. Int32 | Metoda dostarczania klucza zawartości do klienta. KeyDeliveryType może być jedną z następujących wartości: None = 0, PlayReadyLicense = 1, BaselineHttp = 2). |
KeyDeliveryConfiguration |
Edm.String | Dane XML specyficzne dla typu dostarczania klucza, który definiuje sposób dostarczania klucza do klienta. |
Restrictions Wymagane. |
Kolekcja właściwości ContentKeyAuthorizationPolicyRestriction ComplexType. | Aby dostarczyć klucz przy użyciu danych dostarczania kluczy, należy spełnić wymagania zdefiniowane w każdym ograniczeniu. |
Właściwości Obiektu ContentKeyAuthorizationPolicyRestriction ComplexType
Właściwość | Typ | Opis |
---|---|---|
Name |
Edm.String | Przyjazna nazwa ograniczenia. |
KeyRestrictionType Wymagane. |
Edm. Int32 | Typ ograniczenia. KeyRestrictionType może być jedną z następujących wartości: Open = 0, TokenRestricted = 1, IPRestricted = 2. |
Requirements |
Edm. Ciąg | Wymagania dotyczące ograniczeń. |
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>"
}
]
}