預先定義的 Cloud SQL IAM 角色
Cloud SQL 提供一些預先定義的角色,您可以使用這些角色提供專案成員精細的權限。
授予專案成員的角色用於控管成員能夠採取的動作。專案成員可以是個人、群組或服務帳戶。只要您擁有必要的權限,就能夠將多種角色授予同一個專案成員,也可以隨時變更授予專案成員的角色。
權限範圍越廣的角色會包含定義較為狹隘的角色。舉例來說,「Cloud SQL 編輯者」角色具有所有「Cloud SQL 檢視者」角色的權限,以及其他「Cloud SQL 編輯者」角色的權限。
同樣地,Cloud SQL 管理員角色包含 Cloud SQL 編輯者角色的所有權限,以及額外權限。
基本角色 (擁有者、編輯者、檢視者) 提供跨 Google Cloud的權限。 Cloud SQL 的專屬角色僅提供 Cloud SQL 權限,除了下列 Google Cloud 權限,這些權限為一般Google Cloud 使用所需:
- resourcemanager.projects.get
- resourcemanager.projects.list
- serviceusage.quotas.get
- serviceusage.services.get
- serviceusage.services.use
下表列出適用於 Cloud SQL 的預先定義角色及其 Cloud SQL 權限:
| 角色 名稱 | 說明 Cloud SQL 權限 | 
|---|---|
| roles/owner擁有者 | 對於所有 Google Cloud 資源具有完整存取權與控管、可管理使用者存取權。 cloudsql.* | 
| roles/editor編輯者 | 具備所有 Google Cloud 和 Cloud SQL 資源的讀取/寫入權限 (具備完整的控管權限,但無法修改權限)。 除了 以外的所有 cloudsql權限cloudsql.*.getIamPolicycloudsql.*.setIamPolicy | 
| roles/viewer檢視者 | 具備所有 Google Cloud 資源的唯讀存取權,包括 Cloud SQL 資源。 cloudsql.*.exportcloudsql.*.getcloudsql.*.list | 
| roles/cloudsql.adminCloud SQL 管理員 | Cloud SQL 資源的完整控管權。 cloudsql.*recommender.cloudsqlInstanceDiskUsageTrendInsights.*recommender.cloudsqlInstanceOutOfDiskRecommendations.*recommender.cloudsqlInstancePerformanceInsights.*recommender.cloudsqlInstancePerformanceRecommendations.*recommender.cloudsqlInstanceSecurityInsights.*recommender.cloudsqlInstanceSecurityRecommendations.*recommender.cloudsqlUnderProvisionedInstanceRecommendations.*recommender.cloudsqlInstanceOomProbabilityInsights.*recommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.*recommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.* | 
| roles/cloudsql.editorCloud SQL 編輯者 | 管理 Cloud SQL 資源。無法查看或修改權限,也無法修改使用者或 SSL 憑證。無法匯入資料或從備份還原,也無法複製、刪除或升級執行個體。無法啟動或停止副本。無法刪除資料庫、副本或備份。 cloudsql.instances.addServerCacloudsql.instances.addServerCertificatecloudsql.instances.connectcloudsql.instances.exportcloudsql.instances.failovercloudsql.instances.getcloudsql.instances.listcloudsql.instances.listServerCascloudsql.instances.listServerCertificatescloudsql.instances.migratecloudsql.instances.reencryptcloudsql.instances.restartcloudsql.instances.rotateServerCacloudsql.instances.rotateServerCertificatecloudsql.instances.truncateLogcloudsql.instances.updatecloudsql.databases.createcloudsql.databases.getcloudsql.databases.listcloudsql.databases.updatecloudsql.backupRuns.createcloudsql.backupRuns.exportcloudsql.backupRuns.getcloudsql.backupRuns.listcloudsql.backupRuns.updatecloudsql.schemas.viewcloudsql.sslCerts.getcloudsql.sslCerts.listcloudsql.users.listrecommender.cloudsqlInstanceDiskUsageTrendInsights.getrecommender.cloudsqlInstanceDiskUsageTrendInsights.listrecommender.cloudsqlInstanceDiskUsageTrendInsights.updaterecommender.cloudsqlInstanceOutOfDiskRecommendations.getrecommender.cloudsqlInstanceOutOfDiskRecommendations.listrecommender.cloudsqlInstanceOutOfDiskRecommendations.updaterecommender.cloudsqlInstancePerformanceInsights.getrecommender.cloudsqlInstancePerformanceInsights.listrecommender.cloudsqlInstancePerformanceInsights.updaterecommender.cloudsqlInstancePerformanceRecommendations.getrecommender.cloudsqlInstancePerformanceRecommendations.listrecommender.cloudsqlInstancePerformanceRecommendations.updaterecommender.cloudsqlInstanceSecurityInsights.getrecommender.cloudsqlInstanceSecurityInsights.listrecommender.cloudsqlInstanceSecurityInsights.updaterecommender.cloudsqlInstanceSecurityRecommendations.getrecommender.cloudsqlInstanceSecurityRecommendations.listrecommender.cloudsqlInstanceSecurityRecommendations.updaterecommender.cloudsqlUnderProvisionedInstanceRecommendations.getrecommender.cloudsqlUnderProvisionedInstanceRecommendations.listrecommender.cloudsqlUnderProvisionedInstanceRecommendations.updaterecommender.cloudsqlInstanceOomProbabilityInsights.getrecommender.cloudsqlInstanceOomProbabilityInsights.listrecommender.cloudsqlInstanceOomProbabilityInsights.updaterecommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.getrecommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.listrecommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.updaterecommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.getrecommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.listrecommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.update | 
| roles/cloudsql.viewerCloud SQL 檢視者 | 所有 Cloud SQL 資源的唯讀權限。 cloudsql.*.exportcloudsql.*.getcloudsql.*.listcloudsql.instances.listServerCascloudsql.instances.listServerCertificatesrecommender.cloudsqlInstanceOutOfDiskRecommendations.getrecommender.cloudsqlInstanceOutOfDiskRecommendations.listrecommender.cloudsqlInstanceDiskUsageTrendInsights.getrecommender.cloudsqlInstanceDiskUsageTrendInsights.listrecommender.cloudsqlInstancePerformanceInsights.getrecommender.cloudsqlInstancePerformanceInsights.listrecommender.cloudsqlInstancePerformanceRecommendations.getrecommender.cloudsqlInstancePerformanceRecommendations.listrecommender.cloudsqlInstanceSecurityInsights.getrecommender.cloudsqlInstanceSecurityInsights.listrecommender.cloudsqlInstanceSecurityRecommendations.getrecommender.cloudsqlInstanceSecurityRecommendations.listrecommender.cloudsqlUnderProvisionedInstanceRecommendations.getrecommender.cloudsqlUnderProvisionedInstanceRecommendations.listrecommender.cloudsqlInstanceOomProbabilityInsights.getrecommender.cloudsqlInstanceOomProbabilityInsights.listrecommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.getrecommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.listrecommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.getrecommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.list | 
| roles/cloudsql.clientCloud SQL 用戶端 | 從 App Engine 和 Cloud SQL Auth Proxy 連線至 Cloud SQL 執行個體。如要使用 IP 位址存取執行個體,則不需要。 cloudsql.instances.connectcloudsql.instances.get | 
| roles/cloudsql.instanceUserCloud SQL 執行個體使用者 | 這個角色可以存取 Cloud SQL 執行個體。 cloudsql.instances.getcloudsql.instances.login | 
| roles/cloudsql.schemaViewerCloud SQL 結構定義檢視者 | 可以存取 Dataplex Universal Catalog 的 Cloud SQL 執行個體結構定義。 cloudsql.schemas.view | 
| roles/cloudsql.studioUserCloud SQL Studio 使用者 | 這個角色可以存取 Cloud SQL Studio。 cloudsql.databases.listcloudsql.instances.executeSqlcloudsql.instances.getcloudsql.instances.logincloudsql.users.list | 
權限與角色
下表列出 Cloud SQL 支援的各項權限、包含這些權限的 Cloud SQL 角色,以及基本角色。
| 權限 | Cloud SQL 角色 | 舊版角色 | 
|---|---|---|
| cloudsql.backupRuns.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.backupRuns.create | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.backupRuns.delete | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.backupRuns.export | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| cloudsql.backupRuns.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.backupRuns.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.databases.create | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.databases.delete | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.databases.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.databases.getIamPolicy | Cloud SQL 管理員 | 擁有者 | 
| cloudsql.databases.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL Studio 使用者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.databases.setIamPolicy | Cloud SQL 管理員 | 擁有者 | 
| cloudsql.databases.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.addServerCa | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.addServerCertificate | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.clone | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.connect | Cloud SQL 管理員 Cloud SQL 用戶端 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.create | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.delete | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.demoteMaster | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.executeSql | Cloud SQL 管理員 Cloud SQL Studio 使用者 | 擁有者 | 
| cloudsql.instances.export | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.instances.failover | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.get | Cloud SQL 管理員 Cloud SQL 用戶端 Cloud SQL 編輯者 Cloud SQL Studio 使用者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.instances.getIamPolicy | Cloud SQL 管理員 | 擁有者 | 
| cloudsql.instances.import | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.instances.listServerCas | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.instances.listServerCertificates | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.instances.promoteReplica | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.resetSslConfig | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.reencrypt | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.restart | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.restoreBackup | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instance.rotateServerCa | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instance.rotateServerCertificate | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.setIamPolicy | Cloud SQL 管理員 | 擁有者 | 
| cloudsql.instances.startReplica | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.stopReplica | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.instances.truncateLog | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.instances.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 編輯者 | 
| cloudsql.schemas.view | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 結構定義檢視者 | 檢視者 | 
| cloudsql.sslCerts.create | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.sslCerts.delete | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.sslCerts.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.sslCerts.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.users.create | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.users.delete | Cloud SQL 管理員 | 編輯者 | 
| cloudsql.users.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL Studio 使用者 Cloud SQL 檢視者 | 檢視者 | 
| cloudsql.users.update | Cloud SQL 管理員 | 編輯者 | 
| recommender.cloudsqlInstanceDiskUsageTrendInsights.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceDiskUsageTrendInsights.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceDiskUsageTrendInsights.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceOutOfDiskRecommendations.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceOutOfDiskRecommendations.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceOutOfDiskRecommendations.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceInsights.get
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceInsights.list
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceInsights.update
 | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceRecommendations.get
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceRecommendations.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstancePerformanceRecommendations.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceOomProbabilityInsights.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceOomProbabilityInsights.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceOomProbabilityInsights.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityInsights.get
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityInsights.list
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityInsights.update
 | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityRecommendations.get
 | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityRecommendations.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceSecurityRecommendations.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedCpuUsageInsights.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlInstanceUnderprovisionedMemoryUsageInsights.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
| recommender.cloudsqlUnderProvisionedInstanceRecommendations.get | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlUnderProvisionedInstanceRecommendations.list | Cloud SQL 管理員 Cloud SQL 編輯者 Cloud SQL 檢視者 | 不適用 | 
| recommender.cloudsqlUnderProvisionedInstanceRecommendations.update | Cloud SQL 管理員 Cloud SQL 編輯者 | 不適用 | 
自訂角色
如果預先定義的角色無法滿足您的獨特業務需求,您可以定義自己的自訂角色,並指定這些角色擁有的權限。為了支援這方面的需求,身分與存取權管理提供了自訂角色。
為 Cloud SQL 建立自訂角色時,請務必同時加入 cloudsql.instances.list 和 cloudsql.instances.get。否則, Google Cloud 主控台將無法針對 Cloud SQL 正常運作。