IAM roles for Document AI

Predefined roles

The following table describes Identity and Access Management (IAM) roles that are associated with Document AI and lists the permissions that are contained in each role. Unless otherwise noted, these roles can be applied either to entire projects or specific processors.

Role Description Permissions
Cloud DocumentAI Administrator (documentai.googleapis.com/admin) Grants full access to all resources in Cloud DocumentAI. Role: documentai.googleapis.com/editor
Cloud DocumentAI Editor (documentai.googleapis.com/editor) Grants access to use all resources in Cloud DocumentAI Role: documentai.googleapis.com/viewer
documentai.googleapis.com/processors.create
documentai.googleapis.com/processors.update
documentai.googleapis.com/processors.delete
Cloud DocumentAI Viewer (documentai.googleapis.com/viewer) Grants access to view all resources and process documents in Cloud DocumentAI Role: documentai.googleapis.com/apiUser
Permissions: cloudresourcemanager.googleapis.com/projects.get
cloudresourcemanager.googleapis.com/projects.list
documentai.googleapis.com/locations.get
documentai.googleapis.com/locations.list
documentai.googleapis.com/processorTypes.list
documentai.googleapis.com/processors.get
documentai.googleapis.com/processors.list
Cloud DocumentAI API User (documentai.googleapis.com/apiUser) Grants access to process documents in Cloud DocumentAI Permissions: documentai.googleapis.com/operations.getLegacy
documentai.googleapis.com/processors.processOnline
documentai.googleapis.com/processors.processBatch

Basic roles

Basic roles are roles that existed prior to IAM. These roles have unique characteristics:

  • Basic roles can only be granted for an entire project, not for individual buckets within the project. Like other roles that you grant for a project, basic roles apply to all buckets and objects in the project.

  • Basic roles contain additional permissions for other Google Cloud services that are not covered in this section. See basic roles for a general discussion of the permissions that basic roles grant.

  • In some cases, basic roles can be used as if they were groups, which causes any member that has the basic role to get additional access for some resources.

    • A basic role can be used as if it were a group when granting roles for buckets.

    • A basic role can be used as if it were a group when setting ACLs on objects.

    For a discussion of additional access that members of basic roles typically gain due to this behavior, see modifiable behavior.

Custom roles

You may wish to define your own roles which contain bundles of permissions that you specify. To support this, IAM offers custom roles.

What's next