Rôles Dataform prédéfinis
Le tableau suivant répertorie les rôles prédéfinis qui vous autorisent à accéder aux ressources Dataform:
Role | Permissions |
---|---|
Dataform Admin( Full access to all Dataform resources. |
|
Code Creator( Access only to private and shared code resources. The permissions in the Code Creator let you create and list code in Dataform, and access only the code that you created and code that was explicitly shared with you. |
|
Code Editor( Edit access code resources. |
|
Code Owner( Full access to code resources. |
|
Code Viewer( Read-only access to all code resources. |
|
Dataform Editor( Edit access to Workspaces and Read-only access to Repositories. |
|
Dataform Viewer( Read-only access to all Dataform resources. |
|
Rôles Dataform personnalisés
Les rôles personnalisés peuvent inclure toutes les autorisations que vous spécifiez. Vous pouvez créer des rôles personnalisés qui incluent des autorisations permettant d'effectuer des opérations d'administration spécifiques, telles que la création d'espaces de travail de développement ou la création de fichiers et de répertoires dans un espace de travail de développement. Pour créer des rôles personnalisés, consultez la section Créer et gérer les rôles personnalisés.
Remarques de sécurité concernant les autorisations Dataform
Tout utilisateur disposant de l'autorisation dataform.repositories.create
peut exécuter du code dans BigQuery à l'aide du compte de service Dataform par défaut et de toutes les autorisations accordées à ce compte de service. Cela inclut l'exécution des workflows SQL Dataform.
Les autorisations dataform.repositories.create
sont incluses dans les rôles IAM suivants:
- Utilisateur BigQuery Studio (
roles/bigquery.studioUser
) - Créateur de code (
roles/dataform.codeCreator
) - Éditeur de code (
roles/dataform.codeEditor
) - Propriétaire de code (
roles/dataform.codeOwner
) - Utilisateur Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
) - Administrateur Dataform (
roles/dataform.admin
)
Pour limiter les données qu'un utilisateur ou un compte de service peut lire ou écrire dans BigQuery, vous pouvez accorder des autorisations IAM BigQuery précises aux ensembles de données ou tables BigQuery sélectionnés. Pour en savoir plus, consultez les pages Contrôler l'accès aux ensembles de données et Contrôler l'accès aux tables et aux vues.
Pour en savoir plus sur le compte de service Dataform par défaut, ainsi que sur les rôles et les autorisations requis, consultez la page Accorder l'accès requis à Dataform.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Afficher les rôles Dataform
Dans la console Google Cloud, procédez comme suit:
Accédez à la page IAM et administration > Rôles.
Dans le champ Filter (Filtre), sélectionnez Used in (Utilisé dans), saisissez
Dataform
, puis appuyez sur Entrée.Cliquez sur l'un des rôles répertoriés pour afficher ses autorisations dans le volet de droite.
Par exemple, le rôle d'administrateur Dataform dispose d'un accès complet à toutes les ressources Dataform.
Pour en savoir plus sur l'attribution d'un rôle sur un projet, consultez Attribuer un rôle. Vous pouvez attribuer des rôles prédéfinis ou personnalisés de cette manière.
Contrôler l'accès à un dépôt individuel
Pour contrôler l'accès à Dataform avec des autorisations précises, vous pouvez définir des rôles IAM Dataform sur des dépôts individuels à l'aide de la requête repositories.setIamPolicy
de l'API Dataform.
Pour définir les rôles IAM Dataform dans un dépôt Dataform individuel, procédez comme suit:
Dans le terminal, transmettez la requête
repositories.setIamPolicy
de l'API Dataform avec une règle d'accès.Dans la stratégie, liez un utilisateur, un groupe, un domaine ou un compte de service à un rôle sélectionné en respectant le format suivant:
{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "TYPE:IDENTIFIER", ] }, ], } }
Remplacez les éléments suivants :
ROLE
: rôle IAM Dataform que vous souhaitez attribuer au dépôtTYPE
:user
,group
,domain
ouserviceAccount
IDENTIFIER
: utilisateur, groupe, domaine ou compte de service auquel vous souhaitez attribuer le rôle
Sur la page IAM, assurez-vous que tous les utilisateurs peuvent afficher la liste complète des dépôts Dataform via un rôle Dataform disposant de l'autorisation
dataform.repositories.list
.Dans IAM, assurez-vous que seuls les utilisateurs ayant besoin d'un accès complet à tous les dépôts Dataform se voient attribuer le rôle d'administrateur Dataform pour tous les dépôts.
La commande suivante transmet à un seul utilisateur la requête de l'API Dataform repositories.setIamPolicy
, qui accorde le rôle d'éditeur Dataform sur le dépôt sales
:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.editor", "members": ["user:sasha@examplepetstore.com"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Accorder un accès public à un dépôt
Vous pouvez accorder un accès public à un dépôt Dataform en attribuant des rôles IAM sur le dépôt au compte principal allAuthenticatedUsers
.
Lorsque vous attribuez un rôle IAM au compte principal allAuthenticatedUsers
, ce rôle est attribué aux comptes de service et à tous les internautes qui se sont authentifiés avec un compte Google. Cela inclut les comptes qui ne sont pas associés à un compte Google Workspace ni à un domaine Cloud Identity, tels que des comptes Gmail personnels. Les utilisateurs non authentifiés,
tels que les visiteurs anonymes, ne sont pas inclus. Pour en savoir plus, consultez la section Tous les utilisateurs authentifiés.
Par exemple, lorsque vous attribuez le rôle Lecteur Dataform à allAuthenticatedUsers
sur le dépôt sales
, tous les comptes de service et les utilisateurs d'Internet qui se sont authentifiés avec un compte Google disposent d'un accès en lecture seule à toutes les ressources de code sales
.
Pour accorder un accès public à un dépôt Dataform, procédez comme suit:
Dans le terminal, transmettez la requête
repositories.setIamPolicy
de l'API Dataform avec une règle d'accès.Dans la stratégie, liez le compte principal
allAuthenticatedUsers
à un rôle sélectionné au format suivant:{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "allAuthenticatedUsers", ] }, ], } }
Remplacez les éléments suivants :
ROLE
: rôle IAM Dataform que vous souhaitez accorder à tous les utilisateurs authentifiés.
La commande suivante transmet la requête API Dataform repositories.setIamPolicy
qui accorde le rôle de lecteur Dataform sur le dépôt sales
à allAuthenticatedUsers
:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.viewer", "members": ["allAuthenticatedUsers"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Empêcher l'accès public aux dépôts
Pour vous assurer qu'aucun accès public n'est accordé au dépôt Dataform, vous pouvez restreindre le compte principal allAuthenticatedUsers
dans votre projet.
Pour restreindre allAuthenticatedUsers
dans votre projet, vous pouvez définir la règle iam.allowedPolicyMemberDomains
et supprimer allAuthenticatedUsers
de la liste des allowed_values
.
Lorsque vous limitez allAuthenticatedUsers
dans la règle iam.allowedPolicyMemberDomains
, le compte principal allAuthenticatedUsers
ne peut être utilisé dans aucune stratégie IAM de votre projet, ce qui empêche d'accorder un accès public à toutes les ressources, y compris aux dépôts Dataform.
Pour en savoir plus sur la règle iam.allowedPolicyMemberDomains
et pour obtenir des instructions sur sa définition, consultez la page Restreindre les identités par domaine.
Fédération des identités des employés dans Dataform
La fédération des identités des employés vous permet d'utiliser un fournisseur d'identité externe (IdP) pour authentifier et autoriser des utilisateurs à accéder aux services Google Cloud avec IAM.
Dataform est compatible avec la fédération des identités des employés, sans limites connues.
Étapes suivantes
- Pour en savoir plus sur IAM, consultez la présentation d'IAM.
- Pour en savoir plus sur les rôles et les autorisations, consultez la page Comprendre les rôles.
- Pour en savoir plus sur la gestion de l'accès aux ressources, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
- Pour savoir comment attribuer des rôles BigQuery aux tables dans Dataform, consultez la page Contrôler l'accès à des tables individuelles avec IAM.
- Pour en savoir plus sur les concepts clés de la fédération des identités des employés, consultez la page Fédération des identités des employés.