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. Par exemple, vous pouvez accorder aux développeurs l'accès pour 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.

Chaque méthode de l'API Live Stream nécessite que l'appelant dispose 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 qui sont 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 composants 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 de l'élément.
assets.get livestream.assets.get sur la ressource de l'é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 des canaux 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 pour les événements Autorisations requises
events.create livestream.events.create sur le canal parent de la ressource.
events.delete livestream.events.delete sur la ressource de l'événement.
events.get livestream.events.get sur la ressource de l'événement.
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 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 du pool.
pools.patch livestream.pools.patch sur la ressource du pool.

Rôles

Le tableau suivant répertorie les rôles IAM de l'API Live Stream et les autorisations associées à chacun d'entre 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.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.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 selon 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 dans lequel l'API Live Stream est 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 les fichiers contenus 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 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 diffusion en direct, puis sélectionnez le bouton "Modifier".
  3. Supprimez le rôle d'agent de service de diffusion en direct du compte de service.
  4. Accordez au compte de service l'accès à 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.