ApsaraVideo Live propose plusieurs politiques de contrôle d'accès pour les domaines de streaming : signature d'URL, protection contre le hotlinking basée sur le referer, listes d'autorisation et de blocage d'adresses IP, interdiction de protocole, blocage géographique et authentification distante. Ces mesures permettent d'éviter toute utilisation non autorisée et de protéger vos ressources de streaming en direct. Configurez les politiques adaptées à vos besoins en matière de sécurité.
Présentation
Pour sécuriser votre domaine de streaming et prévenir les utilisations non autorisées, vous pouvez mettre en œuvre plusieurs politiques de contrôle d'accès. Chacune offre un niveau de protection différent :
Signature d'URL : vérifie l'authenticité de chaque requête à l'aide de signatures cryptographiques, offrant ainsi une protection plus robuste que les méthodes basées sur le referer.
Protection contre le hotlinking basée sur le referer : contrôle l'accès en utilisant des listes noires ou blanches personnalisées pour autoriser ou refuser les demandes de lecture et protéger votre contenu en direct.
Listes d'autorisation et de blocage d'adresses IP : restreint ou autorise l'accès depuis des adresses IP spécifiques.
Interdiction de protocole : restreint les protocoles de lecture pour votre domaine. Une fois activée, cette option bloque les URLs de lecture utilisant un protocole interdit.
Blocage géographique : gère l'accès à votre domaine de streaming en spécifiant une liste noire ou blanche de régions.
Authentification distante : transfère les requêtes des utilisateurs vers votre propre serveur d'authentification pour validation, ajoutant ainsi une couche de contrôle d'accès flexible et sécurisée.
Signature d'URL
Fonctionnement
La signature d'URL coordonne l'authentification entre ApsaraVideo Live et votre serveur métier afin de protéger les ressources de diffusion en direct contre tout accès non autorisé.
Votre serveur métier génère une URL signée contenant les informations d'authentification.
Un utilisateur envoie une demande d'ingestion ou de lecture de flux au service ApsaraVideo Live à l'aide de cette URL signée.
Un nœud périphérique ApsaraVideo Live valide les informations d'authentification contenues dans l'URL signée, traite les requêtes valides et rejette les invalides.
Une fois que ApsaraVideo Live a authentifié votre URL de requête, les caractères spéciaux qu'elle contient, tels que = et +, sont échappés.
Pour en savoir plus sur les cas d'utilisation de la signature d'URL, la structure d'une URL signée et le mécanisme d'authentification, consultez la rubrique URL d'ingestion et de diffusion signées.
Configurer la signature d'URL
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de diffusion que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Sélectionnez l'onglet URL Signing, puis cliquez sur Change Settings.
RemarqueLorsque vous ajoutez un nom de domaine pour la première fois, l'option URL signing est activée par défaut. Vous ne pouvez cliquer sur Change Settings que si cette fonctionnalité est activée.
-
Configurez les paramètres de signature d'URL, puis cliquez sur OK.

