Políticas de IAM para una base de datos de IA autónoma
Proporciona información sobre las políticas de IAM necesarias para las operaciones de API en Autonomous AI Database.
Oracle Autonomous AI Database se basa en el servicio IAM (Identity and Access Management) para autenticar y autorizar a los usuarios de la nube a realizar operaciones que utilicen cualquiera de las interfaces de la instancia de Oracle Cloud Infrastructure (consola, API REST, CLI o SDK).
Puede asignar roles a los usuarios en función de las actividades específicas de la base de datos que pueden realizar, como la copia de seguridad y la recuperación, la gestión de claves y las operaciones de ciclo de vida (como parar, iniciar y escalar).
El servicio IAM utiliza grupos, compartimentos y políticas para controlar qué usuarios en la nube pueden acceder a qué recursos.
Detalles de política para base de datos de IA autónoma
En este tema, se tratan los detalles de cómo escribir políticas para controlar el acceso a los recursos de Autonomous AI Database.
Una política define qué tipo de acceso tiene un grupo de usuarios a un recurso específico en un compartimento individual. Para obtener más información, consulte Introducción a las políticas.
Tipos de recursos
Un tipo de recurso agregado cubre la lista de tipos de recursos individuales que le siguen directamente. Por ejemplo, escribir la política para permitir que un grupo tenga acceso a autonomous-database-family equivale a escribir cuatro políticas independientes para el grupo que otorguen acceso a los tipos del recurso autonomous-databases y autonomous-backups. Para obtener más información, consulte Tipos de recursos.
Tipos de recursos para la base de datos de IA autónoma
Tipo de Recurso Agregado:
autonomous-database-family
Tipos de recursos individuales:
autonomous-databases
autonomous-backups
Detalles de las combinaciones de verbo + tipo de recurso
El nivel de acceso es acumulativo a medida que pasa de inspect > read > use > manage. Un signo más (+) en una celda de una tabla indica el acceso incremental con respecto a la celda situada directamente encima, mientras que "sin extra" indica no hay ningún acceso incremental.
Por ejemplo, el verbo read para el tipo de recurso autonomous-databases abarca los mismos permisos y operaciones en API que el verbo inspect, además del permiso AUTONOMOUS_DATABASE_CONTENT_READ El verbo read abarca parcialmente la operación CreateAutonomousDatabaseBackup, que también necesita gestionar permisos para autonomous-backups.
En las siguientes tablas se muestran los permiso y operaciones de API que cubre cada verbo. Para obtener información sobre los permisos, consulte Permisos.
Nota
Nota: La familia de recursos cubierta por autonomous-database-family se puede utilizar para otorgar acceso a la base de datos de los recursos asociados a todos los tipos a carga de trabajo de la base de datos de IA autónoma.
Tipos de recursos de bases de datos autónomas
| Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
|---|---|---|---|
| inspect | AUTONOMOUS_DATABASE_INSPECT |
GetAutonomousDatabase, GetAutonomousDatabaseBackupConfig, GetAutonomousDatabaseCapability, ListAutonomousDatabases, ListAutonomousDatabaseClones, ListAutonomousDatabasePeers, ListAutonomousDatabaseRefreshableClones, ResourcePoolShapes |
ninguno |
| leído |
|
GenerateAutonomousDatabasePerformanceData, GenerateAutonomousDatabaseWallet, GetAutonomousDatabaseRegionalWallet, GetAutonomousDatabaseWallet, RetrieveDatabasePerformanceBulkData |
CreateAutonomousDatabaseBackup (también necesita manage autonomous-backups) |
| usar |
|
AutonomousDatabaseManualRefresh, CancelAutonomousDatabaseSession, ChangeDisasterRecoveryConfiguration, ConfigureAutonomousDatabaseVaultKey, DeregisterAutonomousDatabaseDataSafe, DisableAutonomousDatabaseOperationsInsights, DisableDatabaseManagement, EnableAutonomousDatabaseOperationsInsights, EnableDatabaseManagement, FailOverAutonomousDatabase, GetAutonomousDatabaseConsoleToken, RegisterAutonomousDatabaseDataSafe, RestartAutonomousDatabase, RotateAutonomousDatabaseEncryptionKey, ShrinkAutonomousDatabase, StartAutonomousDatabase, StopAutonomousDatabase, SwitchOverAutonomousDatabase, UpdateAutonomousDatabaseRegionalWallet, UpdateAutonomousDatabase |
|
| gestionar |
|
CreateAutonomousDatabase, DeleteAutonomousDatabase |
ninguno |
copias de seguridad autónomas
| Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
|---|---|---|---|
| inspect | AUTONOMOUS_DB_BACKUP_INSPECT |
ListAutonomousDatabaseBackups, GetAutonomousDatabaseBackup |
ninguno |
| gestionar |
|
DeleteAutonomousDatabaseBackup |
CreateAutonomousDatabaseBackup (también necesita read autonomous-databases) |
| leído |
|
no extra |
|
| usar | READ + no extra |
no extra | ninguno |
Variables soportadas
Todas las variables generales de OCI Identity and Access Management están soportadas. Consulte Variables generales para todas las solicitudes para obtener más información.
Además, puede utilizar la variable target.id con el OCID de una base de datos después de la creación de una base de datos y la variable target.workloadType con un valor como se muestra en la siguiente tabla:
| Valor de target.workloadType | Descripción |
|---|---|
OLTP |
Procesamiento de transacciones en línea, que se utiliza para bases de datos de IA autónomas con carga de trabajo de procesamiento de transacciones. |
LH |
Lakehouse, utilizado para la base de datos de IA autónoma con cargas de trabajo analíticas y de plataforma de datos. |
DW |
Data Warehouse, utilizado para bases de datos de IA autónomas con carga de trabajo de almacén de datos. |
AJD |
Autonomous JSON Database utilizado para bases de datos de IA autónomas con carga de trabajo JSON. |
APEX |
Servicio APEX utilizado para Autonomous AI Database APEX Service. |
Política de ejemplo que utiliza la variable target.id:
Allow group ADB-Admins to manage autonomous-databases in tenancy where target.id = 'OCID'Política de ejemplo con la variable target.workloadType:
Allow group ADB-Admins to manage autonomous-databases in tenancy where target.workloadType = 'AJD'Puede utilizar la variable request.operation.actiontype que identifica el cambio de configuración o suboperación específico que se solicita en una operación como updateAutonomousDatabase o createAutonomousDatabase. Puede controlar estos tipos de acción en políticas mediante el parámetro request.operation.actiontype. Esto le permite controlar las acciones en detalle y asegurarse de que tiene el acceso necesario para su rol.
Ejemplo de políticas que utilizan la variable request.operation.actiontype:
Cuando una política otorga acceso a un tipo de acción específico mediante request.operation.actiontype, se limita a esa suboperación y no puede realizar otras acciones de actualización a menos que se incluyan explícitamente en la política. Por ejemplo,
allow group MyGroup to manage autonomous-database-family where request.operation.actiontype =
'adminPassword'La política anterior otorga al grupo permiso para cambiar la contraseña ADMIN, pero no para modificar otros atributos como la configuración de recursos informáticos, almacenamiento o red.
Del mismo modo, es posible excluir una operación sensible al tiempo que se permiten otras, por ejemplo:
allow group MyGroup to manage autonomous-database-family where request.operation.actiontype
!= 'adminPassword'En la siguiente tabla se muestra la variable ActionType, cada una de las cuales representa una suboperación específica se puede utilizar con CreateAutonomousDatabase o UpdateAutonomousDatabase:
| ActionType | Operación |
|---|---|
adminPassword |
Defina la contraseña de administrador o defina secretID para el almacén. |
scheduledOperations |
Defina el programa para las copias de seguridad a largo plazo. |
customerContacts |
Gestione la información de contacto del cliente para avisos operativos, anuncios y mantenimiento no planificado. |
dbToolsConfigure |
Activar o desactivar las herramientas de la base de datos. |
licenseModel |
Actualice las opciones Traiga su propia licencia (BYOL) y el recuento de ECPU para BYOL. |
updateElasticPool |
Actualice las opciones del pool elástico. |
upgradeToPaid |
Permitir una actualización desde el desarrollador o la versión gratuita a la versión de pago. |
displayName |
Actualización del nombre mostrado. |
joinElasticPool |
Unir un pool elástico como miembro. |
disasterRecoveryType |
Actualice a Autonomous Data Guard para la recuperación ante desastre. |
manageEncryptionKeys |
Gestionar claves de cifrado (gestionadas por Oracle o gestionadas por el cliente). |
openMode |
Cambie los modos de operación de la base de datos entre lectura o escritura y solo lectura. |
whitelistedIps |
Modifique las IP permitidas en las listas de control de acceso de la base de datos de IA autónoma para controlar el acceso a la red. |
networkConfig |
Actualice la configuración de red, incluidas las opciones públicas o privadas. |
dbName |
Cambie el nombre de la base de datos. |
computeCount |
Amplíe los límites de recursos informáticos. |
autoScalingConfig |
Active o desactive la escala automática de recursos informáticos. |
dataStorageSize |
Amplíe los límites de almacenamiento. |
autoScalingForStorageConfig |
Active o desactive la opción de escala automática. |
dbWorkload |
Cambie el tipo de carga de trabajo. |
scheduleDbVersionUpgrade |
Defina fechas específicas o los primeros programas disponibles para las actualizaciones de versión planificadas de la base de datos. |
vanityUrl |
Defina la URL personalizada o modifique los detalles de la URL personalizada. |
maintenanceScheduleType |
Cambie el programa de aplicación de parches entre las ventanas de mantenimiento early y regular. |
Políticas de IAM necesarias para gestionar una instancia de base de datos de IA autónoma
| Operación | Políticas de IAM necesarias |
|---|---|
| Agregar base de datos de peer | use autonomous-databases |
| Agregar atributos de seguridad | use autonomous-databases |
| Cambiar modelo de recurso informático | use autonomous-databases |
| Cambiar modo de base de datos | use autonomous-databases |
| Cambiar red | use autonomous-databases |
| Cambiar tipo de carga de trabajo | use autonomous-databases |
| Clonación de una base de datos de IA autónoma |
Consulte Permisos de IAM y operaciones de API para la base de datos de IA autónoma para obtener permisos de clonación adicionales en la base de datos de IA autónoma. |
| Creación de una base de datos de IA autónoma |
|
| Editar configuración de Database Tools | use autonomous-databases |
| Editar programa de inicio/parada | use autonomous-databases |
| Activar pool elástico | use autonomous-databases |
| Activar o desactivar la escala automática para una base de datos de IA autónoma | use autonomous-databases |
| Unirse al pool elástico | use autonomous-databases |
| Gestionar contactos de cliente | use autonomous-databases |
| Gestionar clave de cifrado | use autonomous-databases |
| Mover una base de datos de IA autónoma a otro compartimento |
|
| Cambio de nombre de una base de datos de IA autónoma | use autonomous-databases |
| Reinicio de una base de datos de IA autónoma | use autonomous-databases |
| Restauración de una base de datos de IA autónoma |
|
| Escalar el recuento de ECPU o el almacenamiento de una base de datos de IA autónoma | use autonomous-databases |
| Definir contraseña de usuario ADMIN | use autonomous-databases |
| Parar o iniciar una base de datos de IA autónoma | use autonomous-databases |
| Switchover | use autonomous-databases |
| Terminación de una base de datos de IA autónoma | manage autonomous-databases |
| Actualizar recuperación ante desastres | use autonomous-databases |
| Actualizar nombre mostrado | use autonomous-databases |
| Actualización de la licencia y Oracle AI Database Edition | use autonomous-databases |
| Actualizar acceso de red para ACL | use autonomous-databases |
| Actualizar el acceso de red para un punto final privado | use autonomous-databases |
| Visualización de una lista de bases de datos de IA autónomas | inspect autonomous-databases |
| Ver detalles de una base de datos de IA autónoma | inspect autonomous-databases |
Permisos de IAM y operaciones de API para la base de datos de IA autónoma
En este tema se tratan los permisos de IAM disponibles para las operaciones en Autonomous AI Database.
Estas operaciones se agrupan en permisos para permitir que los roles típicos realicen estas operaciones. Si se necesitan permisos más granulares, estos se pueden combinar con suboperaciones y tipos de acción. UpdateAutonomousDatabase incluye varias operaciones, pero se pueden limitar en función de los tipos de acción descritos en la sección anterior.
A continuación se muestran los permisos de IAM para Autonomous AI Database:
-
AUTONOMOUS_DATABASE_CONTENT_READ -
AUTONOMOUS_DATABASE_CONTENT_WRITE -
AUTONOMOUS_DATABASE_CREATEConsulte Clonación de permisos para conocer las limitaciones de clonación adicionales.
-
AUTONOMOUS_DATABASE_DELETE -
AUTONOMOUS_DATABASE_INSPECT -
AUTONOMOUS_DATABASE_UPDATE -
AUTONOMOUS_DB_BACKUP_CONTENT_READ -
AUTONOMOUS_DB_BACKUP_CREATE -
AUTONOMOUS_DB_BACKUP_INSPECT -
NETWORK_SECURITY_GROUP_UPDATE_MEMBERS -
VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
Política de ejemplo para que un grupo tenga permisos para crear Oracle Autonomous AI Database en un compartimento:
Allow group group-name to manage autonomous-database in compartment id compartment-ocid
where all{request.permission = 'AUTONOMOUS_DATABASE_UPDATE'}| Operación de API | Permisos necesarios para usar la operación |
|---|---|
GenerateAutonomousDatabaseWalletGetAutonomousDatabaseRegionalWalletGetAutonomousDatabaseWalletRetrieveDatabasePerformanceBulkData |
AUTONOMOUS_DATABASE_CONTENT_READ |
CreateAutonomousDatabase |
AUTONOMOUS_DATABASE_CREATE |
DeleteAutonomousDatabase |
AUTONOMOUS_DATABASE_DELETE |
GetAutonomousDatabaseListAutonomousDatabaseClonesListAutonomousDatabasePeersListAutonomousDatabaseRefreshableClonesResourcePoolShapes |
AUTONOMOUS_DATABASE_INSPECT |
AutonomousDatabaseManualRefreshConfigureAutonomousDatabaseVaultKeyDeregisterAutonomousDatabaseDataSafeDisableAutonomousDatabaseOperationsInsightsDisableDatabaseManagementEnableAutonomousDatabaseOperationsInsightsEnableDatabaseManagementFailOverAutonomousDatabaseRegisterAutonomousDatabaseDataSafeRestartAutonomousDatabaseRotateAutonomousDatabaseEncryptionKeyShrinkAutonomousDatabaseStartAutonomousDatabaseStopAutonomousDatabaseSwitchOverAutonomousDatabaseUpdateAutonomousDatabaseWalletUpdateAutonomousDatabaseRegionalWallet |
AUTONOMOUS_DATABASE_UPDATE |
GetAutonomousDatabaseBackupListAutonomousDatabaseBackups |
AUTONOMOUS_DB_BACKUP_INSPECT |
UpdateAutonomousDatabaseBackup |
AUTONOMOUS_DB_BACKUP_UPDATE |
CreateAutonomousDatabaseBackup |
AUTONOMOUS_DB_BACKUP_CREATEAUTONOMOUS_DATABASE_CONTENT_READ |
DeleteAutonomousDatabaseBackup |
AUTONOMOUS_DB_BACKUP_INSPECTAUTONOMOUS_DB_BACKUP_DELETE |
RestoreAutonomousDatabase |
AUTONOMOUS_DB_BACKUP_INSPECTAUTONOMOUS_DB_BACKUP_CONTENT_READAUTONOMOUS_DATABASE_CONTENT_WRITE |
ChangeAutonomousDatabaseCompartment |
Necesario en el compartimento de origen y de destino:
Necesario tanto en el compartimento de origen como en el de destino cuando está activado el punto final privado: |
Nota: Para obtener permisos más granulares, utilice estas suboperaciones como
|
Tres casos posibles:
|
ChangeAutonomousDatabaseSubscription |
requiere changeAutonomousDatabaseSubscription |
SaasAdminUserStatus |
requiere getSaasAdminUser |
|
requiere updateSaasAdminUser |
Clonación de permisos
Los permisos generales de IAM están soportados para Autonomous AI Database. Además, puede utilizar target.autonomous-database.cloneType con los valores de permiso soportados para controlar el nivel de acceso, como se muestra en la siguiente tabla.
| Valor target.autonomous-database.cloneType | Descripción |
|---|---|
CLONE-FULL |
Permitir solo clonación completa. |
CLONE-METADATA |
Permitir sólo clonación de metadatos. |
CLONE-REFRESHABLE |
Permitir solo clonación de refrescamiento. |
/CLONE*/ |
Permitir cualquier tipo de clonación. |
Políticas de ejemplo con los valores de permiso target.autonomous-database.cloneType soportados:
Allow group group-name to manage autonomous-databases in compartment id compartment-ocid
where all {request.permission = 'AUTONOMOUS_DATABASE_CREATE', target.autonomous-database.cloneType = 'CLONE-FULL'}Allow group group-name to manage autonomous-databases in compartment id compartment-ocid
where all {request.permission = 'AUTONOMOUS_DATABASE_CREATE', target.autonomous-database.cloneType = 'CLONE-METADATA'}Allow group group-name to manage autonomous-databases in compartment id compartment-ocid
where all {request.permission = 'AUTONOMOUS_DATABASE_CREATE', target.autonomous-database.cloneType = 'CLONE-REFRESHABLE'}Allow group group-name to manage autonomous-databases in compartment id compartment-ocid
where all {request.permission = 'AUTONOMOUS_DATABASE_CREATE', target.autonomous-database.cloneType = /CLONE*/}Consulte Permisos para obtener más información.
Proporcionar privilegios específicos en las políticas de IAM para gestionar una base de datos de IA autónoma
Muestra las políticas de IAM que puede utilizar con un verbo de autorización y una condición para otorgar operaciones más granulares a un grupo.
Por ejemplo, para permitir que el grupo MyGroup inicie bases de datos de IA autónomas mediante la API StartAutonomousDatabase:
Allow MyGroup to manage autonomous-databases where request.operation = 'StartAutonomousDatabase'Consulte Verbos y Condiciones para obtener más información.
autonomousDatabaseManualRefreshchangeAutonomousDatabaseCompartmentchangeAutonomousDatabaseSubscriptionchangeDisasterRecoveryConfigurationconfigureAutonomousDatabaseVaultKeyconfigureSaasAdminUsercreateAutonomousDatabasecreateAutonomousDatabaseBackupdeleteAutonomousDatabasedeleteAutonomousDatabaseBackupderegisterAutonomousDatabaseDataSafedisableAutonomousDatabaseManagementdisableAutonomousDatabaseOperationsInsightsenableAutonomousDatabaseManagementenableAutonomousDatabaseOperationsInsightsfailOverAutonomousDatabasegenerateAutonomousDatabaseWalletgetAutonomousDatabasegetAutonomousDatabaseBackupgetAutonomousDatabaseRegionalWalletgetAutonomousDatabaseWalletlistAutonomousDatabaseBackupslistAutonomousDatabaseCharacterSetslistAutonomousDatabaseCloneslistAutonomousDatabaseMaintenanceWindowslistAutonomousDatabasePeerslistAutonomousDatabaseRefreshableCloneslistAutonomousDatabasesregisterAutonomousDatabaseDataSaferesourcePoolShapesrestartAutonomousDatabaserestoreAutonomousDatabaserotateAutonomousDatabaseEncryptionKeySaasAdminUserStatusshrinkAutonomousDatabasestartAutonomousDatabasestopAutonomousDatabaseswitchoverAutonomousDatabaseupdateAutonomousDatabaseupdateAutonomousDatabaseBackupupdateAutonomousDatabaseRegionalWalletupdateAutonomousDatabaseWallet
El verbo de autorización updateAutonomousDatabase agrupa privilegios para utilizar varias operaciones de API.
DeregisterAutonomousDatabaseDataSafeDisableAutonomousDatabaseOperationsInsightsDisableDatabaseManagementEnableAutonomousDatabaseOperationsInsightsRegisterAutonomousDatabaseDataSafe
Por ejemplo:
Allow MyGroup to manage autonomous-databases where request.operation = 'updateAutonomousDatabase'