One of the security options supported with the OAS option of Network Services is the Remote Authentication Dial-In User Service, or RADIUS[1] protocol. This protocol is popular in Web applications that require user identification with passwords. It is also being used with a variety of security devices that check fingerprints, retina scans, or that use a smart card for security access.
Oracle can be configured with the Advanced Security option to implement authentication using RADIUS.
Oracle Net Services uses RADIUS as an intermediate layer between the user and the database server.
The diagram for Oracle Database 23c authentication architecture represents a modernized flow using
Oracle Identity Cloud Service (IDCS) and Advanced Security, replacing legacy RADIUS-based infrastructure. Here's how the components interact:
🔁 Component Interaction in Oracle 23c Authentication
Client
The client initiates a connection request to the Oracle Database 23c.
Credentials or authentication tokens are included in the request.
Advanced Security Layer
This layer acts as an intermediary between the client and the authentication infrastructure.
It encrypts communication, validates authentication method, and routes credentials for verification.
It supports modern protocols like OAuth 2.0, SAML, or OpenID Connect.
Oracle Identity Cloud Service (IDCS)
The Advanced Security Layer forwards the authentication request to IDCS.
IDCS serves as the identity provider (IdP) and evaluates the authentication credentials (e.g., username/password, MFA token, or SSO assertion).
IDCS can also issue access tokens or identity assertions based on configured identity federation.
Authentication Server
IDCS may delegate or synchronize with an external Authentication Server (e.g., LDAP, Active Directory, or an enterprise IdP) to validate user identity.
This layer enforces password policies, access rules, and multi-factor checks.
Oracle Database 23c
Once the identity is validated, the Advanced Security Layer allows the session to be established.
The database applies role-based access and audits the session using its unified security framework.
Legacy system compatibility and policy enforcement
Oracle 23c
Seamless global user access with audit compliance
This model enables scalable, secure, and cloud-ready authentication in distributed Oracle environments, replacing brittle legacy mechanisms like RADIUS.
Step-by-step Configuration for Identity Cloud Service (IDCS) authentication in Oracle 23c
Configuring "Oracle Identity Cloud Service (IDCS)" with "Oracle Database 23c" involves integrating modern identity management with traditional database authentication flows. This configuration allows administrators to centralize user authentication, enforce multi-factor policies, and align with identity federation protocols such as 1) OAuth 2.0, 2) OpenID Connect, and 3) SAML 2.0[2]. The process begins by registering Oracle Database as a resource within IDCS. This is typically done by creating a Confidential Application in the IDCS console, where administrators define client credentials (Client ID and Secret), assign scopes, and configure redirect URIs if necessary. This setup prepares IDCS to issue access tokens that can be validated by Oracle Database during authentication requests.
On the Oracle 23c side, you must enable Oracle Advanced Security, configure SSL/TLS communication, and set up a wallet that contains trusted root certificates for IDCS. The sqlnet.ora file is updated to support TCPS[3] (TLS/SSL) and specify wallet locations. Once the security layer is in place, Oracle 23c can accept token-based authentication, validate them against IDCS, and use global users (`IDENTIFIED GLOBALLY`) for access control. The database maps these authenticated identities to internal roles and privileges using standard `GRANT` statements. Administrators can optionally configure centralized auditing to track access by federated users, enhancing compliance and traceability across hybrid environments.
To complete the configuration, developers or users accessing the database must acquire an access token from IDCS using the OAuth 2.0 `client_credentials` or `password` grant type. This token is included in the authentication request to Oracle 23c, either via SQL\*Plus, Oracle SQL Developer, or custom applications using Oracle JDBC drivers that support OAuth tokens. Oracle 23c will validate the token and associate it with a global database user. By leveraging IDCS, organizations benefit from unified identity lifecycle management, reduced attack surface, and easier integration with third-party SaaS services or enterprise directories like Microsoft Active Directory or LDAP.
Here is a "step-by-step configuration guide" to set up Oracle Database 23c authentication using
Oracle Identity Cloud Service (IDCS) and Advanced Security, replacing the older RADIUS-based system:
🔧 Step-by-Step Configuration: Oracle 23c + IDCS + Advanced Security ✅ Prerequisites
Oracle Database 23c installed and running.
Oracle Identity Cloud Service (IDCS) instance available.
Oracle Advanced Security option licensed and enabled.
Access to Oracle Wallet Manager (OWM) or orapki CLI.
Connect to Oracle using token-based login: Use sqlplus, JDBC, or Oracle SQL Developer with federated login support.
📘 Step 5: Secure Auditing and Access Controls
Enable Unified Auditing:
ALTER SYSTEM SET AUDIT_TRAIL = DB, EXTENDED SCOPE = SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
Create roles mapped to IDCS groups:
CREATE ROLE idcs_analyst;
GRANT SELECT ON important_table TO idcs_analyst;
GRANT idcs_analyst TO "cloud_user@example.com";
✅ Summary Checklist
Task
Status
Wallet created and IDCS cert imported
✅
IDCS application registered and secrets retrieved
✅
Oracle user mapped to federated ID
✅
OAuth2 tested and working
✅
Unified auditing configured
✅
Theory behind the RADIUS Protocol
RADIUS is a widely accepted protocol and is definitely a key player in network security, primarily focusing on
authentication, authorization, and accounting (AAA).
Areas where RADIUS is widely used and provides security:
Network Access Control: This is RADIUS's core strength. It's extensively used for securing access to:
Wireless Networks (Wi-Fi): Often as the backend for WPA2/WPA3-Enterprise using 802.1X.
Virtual Private Networks (VPNs): Authenticating remote users before granting access to internal resources.
Wired Networks (Ethernet): Again, often in conjunction with 802.1X for port-based access control.
Network Devices: Authenticating administrators accessing routers, switches, and other infrastructure.
Internet Service Providers (ISPs): For authenticating and managing user access to the internet and related services like DSL and broadband.
Areas where RADIUS has a presence but might not be the primary or most robust solution for "securing":
Internet Applications: While RADIUS can be used for authentication in some web applications (often via a RADIUS client or agent), it's not the most common or feature-rich protocol for securing modern web applications. Protocols like OAuth 2.0, SAML, and OpenID Connect are generally preferred for their flexibility in handling diverse authentication and authorization scenarios in web environments.
Directory Access Services: RADIUS can authenticate users against directory services like LDAP or Active Directory. However, it doesn't provide the comprehensive security and management capabilities for accessing and managing directory information itself. Protocols like LDAP and Kerberos are fundamental for securing directory access.
Firewalls: RADIUS can be used to authenticate administrators who need to manage firewall configurations. It can also be used in some cases to authenticate users trying to pass through the firewall. However, the core security functions of a firewall (packet filtering, stateful inspection, intrusion prevention, etc.) are separate from the authentication protocol.
In summary: RADIUS is a cornerstone protocol for network access security. It excels at centralizing authentication, authorization, and accounting for various network access methods. While it can play a role in authenticating users for internet applications, directory services, and firewall administration, it's not typically the primary protocol responsible for securing these broader categories in their entirety. More specialized protocols often handle the specific security requirements of these applications and services.
Legacy Diagram of Oracle Database interacting with Radius
The following diagram shows how the Oracle database, Network Services, and RADIUS worked in the pre Oracle 9i infrastructure.
Radius Oracle
Client
For this scenario, let us say the client is using a Web browser and has started an application that prompts for the username and password. Once the user types this in, the information goes to Oracle Net Services.
Oracle Net Services
Oracle Net Services has Oracle Advanced Security in place, so before anything goes to the database, Oracle Net Services first passes it through the Advanced Security. Advanced Security takes the username and password and transmits it to the RADIUS Server.
RADIUS Server
The RADIUS Server receives the username and password and sends it on to the Authentication Server. Depending on the implementation (by a third party, not Oracle), the RADIUS Server and the Authentication Server may be within the same software.
Oracle Server
Once the user's identity has been validated, Oracle Net Services passes the request on to the database server. The database server logs the user in, processes whatever request for data has been made, and returns the information to Oracle Net Services, which in turn returns that data to the client.
Authentication Server
The Authentication Server validates the user's name and password and returns an "Accepted" or "Rejected" flag to the RADIUS Server.
Remote Authentication Dial-In User Service (RADIUS)
Remote Authentication Dial-In User Service (RADIUS) is a lightweight protocol used for authentication as well as authorization and accounting services. In an Oracle environment, the Oracle server acts as the client to a RADIUS server when an authorization request is sent from an Oracle client. Any authentication method that supports the RADIUS standard, whether it be 1) token cards, 2) smart cards, or 3) SecurID ACE, can easily be added to the RADIUS server as a new authentication method without any changes being made on the client or server configuration files, such as sqlnet.ora.
The next lesson covers configuration of the RADIUS adapter for Network Services.
[1]RADIUS:Acronym for Remote Authentication Dial-In User Service, a client-server security protocol that is used primarily with the Internet.
[2]SAML: SAML (Security Assertion Markup Language) is an XML-based open standard for securely exchanging authentication and authorization data between an Identity Provider (IdP) and a Service Provider (SP). Within Oracle Identity Cloud Service (IDCS) authentication in Oracle 23c, SAML enables single sign-on (SSO), allowing users to authenticate once with IDCS and then seamlessly access Oracle 23c resources and other SAML-enabled applications without re-entering credentials. This federation of identities simplifies user management and enhances security by centralizing authentication.
[3]TCPS: TCPS (Transmission Control Protocol Secure) is a protocol used to establish secure, encrypted connections, often leveraging SSL/TLS, for data transfer. Within the context of Oracle Identity Cloud Service (IDCS), TCPS can be utilized to secure communication pathways between IDCS and other components or services, ensuring the confidentiality and integrity of the data exchanged.