Prerequisites
The prerequisites for creating resources in Oracle AI Database@Google Cloud are as follows.
Public and Private Keys
Before you start creating either an Exadata VM Cluster or a Base Database, you need access to an SSH private and public key. For more information on how to create SSH keys, see Create SSH keys.
Oracle AI Database@Google Cloud Roles Overview
IAM lets you control user and group access to Oracle AI Database@Google Cloud resources for the Exadata Database and Autonomous AI Database services. Roles are defined at the Google Cloud project level. For example, giving a user viewer access in an Exadata Infrastructure instance would grant them viewer access to all Exadata Infrastructure instances and Exadata VM Clusters in that project.
Using access control with IAM, you can grant permissions to a user or a group without modifying each instance, cluster, or database individually. Oracle AI Database@Google Cloud provides a set of predefined roles to manage access. You can use predefined roles or specific permissions to grant access to users. For more information about how IAM works at Google Cloud, see IAM documentation.
Oracle AI Database@Google Cloud Predefined Roles
Predefined roles contain permissions that allow Google Cloud project members to perform specific actions on Oracle AI Database@Google Cloud resources. The role you grant to a project member controls what actions they can take in that project. Project members can be individuals, groups, or service accounts. You can grant multiple roles to the same project member, and can change the roles granted at any time.
Broader roles include the more narrowly defined roles. For example, the Cloud Exadata Infrastructure Admin role includes all permissions of the Cloud Exadata Infrastructure Viewer role, along with additional permissions of the Cloud Exadata Infrastructure Admin role.
Use Role-Based Access Control (RBAC) to manage user access to Oracle AI Database@Google Cloud resources.
Roles
| Task |
Cloud |
Persona |
Permissions |
- Create an ODB Network
- Modify an ODB Network
- Delete an ODB Network
|
Google Cloud |
Network administrator |
oracledatabase.entitlements.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.odbSubnets.* oracledatabase.odbSubnets.create oracledatabase.odbSubnets.delete oracledatabase.odbSubnets.get oracledatabase.odbSubnets.list oracledatabase.odbSubnets.use oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
| |
Google Cloud |
Network administrator |
compute.globalOperations.get compute.globalOperations.list compute.organizations.disableXpnHost compute.organizations.disableXpnResource compute.organizations.enableXpnHost compute.organizations.enableXpnResource compute.projects.get compute.subnetworks.get IamPolicycompute.subnetworks.set IamPolicyresourcemanager.projects.get resourcemanager.projects.getIamPolicy
|
- Create an Exadata Infrastructure
- Modify an Exadata Infrastructure
- Delete an Exadata Infrastructure
|
Google Cloud |
Infrastructure administrator |
oracledatabase.cloudExadataInfrastructures.* oracledatabase.cloudExadataInfrastructures.create oracledatabase.cloudExadataInfrastructures.delete oracledatabase.cloudExadataInfrastructures.get oracledatabase.cloudExadataInfrastructures.list oracledatabase.cloudExadataInfrastructures.use oracledatabase.cloudExadataInfrastructures.update oracledatabase.dbServers.list oracledatabase.dbSystemShapes.list oracledatabase.entitlements.list oracledatabase.giVersions.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create an Exadata Exascale Storage Vault
- Modify an Exadata Exascale Storage Vault
- Delete an Exadata Exascale Storage Vault
|
Google Cloud |
Infrastructure administrator and Database administrator |
oracledatabase.exascaleDbStorageVaults.create oracledatabase.exascaleDbStorageVaults.delete oracledatabase.exascaleDbStorageVaults.get oracledatabase.exascaleDbStorageVaults.list
|
- Create an Exadata VM Cluster
- Modify an Exadata VM Cluster
- Delete an Exadata VM Cluster
|
Google Cloud |
Infrastructure administrator and Database administrator |
oracledatabase.cloudExadataInfrastructures.* oracledatabase.cloudExadataInfrastructures.list oracledatabase.cloudExadataInfrastructures.use oracledatabase.cloudVmClusters.* oracledatabase.cloudVmClusters.create oracledatabase.cloudVmClusters.delete oracledatabase.cloudVmClusters.get oracledatabase.cloudVmClusters.list oracledatabase.cloudVmClusters.update oracledatabase.dbNodes.list oracledatabase.dbServers.list oracledatabase.entitlements.list oracledatabase.giVersions.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.odbSubnets.* oracledatabase.odbSubnets.get oracledatabase.odbSubnets.list oracledatabase.odbSubnets.use oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list oracledatabase.systemVersions.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create Exadata Database (CDB & PDB)
- Modify Exadata Database (CDB & PDB)
- Delete Exadata Database (CDB & PDB)
|
Oracle Cloud Infrastructure |
Database administrator |
oracledatabase.autonomousDatabaseBackups.* oracledatabase.autonomousDatabaseBackups.get oracledatabase.autonomousDatabaseBackups.list oracledatabase.autonomousDatabaseCharacterSets.list oracledatabase.autonomousDatabases.* oracledatabase.autonomousDatabases.get oracledatabase.autonomousDatabases.list oracledatabase.autonomousDbVersions.list oracledatabase.cloudExadataInfrastructures.* oracledatabase.cloudExadataInfrastructures.get oracledatabase.cloudExadataInfrastructures.list oracledatabase.cloudVmClusters.* oracledatabase.cloudVmClusters.get oracledatabase.cloudVmClusters.list oracledatabase.dbNodes.list oracledatabase.dbServers.list oracledatabase.dbSystemShapes.list oracledatabase.entitlements.list oracledatabase.giVersions.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.odbNetworks.* oracledatabase.odbNetworks.get oracledatabase.odbNetworks.list oracledatabase.odbSubnets.* oracledatabase.odbSubnets.get oracledatabase.odbSubnets.list oracledatabase.operations.* oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create an Exascale VM cluster
- Modify an Exascale VM cluster
- Delete an Exascale VM cluster
|
Google Cloud |
Infrastructure administrator, Infrastructure User, and Database administrator |
oracledatabase.dbNodes.list oracledatabase.dbSystemShapes.list oracledatabase.entitlements.list oracledatabase.exadbVmClusters.* oracledatabase.exadbVmClusters.create oracledatabase.exadbVmClusters.delete oracledatabase.exadbVmClusters.get oracledatabase.exadbVmClusters.list oracledatabase.exadbVmClusters.update oracledatabase.giVersions.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create an Exascale Storage Vault
- Modify an Exascale Storage Vault
- Delete an Exascale Storage Vault
|
Google Cloud |
Infrastructure administrator and Database administrator |
oracledatabase.dbNodes.list oracledatabase.dbSystemShapes.list oracledatabase.entitlements.list oracledatabase.exascaleDbStorageVaults.* oracledatabase.exascaleDbStorageVaults.create oracledatabase.exascaleDbStorageVaults.delete oracledatabase.exascaleDbStorageVaults.get oracledatabase.exascaleDbStorageVaults.list oracledatabase.giVersions.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create Autonomous AI Database
- Modify Autonomous AI Database
- Delete Autonomous AI Database
|
Oracle Cloud Infrastructure |
Database administrator |
oracledatabase.autonomousDatabaseBackups.* oracledatabase.autonomousDatabaseBackups.create oracledatabase.autonomousDatabaseBackups.delete oracledatabase.autonomousDatabaseBackups.get oracledatabase.autonomousDatabaseBackups.list oracledatabase.autonomousDatabaseCharacterSets.list oracledatabase.autonomousDatabases.* oracledatabase.autonomousDatabases.create oracledatabase.autonomousDatabases.delete oracledatabase.autonomousDatabases.generateWallet oracledatabase.autonomousDatabases.get oracledatabase.autonomousDatabases.list oracledatabase.autonomousDatabases.restart oracledatabase.autonomousDatabases.restore oracledatabase.autonomousDatabases.start oracledatabase.autonomousDatabases.stop oracledatabase.autonomousDatabases.switchover oracledatabase.autonomousDbVersions.list oracledatabase.entitlements.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.odbSubnets.* oracledatabase.odbSubnets.get oracledatabase.odbSubnets.list oracledatabase.odbSubnets.use oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create a Base Database
- Modify a Base Database
- Delete a Base Database
|
Google Cloud |
Database administrator |
oracledatabase.databaseCharacterSets.list oracledatabase.databases.* oracledatabase.databases.get oracledatabase.databases.list oracledatabase.dbSystemInitialStorageSizes.list oracledatabase.dbSystemShapes.list oracledatabase.dbSystems.* oracledatabase.dbSystems.create oracledatabase.dbSystems.delete oracledatabase.dbSystems.get oracledatabase.dbSystems.list oracledatabase.dbVersions.list oracledatabase.entitlements.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.operations.* oracledatabase.operations.cancel oracledatabase.operations.delete oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
| |
Google Cloud |
Database viewer |
oracledatabase.databaseCharacterSets.list oracledatabase.databases.* oracledatabase.databases.get oracledatabase.databases.list oracledatabase.dbSystemShapes.list oracledatabase.dbSystems.* oracledatabase.dbSystems.get oracledatabase.dbSystems.list oracledatabase.dbVersions.list oracledatabase.entitlements.list oracledatabase.locations.* oracledatabase.locations.get oracledatabase.locations.list oracledatabase.operations.* oracledatabase.operations.get oracledatabase.operations.list resourcemanager.projects.* resourcemanager.projects.get resourcemanager.projects.list
|
- Create Oracle GoldenGate Deployment
- Modify Oracle GoldenGate Deployment
- Delete Oracle GoldenGate Deployment
|
Oracle Cloud Infrastructure |
Infrastructure administrator and Database administrator |
Allow group / to manage goldengate-connections in Allow group / to manage goldengate-connection-assignments in Allow group / to manage goldengate-deployments in Allow group / to manage goldengate-deployment-backups in Allow group / to read goldengate-connections in Allow group / to read goldengate-connection-assignments in Allow group / to read goldengate-deployments in Allow group / to read goldengate-deployment-backups in
Replace the parameter with one of the following values: - tenancy
- compartment
- compartment id
For more information, see Location. |
Set Up OCI Policies for Least-Privileged Access
The following policies allow you to have stricter compartment access controls in OCI. With these policies, the database administrators will not be able to create databases or make changes within the networking compartment. Similarly, these policies restrict networking administrators from accessing and modifying resources within the database compartment. These policies enhance the security and reduce the risk of unauthorized changes across compartments.
Policies for the odbg-network-administrators role include:
allow group 'Default'/'odbg-network-administrators' to manage virtual-network-family in compartment MulticloudLink_ODBG_Compartment:ProjectNumberCompartment
allow group 'Default'/'odbg-network-administrators' to inspect compartments in tenancy
For more information on how to grant the required permissions, use role based access control (RBAC) to control user access to Oracle AI Database@Google Cloud resources.