Contrôle des accès avec IAM

Cette page explique comment utiliser la gestion de l'authentification et des accès pour contrôler l'accès aux ressources de AutoML Tables, y compris les sources de données et les destinations de résultats.

Présentation de la gestion de l'authentification et des accès

Lorsque vous utilisez AutoML Tables, vous pouvez gérer l'accès à vos ressources avec la gestion de l'authentification et des accès (IAM). IAM vous permet d'accorder un accès plus précis à des ressources Google Cloud spécifiques et empêche tout accès indésirable à d'autres ressources. Cette page décrit les autorisations et les rôles IAM associés à AutoML Tables. Pour obtenir une description détaillée d'IAM, consultez la documentation IAM.

IAM vous permet d'adopter le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources.

Grâce à l'IAM, vous pouvez contrôler qui (utilisateurs) dispose de quelles autorisations d'accès (rôles) à quelles ressources en attribuant un ou plusieurs rôles à l'utilisateur qui accorde certaines autorisations. Par exemple, vous pouvez accorder le rôle de lecteur AutoML (roles.automl.viewer) à un utilisateur, ce qui lui permet d'afficher les ressources dans le projet. Si cet utilisateur a besoin de créer ou de mettre à jour des ressources, vous pouvez lui accorder le rôle d'éditeur AutoML (roles.automl.editor).

Rôles

AutoML Tables utilise l'API AutoML qui fournit un ensemble de rôles prédéfinis afin de vous aider à contrôler l'accès à vos ressources AutoML.

Si ces rôles ne vous attribuent pas les autorisations dont vous avez besoin, vous pouvez également créer des rôles personnalisés.

En outre, les anciens rôles de base (éditeur, lecteur et propriétaire) restent disponibles, même s'ils ne permettent pas un contrôle aussi précis que les rôles AutoML. Si possible, évitez d'utiliser les rôles de base, car ils autorisent l'accès aux ressources de Google Cloud, et pas seulement à AutoML. Apprenez-en plus sur les rôles de base.

Rôles prédéfinis

Cette section récapitule les rôles prédéfinis fournis par AutoML.

Role Permissions

(roles/automl.admin)

Full access to all AutoML resources

Lowest-level resources where you can grant this role:

  • Dataset
  • Model

automl.*

  • automl.annotationSpecs.create
  • automl.annotationSpecs.delete
  • automl.annotationSpecs.get
  • automl.annotationSpecs.list
  • automl.annotationSpecs.update
  • automl.annotations.approve
  • automl.annotations.create
  • automl.annotations.list
  • automl.annotations.manipulate
  • automl.annotations.reject
  • automl.columnSpecs.get
  • automl.columnSpecs.list
  • automl.columnSpecs.update
  • automl.datasets.create
  • automl.datasets.delete
  • automl.datasets.export
  • automl.datasets.get
  • automl.datasets.getIamPolicy
  • automl.datasets.import
  • automl.datasets.list
  • automl.datasets.setIamPolicy
  • automl.datasets.update
  • automl.examples.delete
  • automl.examples.get
  • automl.examples.list
  • automl.examples.update
  • automl.files.delete
  • automl.files.list
  • automl.humanAnnotationTasks.create
  • automl.humanAnnotationTasks.delete
  • automl.humanAnnotationTasks.get
  • automl.humanAnnotationTasks.list
  • automl.locations.get
  • automl.locations.getIamPolicy
  • automl.locations.list
  • automl.locations.setIamPolicy
  • automl.modelEvaluations.create
  • automl.modelEvaluations.get
  • automl.modelEvaluations.list
  • automl.models.create
  • automl.models.delete
  • automl.models.deploy
  • automl.models.export
  • automl.models.get
  • automl.models.getIamPolicy
  • automl.models.list
  • automl.models.predict
  • automl.models.setIamPolicy
  • automl.models.undeploy
  • automl.operations.cancel
  • automl.operations.delete
  • automl.operations.get
  • automl.operations.list
  • automl.tableSpecs.get
  • automl.tableSpecs.list
  • automl.tableSpecs.update

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

(roles/automl.editor)

Editor of all AutoML resources

Lowest-level resources where you can grant this role:

  • Dataset
  • Model

automl.annotationSpecs.*

  • automl.annotationSpecs.create
  • automl.annotationSpecs.delete
  • automl.annotationSpecs.get
  • automl.annotationSpecs.list
  • automl.annotationSpecs.update

automl.annotations.*

  • automl.annotations.approve
  • automl.annotations.create
  • automl.annotations.list
  • automl.annotations.manipulate
  • automl.annotations.reject

automl.columnSpecs.*

  • automl.columnSpecs.get
  • automl.columnSpecs.list
  • automl.columnSpecs.update

automl.datasets.create

automl.datasets.delete

automl.datasets.export

automl.datasets.get

automl.datasets.import

automl.datasets.list

automl.datasets.update

automl.examples.*

  • automl.examples.delete
  • automl.examples.get
  • automl.examples.list
  • automl.examples.update

