Contrôle des accès avec IAM

Présentation

L'API Live Stream utilise IAM (Identity and Access Management) pour le contrôle des accès.

Vous pouvez configurer le contrôle des accès pour l'API Live Stream au niveau du projet. Par exemple, vous pouvez autoriser les développeurs à répertorier et obtenir tous les événements d'un projet.

Pour une description détaillée d'IAM et de ses fonctionnalités, consultez la documentation IAM. en particulier la section expliquant comment gérer les stratégies Cloud IAM.

Pour appeler une méthode de l'API Live Stream, l'appelant doit disposer des autorisations nécessaires. Pour en savoir plus, consultez les sections Autorisations et Rôles.

Autorisations

Cette section récapitule les autorisations de l'API Live Stream compatibles avec IAM.

Autorisations requises

Les tableaux suivants répertorient les autorisations IAM associées à l'API Live Stream.

Nom de la méthode pour les éléments Autorisations requises
assets.create livestream.assets.create sur l'emplacement parent, qui correspond à une combinaison spécifique d'emplacements de données et de projet Google Cloud.
assets.delete livestream.assets.delete sur la ressource d'élément.
assets.get livestream.assets.get sur la ressource d'élément.
assets.list livestream.assets.list sur l'emplacement parent, qui correspond à une combinaison spécifique de projets Google Cloud et d'emplacements de données.
Nom de la méthode des critères Autorisations requises
channels.create livestream.channels.create sur l'emplacement parent, qui est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
channels.delete livestream.channels.delete sur la ressource de canal.
channels.get livestream.channels.get sur la ressource de canal.
channels.list livestream.channels.list sur l'emplacement parent, qui est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
channels.patch livestream.channels.update sur la ressource de canal.
channels.start livestream.channels.start sur la ressource de canal.
channels.stop livestream.channels.stop sur la ressource de canal.
Nom de la méthode de création de clips Autorisations requises
channels.clips.create livestream.clips.create sur le canal parent de la ressource.
channels.clips.get livestream.clips.get sur la ressource d'extrait.
channels.clips.list livestream.clips.list sur le canal parent de la ressource.
Nom de la méthode des événements Autorisations requises
channels.events.create livestream.events.create sur le canal parent de la ressource.
channels.events.delete livestream.events.delete sur la ressource de l'événement.
channels.events.get livestream.events.get sur la ressource de l'événement.
channels.events.list livestream.events.list sur le canal parent de la ressource.
Nom du mode de saisie Autorisations requises
inputs.create livestream.inputs.create sur l'emplacement parent, qui correspond à une combinaison spécifique d'emplacements de données et de projet Google Cloud.
inputs.delete livestream.inputs.delete sur la ressource d'entrée.
inputs.get livestream.inputs.get sur la ressource d'entrée.
inputs.list livestream.inputs.list sur l'emplacement parent, qui correspond à une combinaison spécifique de projets Google Cloud et d'emplacements de données.
inputs.patch livestream.inputs.update sur la ressource d'entrée.
Nom de la méthode des pools Autorisations requises
pools.get livestream.pools.get sur la ressource de pool.
pools.patch livestream.pools.patch sur la ressource de pool.

Rôles

Le tableau suivant répertorie les rôles IAM de l'API Live Stream, ainsi que les autorisations associées à chacun d'eux:

Rôle IAM Autorisations

(roles/livestream.viewer)

Accès en lecture aux ressources de flux en direct.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.list

livestream.events.get

livestream.events.list

livestream.inputs.get

livestream.inputs.list

livestream.locations.*

  • livestream.locations.get
  • livestream.locations.list

livestream.operations.get

livestream.operations.list

livestream.pools.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/livestream.editor)

Accès complet à toutes les ressources de flux en direct.

livestream.*

  • livestream.assets.create
  • livestream.assets.delete
  • livestream.assets.get
  • livestream.assets.list
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.get
  • livestream.channels.list
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.channels.update
  • livestream.clips.create
  • livestream.clips.delete
  • livestream.clips.get
  • livestream.clips.list
  • livestream.events.create
  • livestream.events.delete
  • livestream.events.get
  • livestream.events.list
  • livestream.inputs.create
  • livestream.inputs.delete
  • livestream.inputs.get
  • livestream.inputs.list
  • livestream.inputs.update
  • livestream.locations.get
  • livestream.locations.list
  • livestream.operations.cancel
  • livestream.operations.delete
  • livestream.operations.get
  • livestream.operations.list
  • livestream.pools.get
  • livestream.pools.update

resourcemanager.projects.get

resourcemanager.projects.list

Pour en savoir plus sur les rôles, consultez la page Comprendre les rôles.

Accès à Cloud Storage

Par défaut, l'API Live Stream a accès à tous les buckets Cloud Storage de votre projet. Lorsque vous créez votre premier événement diffusé en direct, l'API Live Stream crée un compte de service en utilisant la convention d'attribution de noms suivante:

service-PROJECT_NUMBER@gcp-sa-livestream.iam.gserviceaccount.com

PROJECT_NUMBER est le numéro de votre projet pour lequel l'API Live Stream est activée. Ce compte de service se voit attribuer le rôle d'agent de service de flux en direct et est autorisé à effectuer les opérations suivantes:

  • Lire les fichiers dans les buckets Cloud Storage de votre projet
  • Importer des fichiers dans les buckets Cloud Storage de votre projet
  • Supprimer des fichiers dans les buckets Cloud Storage de votre projet
  • Lister les fichiers et leurs métadonnées dans les buckets Cloud Storage de votre projet

Limiter l'accès

Pour limiter cet accès à vos buckets Cloud Storage, supprimez le rôle d'agent de service de flux en direct du compte de service et remplacez-le par un accès plus précis. Procédez comme suit :

  1. Accédez à la page IAM (onglet Autorisations) de la console Google Cloud.
  2. Recherchez le compte de service doté du rôle "Agent de service de flux en direct", puis sélectionnez le bouton "Modifier".
  3. Supprimez le rôle d'agent de service de streaming en direct du compte de service.
  4. Accordez l'accès au compte de service pour chaque bucket Cloud Storage individuel :
    1. Accéder à la page du navigateur Cloud Storage
    2. Cliquez sur un bucket.
    3. Sélectionnez l'onglet Autorisations.
    4. Cliquez sur Ajouter.
    5. Dans le champ Nouveaux comptes principaux, saisissez le nom du compte de service.
    6. Sous Rôle, sélectionnez Administrateur des objets de l'espace de stockage.
    7. Cliquez sur Enregistrer. L'API Live Stream a désormais accès au bucket.