Contrôle des accès avec IAM

Présentation

L'API Transcoder 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 Transcoder au niveau du projet. Vous pouvez par exemple autoriser les développeurs à répertorier et à obtenir toutes les tâches 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 Transcoder, l'utilisateur doit disposer des autorisations requises. Pour en savoir plus, consultez les sections Autorisations et Rôles.

Autorisations

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

Autorisations requises

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

Méthode de la tâche Autorisations requises
jobs.create transcoder.jobs.create sur le projet Google Cloud parent.
jobs.delete transcoder.jobs.delete sur le projet Google Cloud parent.
jobs.get transcoder.jobs.get sur le projet Google Cloud parent.
jobs.list transcoder.jobs.list sur le projet Google Cloud parent.
Méthode du modèle de tâche Autorisations requises
jobTemplates.create transcoder.jobTemplates.create sur le projet Google Cloud parent.
jobTemplates.delete transcoder.jobTemplates.delete sur le projet Google Cloud parent.
jobTemplates.get transcoder.jobTemplates.get sur le projet Google Cloud parent.
jobTemplates.list transcoder.jobTemplates.list sur le projet Google Cloud parent.

Rôles

Le tableau suivant répertorie les rôles IAM de l'API Transcoder, y compris les autorisations associées à chaque rôle :

Rôle IAM Autorisations

(roles/transcoder.viewer)

Lecteur de toutes les ressources Transcoder.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobs.get

transcoder.jobs.list

(roles/transcoder.admin)

Accès complet à toutes les ressources Transcoder.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobs.get
  • transcoder.jobs.list

Les rôles roles/owner et roles/editor accordent les autorisations associées au rôle roles/transcoder.admin. Le rôle roles/viewer accorde les autorisations associées au rôle roles/transcoder.viewer.

Les rôles roles/owner, roles/editor et roles/viewer incluent également des autorisations pour d'autres services Google Cloud. Pour en savoir plus sur les rôles, consultez la page Comprendre les rôles.

Accès à Cloud Storage et à Pub/Sub

Par défaut, l'API Transcoder a accès à tous les buckets Cloud Storage et sujets Pub/Sub de votre projet. Lorsque vous créez votre première tâche, l'API Transcoder crée un compte de service en utilisant la convention d'attribution de noms suivante :

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

PROJECT_NUMBER est le numéro de votre projet avec l'API Transcoder activée. Ce compte de service se voit attribuer le rôle d'agent de service Transcoder et est autorisé à effectuer les opérations suivantes :

  • Télécharger et importer des fichiers dans les buckets Cloud Storage de votre projet
  • Publier des mises à jour de l'état dans les sujets Pub/Sub de votre projet

Limiter l'accès

Pour limiter cet accès, supprimez le rôle d'agent de service Transcoder 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 Transcoder" et sélectionnez le bouton de modification.
  3. Supprimez le rôle d'agent de service Transcoder 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 la zone 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 Transcoder a désormais accès au bucket.
  5. (Facultatif) Accordez au compte de service l'accès à tous les sujets Pub/Sub configurés :
    1. Accédez à la page des sujets Pub/Sub.
    2. Cliquez sur un sujet.
    3. Sélectionnez l'onglet Autorisations.
    4. Cliquez sur Ajouter un compte principal.
    5. Dans la zone Nouveaux comptes principaux, saisissez le nom du compte de service.
    6. Sous Rôle, sélectionnez Éditeur Pub/Sub.
    7. Cliquez sur Enregistrer. L'API Transcoder a désormais accès au sujet.