ContentKeyAuthorizationPolicyOption
Služba Media Services podporuje více způsobů ověřování uživatelů, kteří žádají o klíč. Zásady autorizace pro klíč k obsahu musíte vy nakonfigurovat a klient (přehrávač) splnit, aby bylo možné mu klíč doručit. Zásady autorizace klíče obsahu můžou mít jedno nebo více omezení autorizace: otevření, omezení tokenu nebo omezení IP adresy. Použijete ContentKeyAuthorizationPolicyOption
k určení možností autorizace. Potom přidáte vytvořené možnosti do ContentKeyAuthorizationPolicy
.
Všimněte si, že služba doručování klíčů a související objekty ContentKeyAuthorizationPolicy
(možnosti a omezení zásad) ukládá do mezipaměti po dobu 15 minut. Pokud vytvoříte ContentKeyAuthorizationPolicy
omezení tokenu a zadáte ho, otestujete ho a pak zásadu aktualizujete na omezení Otevřít, bude trvat přibližně 15 minut, než se zásada přepne na otevřenou verzi zásady.
Toto téma popisuje ContentKeyAuthorizationPolicyOption
a ukazuje, jak tuto entitu používat. Úplnější příklad, který ukazuje, jak přidružit ContentKeyAuthorizationPolicyOption
ContentKeyAuthorizationPolicy
k , najdete v tématu ContentKeyAuthorizationPolicy.
Důležité
Při přístupu k entitě ve službě Media Services musíte v požadavcích HTTP nastavit konkrétní pole hlaviček a hodnoty.
Další informace najdete v tématu Nastavení pro vývoj rozhraní REST API služby Media Services a připojení ke službě Media Services pomocí rozhraní REST API služby Media Services.
Vlastnosti entity ContentKeyAuthorizationPolicyOption
Vlastnost | Typ | Description |
---|---|---|
Id Jen pro čtení. Nastaveno službou Media Services. |
Edm.String | Jedinečný identifikátor. |
Name |
Edm.String | Popisný název zásady autorizace |
KeyDeliveryType Povinná hodnota. |
Edm. Int32 | Metoda doručení klíče obsahu klientovi. KeyDeliveryType může mít jednu z následujících možností: None = 0, PlayReadyLicense = 1, BaselineHttp = 2). |
KeyDeliveryConfiguration |
Edm.String | Data XML specifická pro typ doručení klíče, který definuje způsob doručování klíče klientovi. |
Restrictions Povinná hodnota. |
Kolekce ContentKeyAuthorizationPolicyRestriction ComplexType Propertiess. | Aby bylo možné klíč doručit pomocí dat o doručení klíče, musí být splněny požadavky definované v jednotlivých omezeních. |
Vlastnosti ContentKeyAuthorizationPolicyRestriction ComplexType
Vlastnost | Typ | Description |
---|---|---|
Name |
Edm.String | Popisný název omezení |
KeyRestrictionType Povinná hodnota. |
Edm. Int32 | Typ omezení. KeyRestrictionType může být jedna z následujících možností: Open = 0, TokenRestricted = 1, IPRestricted = 2. |
Requirements |
Edm. Řetězec | Požadavky na omezení. |
Vytvoření ContentKeyAuthorizationPolicyOption
Následující příklad vytvoří ContentKeyAuthorizationPolicyOption s následujícími hodnotami nastavenými: Open
autorizační omezení ("KeyRestrictionType":0
) a metoda"KeyDeliveryType":2
doručování klíče BaselineHttp (MPEG baseline HTTP Key Protocol). Příklad si můžete vyzkoušet na kartě Fiddlerův skladatel.
Nejnovější verzi najdete v x-ms-version:
tématu Rest služby Media Services.
Hlavičky požadavků:
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
Text požadavku:
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
V případě úspěchu se vrátí stavový kód HTTP/1.1 201 Created spolu s reprezentací vytvořené entity v textu odpovědi.
Následující příklad vytvoří ContentKeyAuthorizationPolicyOption s následujícími hodnotami nastavenými: Token
autorizační omezení ("KeyRestrictionType":1
) a metoda"KeyDeliveryType":2
doručování klíče BaselineHttp (MPEG baseline HTTP Key Protocol).
Nejnovější verzi najdete v x-ms-version:
tématu Rest služby Media Services.
Hlavičky požadavků:
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
Text požadavku:
{
"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>"
}
]
}