Utiliser le mode d'action en tant que strict

Le mode strict "Agir en tant que" permet d'effectuer un contrôle de sécurité supplémentaire pour les actions utilisateur suivantes dans Dataform :

  • Créer ou mettre à jour un dépôt
  • Créer ou mettre à jour une configuration de workflow
  • Créer une invocation de workflow
  • Mettre à jour une configuration de version

Cette vérification de sécurité supplémentaire exige que l'utilisateur qui effectue ces actions dispose de l'autorisation iam.serviceAccounts.actAs sur le compte de service effectif, c'est-à-dire le compte de service dont les identifiants sont utilisés pour exécuter les workflows. Pour en savoir plus sur les comptes de service, consultez Associer des comptes de service à des ressources.

Vous pouvez activer ce mode de plusieurs façons :

  • Lorsque vous créez un dépôt
  • Lorsque vous mettez à jour un dépôt existant avec l'indicateur de dépôt strict_act_as_checks

Rôles requis

Pour obtenir les autorisations nécessaires pour effectuer les tâches de ce document, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur du compte de service (roles/iam.serviceAccountUser) sur le compte de service personnalisé. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Déterminer le compte de service effectif

Vous pouvez déterminer le compte de service effectif qui exécute les workflows en fonction du type de ressource et des conditions suivantes :

Type de ressource Compte de service effectif
Dépôts

Si vous sélectionnez un compte de service lorsque vous créez le dépôt, le compte de service Repository.ServiceAccount est utilisé.

Sinon, la valeur par défaut est le compte de service Dataform.

Configuration du workflow

Vous pouvez sélectionner un compte de service lorsque vous créez la configuration du workflow.

Sinon, la valeur par défaut est le compte de service Dataform du dépôt.

Appel de workflow

Si le résultat de la compilation est WORKFLOW_CONFIG, le compte de service effectif de la configuration du workflow est utilisé.

Si vous créez une invocation de workflow à partir d'un résultat de compilation, le compte de service WorkflowInvocation.InvocationConfig est utilisé s'il est défini.

Sinon, la valeur par défaut est le compte de service Dataform du dépôt.

Attribuer le rôle IAM "Utilisateur de compte de service"

Le rôle Utilisateur du compte de service (roles/iam.serviceAccountUser) contient l'autorisation iam.serviceAccounts.actAs, qui est requise pour le mode "Agir en tant que" strict. Lorsque vous utilisez l'API Dataform, vous devez disposer du rôle Utilisateur du compte de service pour le compte de service effectif en fonction de la méthode projects.locations.repositories que vous appelez :

  • create ou patch
    • Si la propriété Repository.ServiceAccount est définie, vous devez disposer du rôle Utilisateur du compte de service pour cette propriété.
    • Si vous appelez la méthode patch, vous devez disposer du rôle Utilisateur du compte de service pour tous les comptes de service effectifs dans toutes les configurations de workflow du dépôt.
  • workflowConfigs.create ou workflowConfigs.patch
    • Vous devez disposer du rôle Utilisateur du compte de service pour le compte de service effectif utilisé dans la configuration du workflow.
  • releaseConfigs.patch
    • Vous devez disposer du rôle "Utilisateur du compte de service" pour tous les comptes de service effectifs utilisés dans les configurations de workflow à l'aide de cette configuration de version.
  • workflowInvocations.create
    • Vous devez disposer du rôle Utilisateur du compte de service pour le compte de service effectif utilisé dans l'appel du workflow.

Pour en savoir plus, consultez les rôles requis pour créer une configuration de workflow et les rôles requis pour créer une configuration de version.

Versions automatiques pour les dépôts

Lorsque le mode "Agir en tant que" est activé, les versions automatiques sont désactivées pour les configurations de version des dépôts Dataform. Cela ne s'applique pas aux dépôts connectés à des dépôts tiers.

De plus, si vous activez le mode "Agir en tant que", le dépôt est vérifié pour déterminer s'il dispose d'une configuration de publication automatique définie à l'aide de la planification Cron. Cela ne s'applique pas aux dépôts connectés à des dépôts tiers.

Étapes suivantes