Introduction
Les restrictions de lecture Brightcove offrent un niveau de sécurité supplémentaire lors de l'utilisation de la diffusion dynamique avec un contenu protégé par DRM ou HTTP Live Streaming Encryption (HLSe).
Si vous n'êtes pas familier avec cette fonctionnalité, reportez-vous à l' aperçu : Document sur les restrictions de lecture Brightcove.
Voici les API disponibles pour gérer la protection des clés/licences :
Enregistrer la clé publique
Vous possédez la clé privée et vous l'utiliserez pour générer des jetons signés. Vous partagerez la clé publique avec Brightcove pour vérifier vos jetons. L'API de clé vous permet d'enregistrer votre clé publique auprès de Brightcove.
API clé
L'API Key est utilisée pour gérer vos clés publiques avec Brightcove.
URL de base
L'URL de base de l'API est :
https://playback-auth.api.brightcove.com
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}
Autorisation
Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :
Authorization: Bearer {access_token}
Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
Autorisations
Les demandes à l'API Key doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :
-
video-cloud/playback-auth/key/read
-
video-cloud/playback-auth/key/write
Gérer les clés
L'API Key prend en charge les requêtes suivantes :
Enregistrez une nouvelle clé :
Mettez la valeur de votre clé publique dans le corps de la requête API. Vous pouvez trouver la clé dans le clé_publique.txt déposer.
Demande d'API
POST /v1/accounts/{accountID}/keys
Content-Type: application/json
Body: {"value": "MFkwEwYHKoZIzj0CAQYIKoZIzj...MyeQviqploA=="}
Utiliser la boucle
curl -X POST \
-H « Type de contenu : application/json » \
-H « Autorisation : Porteur {access_token} » \
-d '{"value » : « {votre_public_key_value}"}' \
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}/keys
Réponse de l'API
{
"id": "{your_public_key_id}",
"type": "public",
"algorithm": "rsa",
"value": "{your_public_key_value}",
"createdAt": "2020-01-03T20:30:36.488Z"
}
Liste des clés :
Obtenez une liste des clés publiques dans votre compte.
GET /v1/accounts/{accountID}/keys
Obtenez une clé :
Obtenez les détails d'une clé publique dans votre compte.
GET /v1/accounts/{accountID}/keys/{key_Id}
Supprimer une clé :
Supprimez une clé publique de votre compte.
DELETE /v1/accounts/{accountID}/keys/{key_Id}
Jetons de liste noire
Un token qui a été mis sur liste noire ne sera pas considéré comme valide pour les demandes de licence, même s'il aurait autrement été approuvé. Les clients peuvent mettre sur liste noire jusqu'à 100 jetons. Si 100 tokens sont déjà sur liste noire, un client doit supprimer un ou plusieurs tokens pour faire de la place pour des entrées supplémentaires.
API de liste noire
L'API Blacklist est utilisée pour gérer vos jetons qui sont sur liste noire et considérés comme non valides pour les demandes de licence.
URL de base
L'URL de base de l'API Blacklist est :
https://playback-auth.api.brightcove.com
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}/blacklist
Autorisation
Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :
Authorization: Bearer {access_token}
Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
Autorisations
Les demandes à l'API Blacklist doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :
-
video-cloud/playback-auth/blacklist
Gérer les jetons sur liste noire
Les mises à jour de la liste noire peuvent prendre jusqu'à une minute pour se propager dans le système. L'API Blacklist prend en charge les requêtes suivantes :
Ajouter un jeton à la liste noire :
PUT (no req body)/v1/accounts/{accountID}/blacklist/tokens/{token}
L'intégralité de la chaîne JWT encodée est incluse dans le chemin.
Afficher la liste noire actuelle :
GET /v1/accounts/{accountId}/blacklist
Vérifiez si un token est sur la liste noire :
GET /v1/accounts/{accountID}/blacklist/tokens/{token}
L'intégralité de la chaîne JWT encodée est incluse dans le chemin.
Réponses :
- 204 - le jeton est sur liste noire
- 404 - le jeton n'est pas sur la liste noire
Supprimer un jeton de la liste noire :
DELETE /v1/accounts/{accountID}/blacklist/tokens/{token}
L'intégralité de la chaîne JWT encodée est incluse dans le chemin.
Auditer un compte
L'API d'audit vous permet de générer un rapport d'accès quotidien pour l'utilisation du service d'autorisation de lecture de votre compte. Ce rapport comprend des détails ainsi que la réponse d'autorisation pour chaque session.
API d'audit
Voici les détails de l'API d'audit :
URL de base
L'URL de base de l'API d'audit est :
https://playback-auth.api.brightcove.com
Chemin du compte
Dans tous les cas, les demandes seront faites pour un compte Video Cloud spécifique. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base :
https://playback-auth.api.brightcove.com/v1/audit/accounts/{accountID}
Autorisation
Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization :
Authorization: Bearer {access_token}
Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
Autorisations
Les demandes à l'API d'audit doivent être effectuées à partir des informations d'identification du client avec les autorisations suivantes :
-
video-cloud/playback-auth/audit
Générer des rapports
Utilisez l'API d'audit pour générer un rapport d'accès quotidien avec les détails de la session en procédant comme suit :
-
Demander un rapport d'utilisation quotidien
Paramètres
Champ Type Description accountID
Chaîne Votre identifiant de compte Video Cloud date
Chaîne Validations : - Format AAAA-MM-JJ
- La date ne peut pas être aujourd'hui (heure UTC)
- La date ne peut pas être antérieure à plus de 30 jours
- Brightcove ne conserve pas les rapports d'utilisation du service d'autorisation après 30 jours pour se conformer au RGPD
Requête
Méthode POST URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/query/{date} Headers Autorisation : Porteur votre jeton d'accès Type de contenu : application/json Réponse
Exemple de réponse (200 OK) :
{ "executionID": "abcdef-asfdag-dvsbcd" }
Détails :
Champ Type Description executionID
Chaîne Un identifiant unique associé à un rapport d'utilisation pour un accountID
etdate
. Cet identifiant est transmis aux autres points de terminaison ci-dessous. -
Vérifiez l'état de votre rapport
Requête
Méthode AVOIR URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/execution/{ExecutionId}/statut Headers Autorisation : Porteur votre jeton d'accès Type de contenu : application/json Réponse
Exemple de réponse (200 OK) :
{ "status": "completed" }
Détails :
Champ Type Description status
Chaîne Valeurs : "terminé", "traitement", "échec" -
Récupérez votre rapport
Requête
Méthode AVOIR URL https://playback-auth.api.brightcove.com/v1/audit/accounts/{AccountID}/exécution/{ExecutionId}/rapport Headers Autorisation : Porteur votre jeton d'accès Type de contenu : application/json Réponse
Exemple de réponse (200 OK) :
{ "signedURL": "https://signed-url", "expirationTime": 1569219842 }
Détails :
Champ Type Description SignedURL
Chaîne Les résultats sont renvoyés sous forme d'URL S3 que vous pouvez télécharger expirationTime
Horodatage de l'époque Les URL S3 signées sont valides pendant 15 minutes
Contraintes
Les limitations suivantes s'appliquent avec la version initiale de cette fonctionnalité :
- Il y a une limite de 100 jetons sur liste noire. Après cela, une erreur sera renvoyée.