Le tableau suivant décrit les paramètres.
Parameter
Description
Authentication Type
Les domaines de diffusion ApsaraVideo Live prennent uniquement en charge l'authentification de Type A pour protéger vos ressources d'origine.
RemarqueUne requête de signature d'URL invalide renvoie une erreur 403. Vous devez recalculer la signature.
-
Erreur de calcul MD5
Exemple :
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be -
Erreur d'horodatage
Exemple :
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
Lorsque vous ajoutez un nom de domaine, la console génère aléatoirement une clé principale. Pour afficher cette clé sur la page URL Signing, sélectionnez Domain Management dans la barre de navigation de gauche, choisissez le domaine concerné, puis cliquez sur . Vous pouvez également saisir une clé principale personnalisée.
Secondary Key
Saisissez une clé secondaire personnalisée.
Remarque-
Les clés principale et secondaire disposent des mêmes droits d'authentification. La clé secondaire sert principalement à assurer une rotation fluide des clés.
-
Si vous modifiez la clé principale, les URL signées générées avec l'ancienne clé deviennent invalides. Pour éviter toute interruption de service lors de la rotation, copiez la clé principale actuelle dans le champ de la clé secondaire avant de définir la nouvelle clé principale. Cela permet à la clé secondaire de continuer à authentifier les requêtes pendant la transition.
Validity Period
Période pendant laquelle une URL signée peut initier une requête d'ingestion ou de lecture de flux. Étant donné que l'ingestion et la lecture utilisent des connexions persistantes, une connexion active se poursuit après l'expiration de la période de validité, mais les nouvelles requêtes utilisant l'URL expirée échouent. Valeur par défaut : 1 jour (1 440 minutes). Minimum : 1 minute. Aucune limite supérieure.
-
Désactiver la signature d'URL
Avant de désactiver l'option URL Signing, prenez conscience des risques liés au trafic non autorisé et acceptez la clause de non-responsabilité.
Une fois l'option URL Signing désactivée, vous pouvez générer des URL d'ingestion ou de diffusion qui n'expirent jamais.
Sur l'onglet URL Signing, cliquez sur le lien permettant de Read Disclaimer Agreement.
Dans la boîte de dialogue Disclaimer Agreement, cochez la case, puis cliquez sur Disable URL Signing.
Une fois la clause de non-responsabilité acceptée, cliquez sur OK.
Désactivez l'interrupteur Signed URL. Une fois la fonctionnalité désactivée, vous ne pouvez plus chiffrer les URL en définissant une clé d'authentification.
Protection contre le hotlinking basée sur le Referer
Fonctionnement
La protection contre le hotlinking basée sur le Referer utilise l'en-tête HTTP Referer pour identifier la source des requêtes. Vous configurez une liste noire ou une liste blanche, et les nœuds périphériques ApsaraVideo Live filtrent les requêtes des spectateurs en conséquence. Les requêtes correspondant aux règles sont autorisées ; les autres reçoivent une réponse 403.
Il s'agit d'une fonctionnalité optionnelle, désactivée par défaut.
La liste noire et la liste blanche s'excluent mutuellement. Vous ne pouvez en activer qu'une seule à la fois.
Après configuration de cette fonctionnalité, ApsaraVideo Live prend automatiquement en charge les domaines génériques. Par exemple, si vous saisissez
example.com, la règle s'applique à*.example.com, couvrant ainsi tous ses sous-domaines.-
Vous pouvez choisir d'autoriser ou non les requêtes dont le champ Referer est vide. Cela permet un accès direct à l'URL d'une ressource depuis la barre d'adresse d'un navigateur.
Les clients mobiles ne peuvent souvent pas récupérer de referer. Par défaut, les requêtes avec un referer vide sont autorisées. Si vous interdisez ces requêtes, vous pouvez utiliser le SDK ApsaraVideo Player pour définir un referer sur les clients mobiles.
Si vous n'autorisez pas les requêtes avec un referer vide, vous devez configurer l'option Enable HTTPS et activer la redirection forcée de HTTP vers HTTPS (HTTP > HTTPS). Certains navigateurs suppriment l'en-tête Referer lors du traitement d'une requête HTTPS pour une ressource HTTP, ce qui entraînerait un échec d'accès.
Procédure
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de diffusion que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Sélectionnez l'onglet Referer-based Hotlink Protection et activez l'interrupteur Referer-based Hotlink Protection.

-
Configurez les options Type et Referrers, puis cliquez sur OK.

Le tableau suivant décrit les types de protection contre le hotlinking basée sur le Referer.
Type
Description
Blacklist
Les domaines figurant sur la liste noire ne peuvent pas accéder à la ressource.
Whitelist
Seuls les domaines figurant sur la liste blanche peuvent accéder à la ressource. Tous les autres domaines sont bloqués.
Liste noire et liste blanche d'adresses IP
Fonctionnement
Ajoutez une adresse IP à la liste noire pour lui interdire l'accès au domaine de diffusion.
Ajoutez une adresse IP à la liste blanche pour n'autoriser que cette adresse IP à accéder au domaine de diffusion.
La liste noire et la liste blanche d'adresses IP prennent toutes deux en charge les adresses IPv6. Lors de la saisie d'adresses IPv6, vous devez utiliser des lettres majuscules, par exemple
2001:DB8:0:23:8:800:200C:417Aou2001:0DB8:0000:0023:0008:0800:200C:417A. Les formats IPv6 abrégés, tels que2001:0DB8::0008:0800:200C:417A, ne sont pas pris en charge.Vous pouvez ajouter des plages d'adresses IP aux listes noire et blanche en utilisant la notation CIDR. Par exemple,
192.168.0.0/24indique que les 24 premiers bits du masque de sous-réseau sont utilisés pour l'adresse réseau, laissant 8 bits (32 - 24) pour les adresses d'hôte. Ce sous-réseau peut contenir 2^8 - 2 = 254 hôtes. Par conséquent,192.168.0.0/24représente la plage d'adresses IP allant de192.168.0.1à192.168.0.254.
Procédure
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de diffusion que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Sélectionnez l'onglet IP Blacklist or Whitelist et activez l'interrupteur IP Blacklist or Whitelist.

