To allow a Google Cloud user account or service account to manage, view, or connect to AlloyDB for PostgreSQL resources in a project, you can grant the account predefined Identity and Access Management (IAM) roles.
Depending on the scope of control you want the account to have, you grant it one of these predefined IAM roles:
AlloyDB Admin (
roles/alloydb.admin) to grant full control for all AlloyDB resourcesAlloyDB Editor (
roles/alloydb.editor) to grant read-write access to create, modify, and delete AlloyDB resources, without permission to manage tag bindings or Backup and DR Service backup plansAlloyDB Client (
roles/alloydb.client) and Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) to grant connectivity access to AlloyDB instances from clients connecting with the AlloyDB Auth Proxy or AlloyDB Language ConnectorsAlloyDB Database User (
roles/alloydb.databaseUser) to grant IAM-based database user login access and AlloyDB Studio query access to AlloyDB instancesAlloyDB Viewer (
roles/alloydb.viewer) to grant read-only access to all AlloyDB resourcesAlloyDB Admin for BackupDR (
roles/alloydb.backupDrAdmin) to grant access to manage AlloyDB cluster backups and restores using Backup and DR
For detailed information about the specific IAM permissions these roles provide, see Predefined AlloyDB IAM roles.
Before you begin
- The Google Cloud project you are using must have been enabled to access AlloyDB.
- You must have the Owner (
roles/owner) basic IAM role in the Google Cloud project you are using, or a role that grants these permissions:resourcemanager.projects.getresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
To gain these permissions while following the principle of least privilege, ask your administrator to grant you the Project IAM Admin (
roles/resourcemanager.projectIamAdmin) role. -
Enable the Cloud Resource Manager API in the Google Cloud project you are using.
Procedure
Console
- In the Google Cloud console, go to the IAM page.
- Select the project enabled to access AlloyDB.
- Select a principal (user or service account) to grant access to:
- To grant a role to a principal who already has other roles on the project, find the row containing the principal's email address, click Edit principal in that row, and click Add another role.
- To grant a role to a principal who doesn't already have other roles on the project, click Grant access, then enter the principal's email address.
- From the drop-down list, select one of these roles:
- AlloyDB Admin
- AlloyDB Editor
- AlloyDB Viewer
- AlloyDB Client and Service Usage Consumer
- AlloyDB Database User
- AlloyDB Admin for BackupDR
- Click Save. The principal is granted the role.
gcloud
To use the gcloud CLI, you can install and initialize the Google Cloud CLI, or you can use Cloud Shell.
Use the add-iam-policy-binding command to grant
an AlloyDB predefined role to an IAM principal
(user account or service account).
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=PRINCIPAL \
--role=ALLOYDB_ROLE
Replace the following:
PROJECT_ID: the ID of the project enabled to access AlloyDB.PRINCIPAL: the type and email ID (email address) of the principal:- For user accounts:
user:EMAIL_ID - For service accounts:
serviceAccount:EMAIL_ID
- For user accounts:
ALLOYDB_ROLE: the role that you want to grant the principal. The value must be one of the following:roles/alloydb.adminroles/alloydb.editorroles/alloydb.viewerroles/alloydb.client. Also grantroles/serviceusage.serviceUsageConsumerin a separate command.roles/alloydb.databaseUserroles/alloydb.backupDrAdmin
For details about the permissions these roles grant, see Predefined AlloyDB IAM roles.