Skip to main content

Oracle Deep Data Security: Protecting Data in the Age of AI

 “Oracle Deep Data Security” was discussed recently at the Oracle AI World Singapore and it interested me to further study on how data security is evolving in the age of AI. The way data is accessed, processed and protected is changing dramatically with the rapid adoption of AI among the organizations. That’s why I thought it would be useful to explore Oracle Deep Data Security in a simple and practical way.

In today’s world, data is everywhere. Businesses store customer data, financial transactions, employee records and much more inside databases. Earlier time, security was mostly handled at the application level. But this approach is no longer strong enough. With AI tools generating queries dynamically and multiple systems interacting with the same database, relying only on application level security creates risks. This is where Oracle introduces a new approach, moving security directly into the database itself.

Oracle Deep Data Security is built on the idea that data should protect itself. Instead of trusting every application or user, the database enforces rules before allowing access. This means even if someone writes a direct query or an AI agent tries to fetch information, the database checks whether that action is allowed. This approach is also called data centric security and it is becoming important in systems nowadays.

One of the core concepts behind this approach is identity aware access control. This simply means the system understands who is trying to access the data. It doesn’t just check a username, but it also looks at roles, permissions and sometimes even things like time or location.

Eg:

 A HR manager may be allowed to see employee salary data, but a junior staff member may not. The system enforces this automatically without relying on the application to do the right thing.


Another important concept is fine grained access control. Instead of giving access to an entire table, Oracle allows restrictions at a much deeper level such as rows, columns or even specific values. This is very useful in large organizations where different teams need different views of the same data.

Eg:

A sales team may only see customer contact details, while the finance team sees billing information. Everyone gets access only to what they need.

Let’s look at a simple example. Imagine we want users to only see employees from their own department. This can be done using a policy like below.

Eg:

CREATE POLICY emp_dept_policy
ON employees
FOR SELECT
USING (department_id = SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER'));

In this case, database automatically filters data based on the user’s department. The user doesn’t need to think about it and the application doesn’t need to enforce it. The rule is built into the database itself!

Another powerful feature is data encryption. Encryption make sure that even if someone gains access to the database files, they cannot read the data. Oracle provides Transparent Data Encryption (TDE), which works quietly in the background.

Eg:

ALTER TABLE customers
MODIFY (credit_card_number ENCRYPT);

This simple command protects sensitive information like credit card numbers by converting them into unreadable format.

Oracle also supports data masking and redaction, which is useful when working with test environments. Instead of showing real sensitive data, the system hides or replaces it.

Eg:

BEGIN
  DBMS_REDACT.ADD_POLICY(
    object_schema => 'HR',
    object_name   => 'EMPLOYEES',
    column_name   => 'SALARY',
    policy_name   => 'mask_salary',
    function_type => DBMS_REDACT.FULL
  );
END;
/

With this, users who are not authorized will not see actual salary values, but they will see masked data instead.

Monitoring is another key aspect of deep data security. It’s not enough to protect data , but you also need to know what is happening around it. Oracle allows detailed auditing and activity tracking, so every access can be recorded.

Eg:

AUDIT SELECT ON customers BY ACCESS;


This helps us to detect unusual patterns, such as someone accessing large amounts of data unexpectedly.

One of the most interesting aspects discussed at Oracle AI World is how this model supports AI driven applications. In modern systems, AI models often query databases directly to generate responses. This creates a risk!

What if the AI accidentally exposes sensitive data? Oracle solves this by enforcing the same security rules for AI queries as it does for human users. So even if an AI tool runs a query, it can only access the data it is allowed to see.

Eg:

Think about a real world scenario like a bank using AI to answer customer questions. Without strong controls, there is a risk that one customer could see another customer’s information. With Oracle Deep Data Security, security policies ensure that each query, whether from a person or an AI, is checked and filtered. This makes the system much safer.


Another advantage of this approach is centralized security management. Instead of writing security rules in multiple applications, everything is defined in the database itself. This reduces mistakes, improves consistency and makes it easier to manage as systems grow.

In conclusion, Oracle Deep Data Security brings a major change in how we think about protecting data. Instead of treating security as an addon, it becomes a major part of the database itself. By combining these techniques, it creates a strong defense system. As AI continues to grow and interact more deeply with data, this kind of builtin security is essential for any organization.

Comments

Popular posts from this blog

Setting ORACLE_SID

The  Oracle System ID  ( S ID ) is used to uniquely identify a particular database on a system How to set ORACLE_SID: Windows: set ORACLE_SID=orcl Unix/ Linux: export ORACLE_SID=orcl SID is case sensitive in Unix / Linux environments. How to check the current ORACLE_SID: Windows: Go to the commnand prompt and type as C:\> set ORACLE_SID (This will show if any ORACLE_SID is already set). C:\> set (To know all the parameters set) Unix/ Linux: echo $ORACLE_SID

Building Continuous Data Trust with Oracle GoldenGate Veridata 26c

Today I'll discus on how we can build continuous data trust with Oracle GoldenGate Veridata 26c! As we accelerate towards hybrid and multi cloud architectures , one challenge keep coming up. That is "H ow do you trust your data across all these platforms?" With increasing data movement, replication, and transformation, even small changes can lead to major business risks. This is where Oracle GoldenGate Veridata 26c comes in handy! Rather than just validating data occasionally, the focus now is on continuous data trust . What is Veridata? It is a tool to compare data across different systems. It ensures source and target databases are in sync. It works during , Data migration, Replication setups, Ongoing operations. What’s new in Veridata 26c? 1. Support for Modern Architectures Built for hybrid, multi-cloud, and lakehouse environments with support for heterogeneous databases. 2. Continuous Data Validation Enables ongoing validation to detect data drift and inconsisten...

How to create a simple Serverless API Using Oracle Cloud Functions

Modern cloud applications are moving toward serverless architectures because they reduce infrastructure management and allow developers to focus on code. Oracle Cloud Infrastructure (OCI) provides a powerful serverless service called “Oracle Functions”. It allows developers to run code without managing servers. In this post, I’ll go through how to create a simple serverless API using Oracle Functions and expose it through an HTTP endpoint. Oracle Functions provides several advantages, No server management Automatic scaling Pay only for execution time Easy integration with other OCI services   The process of flow is as below, User sends an HTTP request OCI API Gateway triggers a Function Function processes the request Response is returned Lets see how to create a simple function. 1.       First create a function using the 'Fn Project CLI' supported by OCI. fn init --runtime python myhello-function cd myhello-function 2. ...