ContentKeyAuthorizationPolicyOption
Media Services prend en charge plusieurs méthodes d’authentification des utilisateurs effectuant des demandes de clé. La stratégie d'autorisation de la clé de contenu doit être configurée par vous et respectée par le client (lecteur) afin que la clé soit remise au client. La stratégie d’autorisation des clés de contenu peut avoir une ou plusieurs restrictions d’autorisations : ouvert, restriction par jeton ou restriction IP. Vous utilisez ContentKeyAuthorizationPolicyOption
pour spécifier les options d'autorisation. Vous ajoutez ensuite les options créées à ContentKeyAuthorizationPolicy
.
Notez que le service de remise de clés met en ContentKeyAuthorizationPolicy
cache et ses objets associés (options de stratégie et restrictions) pendant 15 minutes. Si vous créez un ContentKeyAuthorizationPolicy
et spécifiez d’utiliser une restriction « Jeton », puis testez-la, puis mettez à jour la stratégie vers la restriction « Ouvrir », il faudra environ 15 minutes avant que la stratégie bascule vers la version « Open » de la stratégie.
Cette rubrique décrit ContentKeyAuthorizationPolicyOption
et montre comment utiliser cette entité. Pour obtenir un exemple plus complet, qui montre comment associer ContentKeyAuthorizationPolicyOption
ContentKeyAuthorizationPolicy
à , consultez ContentKeyAuthorizationPolicy.
Important
Lors de l’accès aux entités dans Media Services, vous devez définir les valeurs et les champs d’en-tête spécifiques dans vos requêtes HTTP.
Pour plus d’informations, consultez Configuration du développement de l’API REST Media Services et Connexion à Media Services avec l’API REST Media Services.
Propriétés de l'entité ContentKeyAuthorizationPolicyOption
Propriété | Type | Description |
---|---|---|
Id Lecture seule. Défini par Media Services. |
Edm.String | Identificateur unique. |
Name |
Edm.String | Nom convivial de la stratégie d'autorisation. |
KeyDeliveryType Obligatoire. |
Edm. Int32 | Méthode de diffusion de la clé de contenu au client. KeyDeliveryType peut être l’un des éléments suivants : None = 0, PlayReadyLicense = 1, BaselineHttp = 2). |
KeyDeliveryConfiguration |
Edm.String | Données XML spécifiques au type de diffusion de clé qui définit comment la clé est diffusée au client. |
Restrictions Obligatoire. |
Collection de propriétés ComplexType ContentKeyAuthorizationPolicyRestriction. | Les spécifications requises définies dans chaque restriction doivent être satisfaites pour pouvoir diffuser la clé en utilisant les données de diffusion de clé. |
Propriétés du type complexe ContentKeyAuthorizationPolicyRestriction
Propriété | Type | Description |
---|---|---|
Name |
Edm.String | Nom convivial de la restriction. |
KeyRestrictionType Obligatoire. |
Edm. Int32 | Type de la restriction. KeyRestrictionType peut être l’un des éléments suivants : Open = 0, TokenRestricted = 1, IPRestricted = 2. |
Requirements |
Edm. String | Spécifications requises de la restriction. |
Créer une ContentKeyAuthorizationPolicyOption
L’exemple suivant crée une contentKeyAuthorizationPolicyOption avec les valeurs suivantes définies : une restriction d’autorisation Open
("KeyRestrictionType":0
) et une méthode de remise de clé BaselineHttp (protocole de clé HTTP de référence MPEG) ("KeyDeliveryType":2
). Vous pouvez essayer l’exemple sous l’onglet Compositeur de Fiddler.
Pour obtenir la dernière version x-ms-version:
, consultez REST Media Services.
En-têtes de requête :
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
Corps de la requête :
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
En cas de succès, un code d'état HTTP/1.1 201 Créé est retourné avec une représentation de l'entité créée dans le corps de la réponse.
L’exemple suivant crée une contentKeyAuthorizationPolicyOption avec les valeurs suivantes définies : une restriction d’autorisation ("KeyRestrictionType":1
) et une Token
méthode de remise de clé BaselineHttp (protocole de clé HTTP de référence MPEG) ("KeyDeliveryType":2
).
Pour obtenir la dernière version x-ms-version:
, consultez REST Media Services.
En-têtes de requête :
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
Corps de la requête :
{
"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>"
}
]
}