automl.files.*

  • automl.files.delete
  • automl.files.list

automl.humanAnnotationTasks.*

  • automl.humanAnnotationTasks.create
  • automl.humanAnnotationTasks.delete
  • automl.humanAnnotationTasks.get
  • automl.humanAnnotationTasks.list

automl.locations.get

automl.locations.list

automl.modelEvaluations.*

  • automl.modelEvaluations.create
  • automl.modelEvaluations.get
  • automl.modelEvaluations.list

automl.models.create

automl.models.delete

automl.models.deploy

automl.models.export

automl.models.get

automl.models.list

automl.models.predict

automl.models.undeploy

automl.operations.*

  • automl.operations.cancel
  • automl.operations.delete
  • automl.operations.get
  • automl.operations.list

automl.tableSpecs.*

  • automl.tableSpecs.get
  • automl.tableSpecs.list
  • automl.tableSpecs.update

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

(roles/automl.predictor)

Predict using models

Lowest-level resources where you can grant this role:

  • Model

automl.models.predict

resourcemanager.projects.get

resourcemanager.projects.list

(roles/automl.viewer)

Viewer of all AutoML resources

Lowest-level resources where you can grant this role:

  • Dataset
  • Model

automl.annotationSpecs.get

automl.annotationSpecs.list

automl.annotations.list

automl.columnSpecs.get

automl.columnSpecs.list

automl.datasets.get

automl.datasets.list

automl.examples.get

automl.examples.list

automl.files.list

automl.humanAnnotationTasks.get

automl.humanAnnotationTasks.list

automl.locations.get

automl.locations.list

automl.modelEvaluations.get

automl.modelEvaluations.list

automl.models.get

automl.models.list

automl.operations.get

automl.operations.list

automl.tableSpecs.get

automl.tableSpecs.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

Accorder des autorisations à AutoML Tables dans votre projet de base

Il arrive que vous deviez attribuer des rôles supplémentaires à un compte de service créé automatiquement par AutoML Tables. Par exemple, lorsque vous utilisez des tables externes BigQuery sauvegardées par des sources de données Bigtable, vous devez attribuer des rôles supplémentaires au compte de service créé automatiquement, afin qu'il dispose des autorisations nécessaires pour lire et écrire des données pour BigQuery et Bigtable.

Pour attribuer des rôles supplémentaires au compte de service créé automatiquement pour AutoML Tables dans votre projet de base, procédez comme suit :

  1. Accédez à la page IAM de la console Google Cloud de votre projet de base.

    Accéder à la page IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google en haut à droite.

  3. Cliquez sur l'icône en forme de crayon du compte de service intitulé AutoML Service Agent.

  4. Attribuez les rôles requis au compte de service et enregistrez vos modifications.

Accorder des autorisations à AutoML Tables dans un autre projet

Lorsque vous utilisez des sources de données ou des destinations dans un autre projet, vous devez accorder des autorisations au compte de service AutoML Tables dans ce projet. Le compte de service AutoML Tables est créé automatiquement lorsque vous activez l'API AutoML Tables.

Pour ajouter des autorisations à AutoML Tables dans un autre projet, procédez comme suit :

  1. Accédez à la page IAM de la console Google Cloud pour votre projet de base (le projet dans lequel vous utilisez AutoML Tables).

    Accéder à la page IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google en haut à droite.

  3. Recherchez le compte de service intitulé AutoML Service Agent et copiez son adresse e-mail (indiquée sous Compte principal).

  4. Changez les projets pour le projet dans lequel vous devez accorder les autorisations.

  5. Cliquez sur Ajouter, puis saisissez l'adresse e-mail dans Nouveaux membres.

  6. Ajoutez tous les rôles requis, puis cliquez sur Enregistrer.

Fournir l'accès à Google Sheets

Si vous utilisez une source de données BigQuery externe sauvegardée par Google Sheets, vous devez partager le fichier avec le compte de service AutoML. Le compte de service AutoML Tables est créé automatiquement lorsque vous activez l'API AutoML Tables.

Pour autoriser AutoML Tables à accéder à votre fichier Google Sheets, procédez comme suit :

  1. Accédez à la page "IAM" de la console Google Cloud.

    Accéder à la page IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google en haut à droite.

  3. Recherchez le compte de service intitulé AutoML Service Agent.

  4. Copiez le nom du compte principal dans le presse-papiers.

    Le nom du compte principal est une adresse e-mail, semblable à ceci :

    service-358517216@gcp-sa-automl.iam.gserviceaccount.com
    
  5. Ouvrez votre fichier Google Sheets et partagez-le à l'aide de cette adresse.

Gérer les rôles IAM

Vous pouvez attribuer, modifier et révoquer des rôles IAM à l'aide de la console Google Cloud, de l'API IAM ou de l'outil de ligne de commande gcloud. Pour obtenir des instructions détaillées, consultez la page Accorder, modifier et révoquer les accès.

Étapes suivantes

Obtenez plus d'informations sur Identity and Access Management.