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 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 Si vous créez une invocation de workflow à partir d'un résultat de compilation, le compte de service 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
oupatch
- 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.
- Si la propriété
workflowConfigs.create
ouworkflowConfigs.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
- Pour savoir comment créer un dépôt, consultez Créer un dépôt.
- Pour savoir comment créer une configuration de workflow, consultez Planifier des exécutions.
- Pour savoir comment créer une configuration de version, consultez Configurer des compilations.