基本数据库服务的策略详细信息
本文提供了有关编写 Oracle Cloud Infrastructure Identity and Access Management (IAM) 策略以控制对 Oracle Base Database Service 资源的访问的详细信息。
提示:有关示例策略,请参阅让数据库管理员管理 Oracle Cloud 数据库系统。
资源类型
聚合资源类型涵盖直接跟随的各个资源类型的列表。例如,编写一个策略以允许组访问 database-family 等效于为组编写单独的策略,以授予对 db-systems、db-nodes、db-homes、databases、database-software-image 和 db-backups 资源类型的访问权限。有关更多信息,请参见 How Policies Work 中的 Resource-Types 。
聚合资源类型
database-family
单个资源类型
db-systemsdb-nodesdb-homesdatabasespluggable databasesdb-backups
支持的变量
仅支持常规变量。有关更多信息,请参见 Policy Reference 中的 General Variables for All Requests 。
有关动词和资源类型组合的详细信息
下表显示了每个动词所涵盖的权限和 API 操作。从 inspect > read > use > manage 开始,访问级别是累积的。表单元格中的加号 (+) 表示与正上方的单元格相比的增量访问,而“无额外”表示没有增量访问。
例如,与 inspect 动词相比,db-systems 资源类型的 read 和 use 动词不包含额外的权限或 API 操作。但是,manage 动词增加了两个权限,并部分涵盖了另外两个 API 操作。
db 系统
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | 数据库系统检查 | ListDbSystemsGetDbSystemListDbSystemPatchesListDbSystemPatchHistoryEntriesGetDbSystemPatchGetDbSystemPatchHistoryEntry |
无 |
| 读取 | 无额外费用 | 无额外费用 | 无 |
| 使用 | 数据库系统更新 | 无额外费用 | ChangeDbSystemCompartment(也需要 use db-homes、use databases 和 inspect db-backups) |
| 管理 | 使用 + DB_SYSTEM_CREATE DB_SYSTEM_DELETE |
UpdateDBSystem |
LaunchDBSystem、TerminateDbSystem(两者也需要 manage db-homes、manage databases、use vnics 和 use subnets) |
db 节点
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | 数据库节点检查 数据库节点查询 |
GetDbNode |
无 |
| 读取 | 无额外费用 | 无额外费用 | 无 |
| 使用 | 无额外费用 | 无额外费用 | 无 |
| 管理 | 使用 + DB_NODE_POWER_ACTIONS |
DbNodeAction |
无 |
db-homes
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | DB_HOME 检查 | ListDBHomeGetDBHomeListDbHomePatchesListDbHomePatchHistoryEntriesGetDbHomePatchGetDbHomePatchHistoryEntry |
无 |
| 读取 | 无额外费用 | 无额外费用 | 无 |
| 使用 | 数据库主页更新 | UpdateDBHome |
ChangeDbSystemCompartment(也需要 use db-systems、use databases 和 inspect db-backups) |
| 管理 | 使用 + 数据库 _ 主页 _ 创建 数据库 _ 主页 _ 删除 |
无额外费用 | LaunchDBSystem, TerminateDbSystem (both also need manage db-systems, manage databases, use vnics, and use subnets).If automatic backups are enabled on the default database, also needs manage db-backups.CreateDbHome, (also needs use db-systems and manage databases).If creating the Database Home by restoring from a backup, also needs read db-backups.DeleteDbHome, (also needs use db-systems and manage databases).If automatic backups are enabled on the default database, also needs manage db-backups.If the performFinalBackup option is selected, also needs manage db-backups and read databases. |
数据库
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | 数据库检查 | ListDatabasesGetDatabaseListDataGuardAssociationsGetDataGuardAssociation |
无 |
| 读取 | 无额外 DATABASE_CONTENT_READ |
无额外费用 | 无 |
| 使用 | 读取 + DATABASE_CONTENT_WRITE 数据库更新 |
UpdateDatabaseSwitchoverDataGuardAssociationFailoverDataGuardAssociationReinstateDataGuardAssociationRotateVaultKeyMigrateVaultKey |
CreateDataGuardAssociationChangeDbSystemCompartment(也需要 use db-systems、use db-homes 和 inspect db-backups) |
| 管理 | 使用 + DATABASE_CREATE DATABASE_DELETE |
无额外费用 | LaunchDBSystem、TerminateDbSystem(两者也需要 manage db-systems、manage db-homes、use vnics 和 use subnets) |
可插拔数据库
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | PLUGGABLE_DATABASE_INSPECT | ListPluggableDatabasesGetPluggableDatabase |
无 |
| 读取 | 检查 + PLUGGABLE_DATABASE_CONTENT_READ |
无额外费用 | 无 |
| 使用 | 读取 + PLUGGABLE_DATABASE_CONTENT_WRITE PLUGGABLE_DATABASE_UPDATE |
UpdatePluggableDatabasesStartPluggableDatabaseStopPluggableDatabase |
无 |
| 管理 | 使用 + PLUGGABLE_DATABASE_CREATE PLUGGABLE_DATABASE_DELETE |
无额外费用 | CreatePluggableDatabase、DeletePluggableDatabase、LocalClonePluggableDatabase、RemoteClonePluggableDatabase(也需要 use databases) |
数据库备份
| 动词 | 权限 | 完全覆盖的 API | 部分涵盖的 API |
|---|---|---|---|
| 检验 | DB_BACKUP 检查 | GetBackupListBackups |
ChangeDbSystemCompartment(也需要 use db-systems、use db-homes 和 use databases) |
| 读取 | 检查 + DB_BACKUP_CONTENT_READ |
无 | RestoreDatabase(也需要 use databases) |
| 使用 | 无额外费用 | 无额外费用 | 无 |
| 管理 | 使用 + DB_BACKUP_CREATE DB_BACKUP_DELETE |
DeleteBackup |
CreateBackup(也需要 read databases) |
有关权限和动词的更多信息,请参见 Advanced Policy Features 。
每个 API 操作所需的权限
下表按逻辑顺序列出了数据库系统和可插入数据库的 API 操作,这些操作按资源类型分组。
数据库 API 操作
| API 操作 | 操作所需的权限 |
|---|---|
ListDbSystems |
数据库系统检查 |
GetDbSystem |
数据库系统检查 |
LaunchDbSystem |
DB_SYSTEM_CREATE 和 DB_HOME_CREATE and DATABASE_CREATE and VNIC_CREATE and VNIC_ATTACH and SUBNET_ATTACH 要为初始数据库启用自动备份,还需要 DB_BACKUP_CREATE 和 DATABASE_CONTENT_READ |
UpdateDbSystem |
DB_SYSTEM_INSPECT 和 DB_SYSTEM_UPDATE |
ChangeDbSystemCompartment |
DB_SYSTEM_UPDATE 和 DB_HOME_UPDATE 以及 DATABASE_UPDATE 和 DB_BACKUP_INSPECT |
ListDbSystemPatches |
数据库系统检查 |
ListDbSystemPatchHistoryEntries |
数据库系统检查 |
GetDbSystemPatch |
数据库系统检查 |
GetDbSystemPatchHistoryEntry |
数据库系统检查 |
TerminateDbSystem |
DB_SYSTEM_DELETE 和 DB_HOME_DELETE and DATABASE_DELETE and VNIC_DETACH and VNIC_DELETE and SUBNET_DETACH 如果为数据库系统中的任何数据库启用了自动备份,则还需要 DB_BACKUP_DELETE |
GetDbNode |
数据库节点检查 |
DbNodeAction |
数据库节点权限操作 |
ListDbHomes |
DB_HOME 检查 |
GetDbHome |
DB_HOME 检查 |
ListDbHomePatches |
DB_HOME 检查 |
ListDbHomePatchHistoryEntries |
DB_HOME 检查 |
GetDbHomePatch |
DB_HOME 检查 |
GetDbHomePatchHistoryEntry |
DB_HOME 检查 |
CreateDbHome |
DB_SYSTEM_INSPECT 和 DB_SYSTEM_UPDATE 以及 DB_HOME_CREATE 和 DATABASE_CREATE 要为数据库启用自动备份,还需要 DB_BACKUP_CREATE 和 DATABASE_CONTENT_READ |
UpdateDbHome |
数据库主页更新 |
DeleteDbHome |
DB_SYSTEM_UPDATE 和 DB_HOME_DELETE 和 DATABASE_DELETE 如果启用了自动备份,则还需要 DB_BACKUP_DELETE 如果在终止时执行最终备份,则还需要 DB_BACKUP_CREATE 和 DATABASE_CONTENT_READ |
ListDatabases |
数据库检查 |
GetDatabase |
数据库检查 |
UpdateDatabase |
DATABASE_UPDATE 要启用自动备份,还需要 DB_BACKUP_CREATE 和 DATABASE_CONTENT_READ |
ListDbSystemShapes |
(无需任何权限;可供任何人使用) |
ListDbVersions |
(无需任何权限;可供任何人使用) |
GetDataGuardAssociation |
数据库检查 |
ListDataGuardAssociations |
数据库检查 |
CreateDataGuardAssociation |
DB_SYSTEM_UPDATE 和 DB_HOME_CREATE and DB_HOME_UPDATE and DATABASE_CREATE and DATABASE_UPDATE |
SwitchoverDataGuardAssociation |
DATABASE_UPDATE |
FailoverDataGuardAssociation |
DATABASE_UPDATE |
ReinstateDataGuardAssociation |
DATABASE_UPDATE |
MigrateVaultKey |
DATABASE_UPDATE |
RotateVaultKey |
DATABASE_UPDATE |
GetBackup |
DB_BACKUP 检查 |
ListBackups |
DB_BACKUP 检查 |
CreateBackup |
DB_BACKUP_CREATE 和 DATABASE_CONTENT_READ |
DeleteBackup |
DB_BACKUP_DELETE 和 DB_BACKUP_INSPECT |
RestoreDatabase |
DB_BACKUP_INSPECT 和 DB_BACKUP_CONTENT_READ 和 DATABASE_CONTENT_WRITE |
可插入数据库 API 操作
| API 操作 | 操作所需的权限 |
|---|---|
ListPluggableDatabase |
PLUGGABLE_DATABASE_INSPECT |
GetPluggableDatabase |
PLUGGABLE_DATABASE_INSPECT |
CreatePluggableDatabase |
DATABASE_INSPECT DATABASE_UPDATE PLUGGABLE_DATABASE_CREATE 如果在 CDB 上启用了自动备份并包括此 PDB,则需要其他权限: PLUGGABLE_DATABASE_CONTENT_READ |
UpdatePluggableDatabase |
PLUGGABLE_DATABASE_INSPECT 和 PLUGGABLE_DATABASE_UPDATE 如果在 CDB 上启用了自动备份并包括此 PDB,则需要其他权限: PLUGGABLE_DATABASE_CONTENT_READ |
StartPluggableDatabase |
PLUGGABLE_DATABASE_INSPECT 和 PLUGGABLE_DATABASE_UPDATE |
StopPluggableDatabase |
PLUGGABLE_DATABASE_INSPECT 和 PLUGGABLE_DATABASE_UPDATE |
DeletePluggableDatabase |
DATABASE_INSPECT(存在) DATABASE_UPDATE(存在) PLUGGABLE_DATABASE_DELETE |
LocalClonePluggableDatabase |
DATABASE_INSPECT DATABASE_UPDATE PLUGGABLE_DATABASE_INSPECT PLUGGABLE_DATABASE_UPDATE PLUGGABLE_DATABASE_CONTENT_READ PLUGGABLE_DATABASE_CREATE PLUGGABLE_DATABASE_CONTENT_WRITE |
RemoteClonePluggableDatabase |
DATABASE_INSPECT DATABASE_UPDATE PLUGGABLE_DATABASE_INSPECT PLUGGABLE_DATABASE_UPDATE PLUGGABLE_DATABASE_CONTENT_READ PLUGGABLE_DATABASE_CREATE PLUGGABLE_DATABASE_CONTENT_WRITE |
有关权限和动词的更多信息,请参见 Advanced Policy Features 。