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 à l'échelle du projet. Par exemple, vous pouvez autoriser les développeurs à répertorier et obtenir les événements au sein 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 autorisations. 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 est un projet Google Cloud et un emplacement de données spécifiques combinaison de valeurs.
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, ce qui est un projet Google Cloud spécifique et un emplacement de données combinaison de valeurs.
Nom de la méthode des critères Autorisations requises
channels.create livestream.channels.create sur l'emplacement parent, un projet Google Cloud spécifique combinaison de zones géographiques.
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, un projet Google Cloud spécifique combinaison de zones géographiques.
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 pour la ressource.
channels.clips.get livestream.clips.get sur la ressource d'extrait.
channels.clips.list livestream.clips.list sur le canal parent pour la ressource.
Nom de la méthode des événements Autorisations requises
channels.events.create livestream.events.create sur le canal parent pour 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 pour la ressource.
Nom du mode de saisie Autorisations requises
inputs.create livestream.inputs.create sur l'emplacement parent, qui est un projet Google Cloud et un emplacement de données spécifiques combinaison de valeurs.
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, ce qui est un projet Google Cloud spécifique et un emplacement de données combinaison de valeurs.
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 présente les rôles IAM de l'API Live Stream y compris 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 à l'ensemble des ressources des buckets Cloud Storage. Lorsque vous créez votre premier événement diffusé en direct, l'icône L'API Live Stream crée un compte de service portant les noms suivants : convention:

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. La diffusion en direct est accordée à ce compte de service rôle Agent de service et dispose des autorisations nécessaires pour 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 la diffusion en direct rôle d'agent de service du compte de service et le remplacer par un autre un accès précis. Procédez comme suit :

  1. Accédez au Page IAM (onglet Autorisations) de la console Google Cloud.
  2. Recherchez le compte de service doté du rôle d'agent de service de streaming 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 :
    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 aux bucket.