ContentKeyAuthorizationPolicy
Media Services ondersteunt meerdere manieren om gebruikers te verifiëren die sleutels aanvragen. U moet het autorisatiebeleid voor inhoudssleutels hebben geconfigureerd en de client (speler) moet aan dit beleid voldoen om de sleutel aan de client te kunnen leveren. Het autorisatiebeleid voor inhoudssleutels kan een of meer autorisatiebeperkingen hebben: open, tokenbeperking of IP-beperking. U gebruikt ContentKeyAuthorizationPolicyOption om de autorisatieopties op te geven. Vervolgens voegt u de gemaakte opties toe aan ContentKeyAuthorizationPolicy
.
Als u van plan bent om meerdere inhoudssleutels te hebben waarvoor de configuratie van het voorbeeldbeleid is vereist, is het raadzaam om één autorisatiebeleid te maken en dit opnieuw te gebruiken met meerdere inhoudssleutels.
Houd er rekening mee dat de Key Delivery-service en de bijbehorende objecten (beleidsopties en beperkingen) gedurende 15 minuten in de cache ContentKeyAuthorizationPolicy
opslaat. Als u een ContentKeyAuthorizationPolicy
maakt en opgeeft dat u een tokenbeperking wilt gebruiken, deze vervolgens test en vervolgens het beleid bijwerkt naar de beperking Openen, duurt het ongeveer 15 minuten voordat het beleid overschakelt naar de 'Open'-versie van het beleid.
In dit onderwerp wordt beschreven ContentKeyAuthorizationPolicy
hoe u deze entiteit gebruikt.
Belangrijk
Bij het openen van entiteiten in Media Services moet u specifieke headervelden en -waarden instellen in uw HTTP-aanvragen.
Zie Setup for Media Services REST API Development and Connecting to Media Services with the Media Services REST API (Verbinding maken met Media Services met de Media Services REST API) voor meer informatie.
Eigenschappen van de entiteit ContentKeyAuthorizationPolicy
Eigenschap | Type | Beschrijving |
---|---|---|
Id Alleen-lezen. Ingesteld door Media Services. |
Edm.String | Unieke id. |
Name |
Edm.String | Beschrijvende naam van het autorisatiebeleid voor inhoudssleutels. |
Options |
Een verzameling ContentKeyAuthorizationPolicyOptions. | Een lijst met verschillende manieren waarop een client kan worden gemachtigd voor toegang tot de inhoudssleutel. |
ContentKeyAuthorizationPolicy maken
In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicy gemaakt. U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.
Zie Media Services REST voor de meest recente x-ms-version:
versie.
Aanvraagheaders:
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
Aanvraagtekst:
{"Name" : "Authorization Policy" }
Als dit lukt, wordt de statuscode HTTP/1.1 201 Created geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.
ContentKeyAuthorizationPolicyOption maken
In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicyOption gemaakt met de volgende waarden ingesteld: een Open
autorisatiebeperking ("KeyRestrictionType":0
) en de sleutelleveringsmethode BaselineHttp (HTTP-sleutelprotocol mpeg-basislijn) ("KeyDeliveryType":2
). U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.
Zie Media Services REST voor de meest recente x-ms-version:
versie.
Aanvraagheaders:
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
Aanvraagtekst:
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
Als dit lukt, wordt de statuscode HTTP/1.1 201 Created geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.
In het volgende voorbeeld wordt een ContentKeyAuthorizationPolicyOption gemaakt met de volgende waarden ingesteld: een Token
autorisatiebeperking ("KeyRestrictionType":1
) en de sleutelleveringsmethode BaselineHttp (MPEG Baseline HTTP-sleutelprotocol) ("KeyDeliveryType":2
).
Zie Media Services REST voor de meest recente x-ms-version:
versie.
Aanvraagheaders:
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
Aanvraagtekst:
{
"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>"
}
]
}
Opties koppelen aan ContentKeyAuthorizationPolicy
In het volgende voorbeeld wordt ContentKeyAuthorizationPolicy gekoppeld aan ContentKeyAuthorizationPolicyOption. U kunt het voorbeeld uitproberen op het tabblad Componist van Fiddler.
Zie Media Services REST voor de meest recente x-ms-version:
versie.
Aanvraagheaders:
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
Aanvraagtekst:
{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }
Als dit lukt, wordt een HTTP/1.1 200 OK-statuscode geretourneerd, samen met een weergave van de gemaakte entiteit in de hoofdtekst van het antwoord.