For Oracle Database Connections
Example Policies for Database Tools
Here are five different personas who can use Database Tools. Each persona can have a different level of management access to the accompanying Oracle Cloud Infrastructure service as shown in the following table:
Table 7-1 Example Policies
| Persona | Virtual Networking Family | Database or Autonomous Database Family | Vaults | Keys | Secret Family | Database Tools Family | Database Tools Connection |
|---|---|---|---|---|---|---|---|
| Database Tools Administrator | manage | manage | manage | manage | manage | manage | -- |
| Database Tools Manager | manage | read | use | use | manage | manage | -- |
| Database Tools Connection Manager | use | read | use | use | manage | use | manage |
| Database Tools Connection with Authenticated Principal User | -- | read | -- | -- | read | read | use |
| Database Tools Connection with Resource Principal Runtime Identity | -- | read | -- | -- | -- | read | use |
Database Tools Administrator
The Database Tools administrator can manage all aspects of the service. The following policies grant them the permissions required to manage networking, vaults, keys, secrets, databases, and Database Tools in a specific compartment.
Replace <group_name> and <compartment_name> placeholders with your own values.
Table 7-2 Database Tools Administrator Policies
| Policy | Access Level |
|---|---|
|
To manage virtual cloud networks (VCNs), subnets, virtual network interface cards, network security groups. |
|
To manage Database Cloud Service (virtual machine and bare metal DB systems, Exadata Cloud Service VM clusters). |
|
To read Autonomous Databases on both shared and dedicated Exadata infrastructure. |
|
To manage vaults. |
|
To manage keys. |
|
To manage secrets. |
|
To manage Database Tools. |
Database Tools Manager
The Database Tools Manager can manage networking (including private endpoints), secrets, and Database Tools connections but has limited access to the Oracle Cloud Infrastructure Vault and Database services.
Replace <group_name> and <compartment_name> with your own values.
Table 7-3 Database Tools Manager Policies
| Policy | Access Level |
|---|---|
|
To use virtual cloud networks (VCNs), subnets, virtual network interface cards, and network security groups. |
|
To read Database Cloud Service (virtual machine and bare metal DB systems, Exadata Cloud Service VM clusters). |
|
To read Autonomous Databases on both shared and dedicated Exadata infrastructure. |
|
To use vault (for example, create secret). |
|
To use keys (for example, create secret). |
|
To manage secrets. |
|
To manage Database Tools. |
Database Tools Connection Manager
The Database Tools Connection Manager manages creating connections to Database services and has read-only access on the other services.
Replace <group_name> and <compartment_name> with your own values.
If using a where clause in the policy to restrict access based on the connection OCID, use the following:
where target.resource.id = <connection-ocid>
To use SQL Worksheet with a Database Tools connection, you must grant a user the
inspect permission for all Database Tools connections in a
compartment. Without this permission, a user cannot see any Database Tools
connections on the Connections page or select any connections in the SQL Worksheet
drop-down list. For example, the following policy statement restricts a specified
group to use only the specified Database Tools connection
OCID.
allow group <group-name> to use database-tools-connections in compartment <compartment-name> where all { target.resource.id = '<connection-ocid>' }
Even in such scenarios, you must still provide the following unconditional policy statement to allow the specified group to list the Database Tools connections.
allow group <group-name> to inspect database-tools-connections in compartment <compartment-name>
This unconditional inspect permission allows users to see all
Database Tools connections in the compartment, including those for which they do not
have use access. If you need to grant different groups access to
different sets of connections without exposing all connections, Oracle recommends
creating separate compartments for each set of Database Tools connections and then
granting inspect and use permissions at the
compartment level as appropriate.
Table 7-4 Database Tools Connection Manager Policies
| Policy | Access Level |
|---|---|
|
To use virtual cloud networks (VCNs), subnets, virtual network interface cards, and network security groups. |
|
To read Database Cloud Service (virtual machine and bare metal DB systems, Exadata Cloud Service VM clusters). |
|
To read Autonomous Databases on both shared and dedicated Exadata infrastructure. |
|
To use vault (for example, create secret). |
|
To use keys (for example, create secret). |
|
To manage secrets. |
|
To use Database Tools private endpoints, endpoint services. |
|
To manage Database Tools connections. |
Database Tools Connection with Authenticated Principal Runtime Identity
These policies apply to Database Tools connections where the runtime
identity uses AUTHENTICATED_PRINCIPAL.
If you want to prevent users from reading secrets, use Database Tools connection with resource principal instead. See Database Tools Connection with Resource Principal Runtime Identity.
The following table lists policies and associated access levels for Database Tools connection with authenticated principal runtime identity.
Table 7-5 Policies for Database Tools Connection with Authenticated Principal Runtime Identity
| Policy | Access Level |
|---|---|
|
To read Database Cloud Service (virtual machine and bare metal DB systems, Exadata Cloud Service VM clusters). |
|
To read Autonomous Databases on both shared and dedicated Exadata infrastructure. |
|
To read secrets. |
|
To read Database Tools private endpoints, endpoint services. |
|
To use Database Tools Connections. |
Replace <group_name> and <compartment_name> with values based on your environment.
Database Tools Connection with Resource Principal Runtime Identity
These policies apply to Database Tools connections where the runtime
identity uses RESOURCE_PRINCIPAL.
To prevent users from reading secrets, use Database Tools connection with resource principal runtime identity. A user of the Database Tools connection with resource principal runtime identity can only use pre-created database connections that are created with OCI Database Tools and the user cannot view secret values. See Resource Principal.
The following table lists dynamic groups and included resources for Database Tools connection with resource principal.
Table 7-6 Dynamic Group for Database Tools Connection with Resource Principal
| Dynamic group match rule | Includes |
|---|---|
|
Includes all Database Tool connections found in the compartment. |
|
Includes only the specified Database Tools connection. |
Replace <group_name>, <compartment_name>, <connection_ocid> and <dynamic_group_name> with values based on your environment.
The following table lists policies and associated access levels for Database Tools connection with resource principal runtime identity.
Table 7-7 Policies for Database Tools Connection with Resource Principal Runtime Identity
| Policy | Access Level |
|---|---|
|
To read Database Cloud Service (virtual machine and bare metal DB systems, Exadata Cloud Service VM clusters). |
|
To read Autonomous Databases on both shared and dedicated Exadata infrastructure. |
|
To read Database Tools private endpoints, connections and endpoint services. |
|
To use Database Tools connections. |
|
To give the dynamic group members access to read secrets |
Replace <group_name>, <compartment_name>, <connection_ocid> and <dynamic_group_name> with values based on your environment.