-
Configurez les options List Type et Rule, puis cliquez sur OK.

Type
Description
Blacklist
Les adresses IP figurant sur la liste noire ne peuvent pas accéder à la ressource.
Whitelist
Seules les adresses IP figurant sur la liste blanche peuvent accéder à la ressource. Toutes les autres adresses IP sont bloquées.
Interdiction de protocole
Fonctionnement
L'interdiction de protocole bloque la lecture au niveau du protocole pour un domaine de diffusion, y compris ses domaines principaux et sous-domaines. Une fois cette fonctionnalité activée, les URL de lecture utilisant le protocole spécifié sont refusées.
Vous pouvez également appeler l'opération API BatchSetLiveDomainConfigs et transmettre l'enregistrement alilive dans le paramètre Functions. Pour plus d'informations, consultez la rubrique BatchSetLiveDomainConfigs.
Procédure
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de streaming que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Accédez à l'onglet Protocol Prohibition, sélectionnez les protocoles que vous souhaitez bloquer et activez l'interrupteur correspondant pour chacun d'eux.

Blocage par région
Fonctionnement
Le blocage par région identifie la localisation géographique des requêtes clientes, ce qui vous permet d'autoriser ou de bloquer l'accès selon la région. Cette fonctionnalité aide à atténuer les requêtes malveillantes et à faire respecter les droits de distribution de contenu.
Le blocage par région est pris en charge pour les protocoles de lecture HLS, RTMP, FLV et RTS.
Si vous configurez un blocage par région au niveau du domaine et au niveau du flux pour la même région, le paramètre de liste de blocage prévaut. Par exemple, si vous configurez une liste d'autorisation au niveau du domaine et une liste de blocage au niveau du flux, la liste de blocage au niveau du flux s'applique. Si vous configurez une liste de blocage au niveau du domaine et une liste d'autorisation au niveau du flux, la liste de blocage au niveau du domaine s'applique.
Vous pouvez configurer à la fois le Domain-level Region Blocking et le Stream-level Region Blocking. En cas de conflit entre les listes d'autorisation et les listes de blocage, la liste de blocage prévaut pour déterminer les régions bloquées.
Blocage par région au niveau du domaine
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de streaming que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Sous l'onglet Region Blocking, activez l'interrupteur Domain-level Region Blocking. Sélectionnez un Blocking Type et spécifiez les Blocked Regions.
Paramètre
Description
Blocking Type
-
Liste de blocage : les régions figurant sur la liste de blocage ne peuvent accéder à aucune ressource sous le domaine de streaming.
-
Liste d'autorisation : seules les régions figurant sur la liste d'autorisation peuvent accéder aux ressources sous le domaine de streaming. Toutes les autres régions sont bloquées.
La liste de blocage et la liste d'autorisation sont mutuellement exclusives. Une seule peut être active à la fois.
Blocked Regions
Les régions à inclure dans la liste de blocage ou la liste d'autorisation.
-
Cliquez sur OK pour enregistrer la configuration.
Blocage par région au niveau du flux
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Localisez le domaine de streaming que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur
-
Accédez à l'onglet Region Blocking, puis cliquez sur Add Rule dans la section Stream-level Region Blocking.

