Contrôle des accès avec IAM

Présentation

L'API Live Stream utilise Identity and Access Management (IAM) 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. Vous pouvez par exemple 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 Assets Autorisations requises
assets.create livestream.assets.create sur l'emplacement parent, qui est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
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 est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
Nom de la méthode Channels 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 chaîne.
channels.get livestream.channels.get sur la ressource de chaîne.
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 chaîne.
channels.start livestream.channels.start sur la ressource de chaîne.
channels.stop livestream.channels.stop sur la ressource de chaîne.
Nom de la méthode Clips Autorisations requises
channels.clips.create livestream.clips.create sur le canal parent de la ressource.
channels.clips.delete livestream.clips.delete sur la ressource d'extrait.
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 Events Autorisations requises
channels.events.create livestream.events.create sur le canal parent de la ressource.
channels.events.delete livestream.events.delete sur la ressource d'événement.
channels.events.get livestream.events.get sur la ressource d'événement.
channels.events.list livestream.events.list sur le canal parent de la ressource.
Nom de la méthode d'entrée Autorisations requises
inputs.create livestream.inputs.create sur l'emplacement parent, qui est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
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 est une combinaison spécifique de projet Google Cloud et d'emplacement de données.
inputs.patch livestream.inputs.update sur la ressource d'entrée.
Nom de la méthode 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, y compris les autorisations associées à chaque rôle:

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 de diffusion 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 avec l'API Live Stream activée. Ce compte de service se voit attribuer le rôle d'agent de service de diffusion en direct et est autorisé à effectuer les opérations suivantes:

  • Lire des 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 diffusion en direct du compte de service et remplacez-le par un accès plus restreint. 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 diffusion en direct" et sélectionnez le bouton de modification.
  3. Supprimez le rôle d'agent de service de diffusion en direct du compte de service.
  4. Accordez l'accès au compte de service pour chaque bucket Cloud Storage :
    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.