In the Google Cloud console, on the project selector page,
select or create a Google Cloud project.
Roles required to select or create a project
Select a project: Selecting a project doesn't require a specific
IAM role—you can select any project that you've been
granted a role on.
Create a project: To create a project, you need the Project Creator role
(roles/resourcemanager.projectCreator), which contains the
resourcemanager.projects.create permission. Learn how to grant
roles.
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
如果使用自定义服务账号,请验证 Dataform 服务代理是否同时拥有该自定义服务账号的 Service Account User 角色 (roles/iam.serviceAccountUser) 和 Service Account Token Creator 角色 (roles/iam.serviceAccountTokenCreator)。
针对 Dataform 服务代理修正 SERVICE_AGENT_GRANTED_BASIC_ROLE 发现结果时,请将权限过多的角色替换为具有最低必需权限且范围限定为特定资源的预定义角色。例如,授予特定服务账号的 Service Account User 角色 (roles/iam.serviceAccountUser)。
Edit access to Workspaces and Read-only access to Repositories.
dataform.commentThreads.get
dataform.commentThreads.list
dataform.comments.get
dataform.comments.list
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.config.get
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.operations.list
dataform.releaseConfigs.get
dataform.releaseConfigs.list
dataform.repositories.computeAccessTokenStatus
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.workflowConfigs.get
dataform.workflowConfigs.list
dataform.workflowInvocations.*
dataform.workflowInvocations.cancel
dataform.workflowInvocations.create
dataform.workflowInvocations.delete
dataform.workflowInvocations.get
dataform.workflowInvocations.list
dataform.workflowInvocations.query
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.installNpmPackages
dataform.workspaces.list
dataform.workspaces.makeDirectory
dataform.workspaces.moveDirectory
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.removeDirectory
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.workspaces.searchFiles
dataform.workspaces.writeFile
resourcemanager.projects.get
resourcemanager.projects.list
Dataform Viewer
(roles/dataform.viewer)
Read-only access to all Dataform resources.
dataform.commentThreads.get
dataform.commentThreads.list
dataform.comments.get
dataform.comments.list
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.config.get
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.operations.list
dataform.releaseConfigs.get
dataform.releaseConfigs.list
dataform.repositories.computeAccessTokenStatus
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.workflowConfigs.get
dataform.workflowConfigs.list
dataform.workflowInvocations.get
dataform.workflowInvocations.list
dataform.workflowInvocations.query
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.list
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.searchFiles
resourcemanager.projects.get
resourcemanager.projects.list
Code Commenter
Beta
(roles/dataform.codeCommenter)
Permissions to comment, at the repository level. Grants CRUD access over commentThread and comment resources.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.folders.get
dataform.folders.queryContents
dataform.locations.get
dataform.repositories.get
dataform.repositories.readFile
resourcemanager.projects.get
resourcemanager.projects.list
Code Creator
(roles/dataform.codeCreator)
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.
dataform.commentThreads.get
dataform.commentThreads.list
dataform.comments.get
dataform.comments.list
dataform.folders.create
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.repositories.create
dataform.repositories.list
resourcemanager.projects.get
resourcemanager.projects.list
Code Editor
(roles/dataform.codeEditor)
Edit access code resources.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.addContents
dataform.folders.create
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.repositories.commit
dataform.repositories.computeAccessTokenStatus
dataform.repositories.create
dataform.repositories.createTagBinding
dataform.repositories.deleteTagBinding
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.installNpmPackages
dataform.workspaces.list
dataform.workspaces.makeDirectory
dataform.workspaces.moveDirectory
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.removeDirectory
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.workspaces.searchFiles
dataform.workspaces.writeFile
resourcemanager.projects.get
resourcemanager.projects.list
Code Owner
(roles/dataform.codeOwner)
Full access to code resources.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.*
dataform.folders.addContents
dataform.folders.create
dataform.folders.delete
dataform.folders.deleteTree
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.move
dataform.folders.queryContents
dataform.folders.setIamPolicy
dataform.folders.update
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.operations.list
dataform.repositories.commit
dataform.repositories.computeAccessTokenStatus
dataform.repositories.create
dataform.repositories.createTagBinding
dataform.repositories.delete
dataform.repositories.deleteTagBinding
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.move
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.repositories.setIamPolicy
dataform.repositories.update
dataform.workspaces.*
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.installNpmPackages
dataform.workspaces.list
dataform.workspaces.makeDirectory
dataform.workspaces.moveDirectory
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.removeDirectory
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.workspaces.searchFiles
dataform.workspaces.setIamPolicy
dataform.workspaces.writeFile
resourcemanager.projects.get
resourcemanager.projects.list
Code Scheduler
Beta
(roles/dataform.codeScheduler)
Access for scheduling workflows and releases.
dataform.releaseConfigs.create
dataform.workflowConfigs.create
Code Viewer
(roles/dataform.codeViewer)
Read-only access to all code resources.
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.repositories.computeAccessTokenStatus
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.list
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.searchFiles
resourcemanager.projects.get
resourcemanager.projects.list
Team Folder Commenter
Beta
(roles/dataform.teamFolderCommenter)
View and comment access to a team folder and its contents.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.repositories.computeAccessTokenStatus
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.list
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.searchFiles
resourcemanager.projects.get
resourcemanager.projects.list
Team Folder Contributor
(roles/dataform.teamFolderContributor)
Edit access to a team folder and its contents.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.addContents
dataform.folders.create
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.repositories.commit
dataform.repositories.computeAccessTokenStatus
dataform.repositories.create
dataform.repositories.createTagBinding
dataform.repositories.deleteTagBinding
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.teamFolders.update
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.installNpmPackages
dataform.workspaces.list
dataform.workspaces.makeDirectory
dataform.workspaces.moveDirectory
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.removeDirectory
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.workspaces.searchFiles
dataform.workspaces.writeFile
resourcemanager.projects.get
resourcemanager.projects.list
Team Folder Creator
(roles/dataform.teamFolderCreator)
Access to create new team folders.
dataform.teamFolders.create
Team Folder Owner
(roles/dataform.teamFolderOwner)
Full access to a team folder and its contents. Can share the team folder and its contents.
dataform.commentThreads.*
dataform.commentThreads.create
dataform.commentThreads.delete
dataform.commentThreads.get
dataform.commentThreads.list
dataform.commentThreads.update
dataform.comments.*
dataform.comments.create
dataform.comments.delete
dataform.comments.get
dataform.comments.list
dataform.comments.update
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.*
dataform.folders.addContents
dataform.folders.create
dataform.folders.delete
dataform.folders.deleteTree
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.move
dataform.folders.queryContents
dataform.folders.setIamPolicy
dataform.folders.update
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.operations.get
dataform.operations.list
dataform.repositories.commit
dataform.repositories.computeAccessTokenStatus
dataform.repositories.create
dataform.repositories.createTagBinding
dataform.repositories.delete
dataform.repositories.deleteTagBinding
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.move
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.repositories.setIamPolicy
dataform.repositories.update
dataform.teamFolders.delete
dataform.teamFolders.deleteTree
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.teamFolders.setIamPolicy
dataform.teamFolders.update
dataform.workspaces.*
dataform.workspaces.commit
dataform.workspaces.create
dataform.workspaces.delete
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.installNpmPackages
dataform.workspaces.list
dataform.workspaces.makeDirectory
dataform.workspaces.moveDirectory
dataform.workspaces.moveFile
dataform.workspaces.pull
dataform.workspaces.push
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.removeDirectory
dataform.workspaces.removeFile
dataform.workspaces.reset
dataform.workspaces.searchFiles
dataform.workspaces.setIamPolicy
dataform.workspaces.writeFile
resourcemanager.projects.get
resourcemanager.projects.list
Team Folder Viewer
(roles/dataform.teamFolderViewer)
View access to a team folder and its contents.
dataform.compilationResults.*
dataform.compilationResults.create
dataform.compilationResults.get
dataform.compilationResults.list
dataform.compilationResults.query
dataform.folders.get
dataform.folders.getIamPolicy
dataform.folders.queryContents
dataform.locations.*
dataform.locations.get
dataform.locations.list
dataform.repositories.computeAccessTokenStatus
dataform.repositories.fetchHistory
dataform.repositories.fetchRemoteBranches
dataform.repositories.get
dataform.repositories.getIamPolicy
dataform.repositories.list
dataform.repositories.listEffectiveTags
dataform.repositories.listTagBindings
dataform.repositories.queryDirectoryContents
dataform.repositories.readFile
dataform.teamFolders.get
dataform.teamFolders.getIamPolicy
dataform.workspaces.fetchFileDiff
dataform.workspaces.fetchFileGitStatuses
dataform.workspaces.fetchGitAheadBehind
dataform.workspaces.get
dataform.workspaces.getIamPolicy
dataform.workspaces.list
dataform.workspaces.queryDirectoryContents
dataform.workspaces.readFile
dataform.workspaces.searchFiles
resourcemanager.projects.get
resourcemanager.projects.list
Service agent roles
Service agent roles should only be granted to service agents.
Role
Permissions
Dataform Service Agent
(roles/dataform.serviceAgent)
Gives permission for the Dataform API to access a secret from Secret Manager
您可以通过向 allAuthenticatedUsers 主账号授予对 Dataform 代码库的 IAM 角色,来授予对该代码库的公开访问权限。
当您向 allAuthenticatedUsers 主账号分配 IAM 角色时,互联网上所有已使用 Google 账号进行身份验证的服务账号和用户都会获得该角色。此标识符包括未关联到 Google Workspace 账号或 Cloud Identity 网域的账号,如个人 Gmail 账号。不包括未经身份验证的用户,例如匿名访问者。如需了解详情,请参阅所有经过身份验证的用户。