Paramètre
Description
AppName
Le nom d'application du flux en direct.
RemarqueL'AppName peut comporter jusqu'à 256 caractères et contenir des chiffres, des lettres majuscules et minuscules, des traits d'union (-), des underscores (_) et des signes égal (=). Il doit correspondre à l'AppName dans l'URL du flux en direct pour que la règle de blocage prenne effet.
StreamName
Le nom du flux du flux en direct.
RemarqueLe StreamName peut comporter jusqu'à 256 caractères et contenir des chiffres, des lettres majuscules et minuscules, des traits d'union (-), des underscores (_) et des signes égal (=). Il doit correspondre au StreamName dans l'URL du flux en direct pour que la règle de blocage prenne effet.
Type de blocage
-
Liste de blocage : les spectateurs provenant des régions figurant sur la liste de blocage ne peuvent pas accéder au flux spécifié.
-
Liste d'autorisation : seuls les spectateurs provenant des régions figurant sur la liste d'autorisation peuvent accéder au flux spécifié.
RemarqueLa liste de blocage et la liste d'autorisation sont mutuellement exclusives. Une seule peut être active à la fois.
Blocked Regions / Allowed Regions
Les régions dont l'accès doit être bloqué (liste de blocage) ou autorisé (liste d'autorisation).
Heure d'expiration
L'heure à laquelle la règle expire. Par défaut, une règle est valable pendant sept jours, mais vous pouvez ajuster cette durée selon vos besoins.
-
Cliquez sur OK pour enregistrer la configuration.
Consultez la liste des règles de blocage par région au niveau du flux. Après avoir configuré une règle, vous pouvez actualiser la liste pour vérifier son état. Vous pouvez filtrer la liste par type de liste, AppName ou StreamName.
Authentification distante
Fonctionnement
L'authentification distante et la signature d'URL protègent toutes deux les ressources de flux en direct contre les accès non autorisés, mais elles diffèrent par leur mise en œuvre technique :
Signature d'URL : vous configurez les règles d'authentification dans le centre de diffusion en direct, qui gère ensuite l'intégralité de l'échange de données d'authentification.
Authentification distante : vous maintenez un serveur d'authentification dédié. Lorsqu'une requête est reçue, le centre de diffusion en direct la transfère à votre serveur pour validation. Vous êtes responsable de la construction et de la gestion du serveur d'authentification. L'authentification distante ne prend pas en charge le protocole HLS.
Flux de données d'authentification distante :
|
Étape |
Interaction |
|
① |
Un utilisateur envoie une requête d'accès aux ressources (POST) contenant des paramètres d'authentification au centre de diffusion en direct. |
|
② |
Le centre de diffusion en direct reçoit la requête de l'utilisateur et la transfère au serveur d'authentification à l'aide de la méthode POST, soit directement, soit après l'avoir traitée selon les règles spécifiées. |
|
③ |
Le serveur d'authentification valide les paramètres de la requête, détermine le résultat de l'authentification et le renvoie via une réponse POST au centre de diffusion en direct. |
|
④ |
Le centre de diffusion en direct reçoit la réponse POST du serveur d'authentification, agit en fonction du résultat et renvoie les données correspondantes à l'utilisateur.
|
Procédure
Connectez-vous à la console ApsaraVideo Live.
Dans le volet de navigation de gauche, cliquez sur Domain Names. La page Domain Management s'affiche.
Recherchez le domaine de diffusion en continu que vous souhaitez configurer et cliquez sur Domain Settings dans la colonne Actions.
Cliquez sur .
-
Cliquez sur l'onglet Remote Authentication, activez le commutateur Remote Authentication et configurez les paramètres.
RemarqueLorsque l'authentification distante est activée, chaque requête utilisateur est transférée vers votre serveur d'authentification pour traitement. Si vous prévoyez un volume élevé de requêtes, tenez compte des performances et de la capacité de votre serveur d'authentification.
Paramètre
Description
Authentication Server Address
URL accessible publiquement de votre serveur d'authentification. Le système valide le format et la valeur de l'adresse. Vous pouvez définir une URL fixe ou en construire une par concaténation de variables.
-
URL fixe : prend en charge les protocoles HTTP et HTTPS. La valeur ne peut pas être
127.0.0.1nilocalhost. Exemples :-
http(s)://example.aliyundoc.com/auth
-
http(s)://192.0.2.1/auth
-
-
Concaténation de variables d'URL : vous pouvez générer l'URL d'authentification en concaténant des variables. Pour plus d'informations, consultez Concaténation de variables d'URL.
Request Method
Méthode HTTP utilisée par le centre de diffusion en continu pour envoyer des requêtes d'authentification à votre serveur. Valeurs valides : GET, POST. Valeur par défaut pour les nouvelles configurations : GET. Pour les configurations existantes sans méthode enregistrée, le champ affiche POST.
Pass Through URL Parameters
Contrôle les paramètres de l'URL de la requête utilisateur inclus dans la requête d'authentification. Vous pouvez choisir de Specified Parameters Passed, Specified Parameters Not Passed ou ne transmettre aucun paramètre.
RemarqueSi vous choisissez Specified Parameters Passed ou Specified Parameters Not Passed, saisissez les paramètres dans la zone de saisie, séparés par des virgules (,). Exemple :
key1,key2,key3.HTTP Status Code to Return
Code d'état HTTP renvoyé par votre serveur d'authentification au centre de diffusion en continu. Vous pouvez définir le code d'état pour le succès ou l'échec :
-
Successful Authentication : saisissez un code d'état de succès personnalisé. Le centre de diffusion en continu n'autorise une requête que si votre serveur renvoie ce code. Tous les autres codes d'état entraînent le blocage de la requête.
Par exemple, si vous définissez le code de succès sur 200, une réponse 200 indique une authentification réussie.
-
Failed Authentication : saisissez un code d'état d'échec personnalisé. Le centre de diffusion en continu bloque une requête uniquement si votre serveur renvoie ce code. Tous les autres codes d'état entraînent l'autorisation de la requête.
Par exemple, si vous définissez le code d'échec sur 403, une réponse 403 indique un échec d'authentification.
Authentication Duration (s)
Durée, en secondes, pendant laquelle le centre de diffusion en continu attend une réponse de votre serveur d'authentification après l'envoi d'une requête.
Vous pouvez saisir un entier compris entre 0 et 30.
Retries on Timeout
Nombre de tentatives de la requête d'authentification par le centre de diffusion en continu après un délai d'attente. Si toutes les tentatives échouent, le système exécute l'action spécifiée pour Action After Timeout. Vous pouvez définir l'action sur Allow ou Deny.
Action after timeout
Action entreprise par le centre de diffusion en continu si la connexion au serveur d'authentification expire. Les options sont Allow et Deny.
-
Allow : le centre de diffusion en continu autorise la requête utilisateur.
-
Deny : le centre de diffusion en continu refuse la requête utilisateur et renvoie un code d'état d'échec, tel que 403, à l'utilisateur.
Asynchronous Authentication
Lorsqu'elle est activée, la lecture commence immédiatement sans attendre le résultat de l'authentification. Si le résultat de l'authentification s'avère ultérieurement erroné, le flux est déconnecté. Cela réduit le temps jusqu'à la première image en supprimant la latence d'authentification synchrone.
RemarqueAfter switching between synchronous and asynchronous authentication, test to ensure it works as expected.
-
-
Cliquez sur OK pour enregistrer la configuration.
Après avoir configuré l'authentification distante, vous pouvez revenir à l'onglet Remote Authentication pour modifier les paramètres ou désactiver la fonctionnalité.
Concaténation de variables d'URL
Vous pouvez utiliser des variables pour générer dynamiquement l'URL d'authentification. Le tableau suivant décrit les variables disponibles.
|
Type |
Description |
|
Variables numériques |
Les variables numériques, telles que Par exemple, si l'URL d'ingestion est |
|
Variables alphabétiques |
Les variables telles que Par exemple, si l'URL d'ingestion est |
|
Variables personnalisées |
Les variables personnalisées commencent par le préfixe |
|
Variables NGX |
Toutes les variables Toutes les valeurs référencées par les variables sont traitées par la fonction d'échappement d'URL |
|
Variables de nom de flux |
Vous pouvez ajouter des paramètres au format |
Si l'URL d'ingestion ou de lecture du flux est rtmp://domain.aliyundoc.com/app/stream?token=***&name=xrc.
L'URL du serveur d'authentification distante est définie sur http://auth.aliyundoc.com/?app=${udv_host}&streamname=${2}&appname=${1}&token=${arg_token}.
L'URL d'authentification réelle est http://auth.aliyundoc.com/?app=domain.aliyundoc.com&streamname=stream&appname=app&token=***.