Database Nest Isolation for Multi-Tenant Container DBMS Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant container database management systems, there is a lack of effective isolation of runtime environments, leading to vulnerabilities where processes from one tenant can access or interfere with resources of other tenants, compromising security and data integrity.

Innovation Solution

Implementing a 'database nest' for each pluggable database, which confines database sessions to a specific set of operating system resources, using operating system namespaces to isolate computer resources and restrict access, thereby creating a hierarchical structure that mirrors the isolation between database objects and PDBs, allowing for custom operating system restrictions and settings without the need for separate virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple pluggable databases share the same container database without isolation, then resource utilization is improved, but security and data integrity deteriorate due to lack of runtime environment isolation

Engineering Contradiction:
Improveresource utilizationVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the runtime environment of the container database into isolated database nests, where each pluggable database operates within its own nested runtime environment. This segmentation allows multiple PDBs to share the same CDB resources while maintaining security isolation through hierarchical namespace boundaries that prevent cross-contamination between tenants.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested runtime environment structure where database nests are hierarchically organized within the container database. Each PDB is contained within its own database nest, which is nested within the parent CDB nest, creating a hierarchical containment model that enables both resource sharing and security isolation simultaneously.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If separate virtual machines are used to isolate each pluggable database, then security is improved, but device complexity and resource overhead increase

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces database nests as an intermediary layer between the container database and individual pluggable databases. This nested runtime environment acts as a mediator that provides security isolation without requiring separate virtual machines, thereby reducing system complexity while maintaining security boundaries through hierarchical namespace enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If database sessions can access any operating system resources, then ease of operation is improved, but harmful factors increase due to potential access to other tenants' resources

Engineering Contradiction:
ImproveaccessibilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by restricting each database session's access to operating system resources within its specific database nest boundary. While sessions maintain full access to resources needed for their operations, the hierarchical namespace enforcement ensures they cannot access resources belonging to other PDBs, thereby providing targeted security without compromising operational ease.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3867767B1Isolated hierarchical runtime environments for multi-tenant databases
Publication Date: 2024.01.24 ORACLE INT CORP
  • EP3867767B1 patent drawingFigure 1
  • EP3867767B1 patent drawingFigure 2
  • EP3867767B1 patent drawingFigure 3

AI summary

Techniques are described herein for isolating runtime environments in a multitenant container DBMS. A CDB may contain a database dictionary that defines a plurality of pluggable databases and a respective database nest for each pluggable database. Each respective database nest of said each pluggable database is associated with different operating system privileges. When database sessions are established on a container DBMS, each database session is given access to a pluggable database by attaching the respective database nest of the pluggable database to each database session.