Admin

Oracle Peoplesoft

Oracle ATP Private Endpoint & Wallet: Enhanced Security & Access

Secure Oracle ATP with private endpoints & wallets. Learn to configure private access, ensuring your autonomous database is isolated and protected.

By Someshwar ThakurPublished: July 10, 202614 min read11 views✓ Fact Checked
Oracle ATP Private Endpoint & Wallet: Enhanced Security & Access
Oracle ATP Private Endpoint & Wallet: Enhanced Security & Access

Overview: Securing Enterprise Applications with Oracle Autonomous Transaction Processing Private Endpoints

In the evolving landscape of enterprise IT, the migration of critical applications to the cloud demands not just performance and scalability, but uncompromising security. For organizations running Oracle PeopleSoft, a robust and secure database backend is paramount. Oracle Autonomous Transaction Processing (ATP) on Oracle Cloud Infrastructure (OCI) offers a compelling solution, providing a self-driving, self-securing, and self-repairing database service. However, to truly lock down the data plane for sensitive applications like PeopleSoft, connecting ATP via a private endpoint, coupled with the security of a database wallet, becomes an essential architectural pattern.

The traditional approach for cloud databases often involves public endpoints, which, while secured by network access control lists (ACLs) and firewalls, still present an attack surface exposed to the internet. For PeopleSoft, where financial, HR, and student data are processed, such exposure is often unacceptable due to compliance requirements and internal security policies. This is where the private endpoint for ATP shines. A private endpoint ensures that your ATP database instance is provisioned with a private IP address within a Virtual Cloud Network (VCN) subnet that you control. This means all traffic to and from the database remains entirely within your OCI private network, never traversing the public internet.

Coupled with the private endpoint, the Oracle database wallet provides an additional layer of security and convenience. The wallet contains the necessary connection information (like tnsnames.ora and sqlnet.ora) and, crucially, the Mutual TLS (mTLS) certificates required for secure, authenticated communication between your PeopleSoft application servers and the ATP database. This ensures that only trusted clients, presenting valid certificates from the wallet, can establish a connection, and all data in transit is encrypted. This combination creates an ironclad, private, and highly secure data tier for your PeopleSoft applications, aligning with the most stringent enterprise security postures.

This article will guide you through the detailed process of deploying and configuring Oracle Autonomous Transaction Processing with a private endpoint, and how to leverage the database wallet for secure connectivity, specifically addressing the needs of Oracle PeopleSoft deployments on OCI.

Prerequisites for a Secure PeopleSoft ATP Deployment

Before embarking on the implementation, ensure you have the following prerequisites in place. These foundational elements are crucial for a smooth and secure deployment of ATP with a private endpoint, especially when integrating with PeopleSoft applications.

  • Oracle Cloud Infrastructure (OCI) Account: You must have an active OCI account with appropriate IAM policies that grant you permissions to manage VCNs, subnets, security lists/NSGs, and Autonomous Databases.
  • Existing Virtual Cloud Network (VCN): A pre-configured VCN in your desired OCI region is essential. This VCN will host both your ATP private endpoint and your PeopleSoft application servers. For this guide, we'll assume a VCN named TechNewsVenture-VCN with a CIDR block of 10.0.0.0/16.
  • Private Subnets:
    • ATP Private Endpoint Subnet: A dedicated private subnet within your VCN for the ATP private endpoint. This ensures network isolation for your database. We'll use atp-private-subnet with CIDR 10.0.1.0/24.
    • PeopleSoft Application Server Subnet: A private subnet where your PeopleSoft application servers (e.g., WebLogic, Tuxedo, Process Scheduler) will reside. We'll use peoplesoft-app-subnet with CIDR 10.0.2.0/24.

    It is critical that these subnets are private, meaning they have no direct internet gateway and rely on a NAT gateway or service gateway for outbound internet access if needed, or primarily communicate internally.

  • Security Lists or Network Security Groups (NSGs): Proper network security rules are vital. We will configure these to allow ingress traffic on port 1522 (the default ATP port) from your PeopleSoft application subnet to your ATP private endpoint subnet. NSGs are generally preferred for their granular control tied directly to specific resources.
  • OCI Command Line Interface (CLI): The OCI CLI should be installed and configured on your local machine or a designated OCI compute instance. This allows for automation and scripting of resource provisioning. Ensure your CLI configuration points to the correct OCI region and compartment.
  • SQL*Plus or SQL Developer: These tools will be used to test connectivity to the ATP database from a host within your PeopleSoft application subnet.
  • Basic Networking Knowledge: A fundamental understanding of VCNs, subnets, routing tables, and security rules is beneficial for troubleshooting and advanced configurations.
  • PeopleSoft Application Server Instance: While not strictly part of the ATP setup, having a Linux compute instance (e.g., Oracle Linux 8) provisioned within your peoplesoft-app-subnet is necessary to simulate the PeopleSoft application server environment and test connectivity.

Step-by-step Implementation: Deploying ATP with Private Endpoint for PeopleSoft

This section provides a detailed, step-by-step guide to set up your Oracle Autonomous Transaction Processing database with a private endpoint, and configure your PeopleSoft environment for secure connectivity.

1. Setup OCI Network Infrastructure (if not already done)

First, ensure your VCN and private subnets are correctly established. If you already have these, you can skip to step 1.3 for security rule configuration.

1.1. Create a Virtual Cloud Network (VCN)

If you don't have one, create a VCN. We'll name it TechNewsVenture-VCN.


# Define variables
COMPARTMENT_ID="ocid1.compartment.oc1..aaaaaaaaxxxxxxexample" # Replace with your actual compartment OCID
VCN_DISPLAY_NAME="TechNewsVenture-VCN"
VCN_CIDR="10.0.0.0/16"
REGION="us-ashburn-1" # Or your desired OCI region

echo "Creating VCN: ${VCN_DISPLAY_NAME}..."
VCN_OCID=$(oci network vcn create \
    --compartment-id "${COMPARTMENT_ID}" \
    --display-name "${VCN_DISPLAY_NAME}" \
    --cidr-block "${VCN_CIDR}" \
    --dns-label "techvnc" \
    --query 'data.id' --raw-output)

echo "VCN created with OCID: ${VCN_OCID}"
echo "Waiting for VCN to provision..."
oci network vcn get --vcn-id "${VCN_OCID}" --query 'data."lifecycle-state"' --raw-output | grep -q "AVAILABLE"
echo "VCN is AVAILABLE."

1.2. Create Private Subnets for ATP and PeopleSoft Application Servers

Now, create two private subnets within your VCN. One for the ATP private endpoint and another for your PeopleSoft application servers.


# Define subnet variables
ATP_SUBNET_DISPLAY_NAME="atp-private-subnet"
ATP_SUBNET_CIDR="10.0.1.0/24"
PS_APP_SUBNET_DISPLAY_NAME="peoplesoft-app-subnet"
PS_APP_SUBNET_CIDR="10.0.2.0/24"
AVAILABILITY_DOMAIN="AD-1" # Choose an appropriate AD for your region, e.g., 'Uocm:US-ASHBURN-1-AD-1'

echo "Creating ATP private subnet: ${ATP_SUBNET_DISPLAY_NAME}..."
ATP_SUBNET_OCID=$(oci network subnet create \
    --compartment-id "${COMPARTMENT_ID}" \
    --vcn-id "${VCN_OCID}" \
    --availability-domain "${AVAILABILITY_DOMAIN}" \
    --display-name "${ATP_SUBNET_DISPLAY_NAME}" \
    --cidr-block "${ATP_SUBNET_CIDR}" \
    --prohibit-public-ip-on-vnic true \
    --query 'data.id' --raw-output)

echo "ATP Private Subnet created with OCID: ${ATP_SUBNET_OCID}"
echo "Waiting for ATP Subnet to provision..."
oci network subnet get --subnet-id "${ATP_SUBNET_OCID}" --query 'data."lifecycle-state"' --raw-output | grep -q "AVAILABLE"
echo "ATP Subnet is AVAILABLE."

echo "Creating PeopleSoft application private subnet: ${PS_APP_SUBNET_DISPLAY_NAME}..."
PS_APP_SUBNET_OCID=$(oci network subnet create \
    --compartment-id "${COMPARTMENT_ID}" \
    --vcn-id "${VCN_OCID}" \
    --availability-domain "${AVAILABILITY_DOMAIN}" \
    --display-name "${PS_APP_SUBNET_DISPLAY_NAME}" \
    --cidr-block "${PS_APP_SUBNET_CIDR}" \
    --prohibit-public-ip-on-vnic true \
    --query 'data.id' --raw-output)

echo "PeopleSoft App Private Subnet created with OCID: ${PS_APP_SUBNET_OCID}"
echo "Waiting for PeopleSoft App Subnet to provision..."
oci network subnet get --subnet-id "${PS_APP_SUBNET_OCID}" --query 'data."lifecycle-state"' --raw-output | grep -q "AVAILABLE"
echo "PeopleSoft App Subnet is AVAILABLE."

1.3. Configure Network Security Group (NSG) for ATP Private Endpoint

Network Security Groups (NSGs) are the recommended way to secure resources within a VCN. We'll create an NSG for our ATP instance and configure an ingress rule to allow traffic from the PeopleSoft application subnet on port 1522.


# Define NSG variables
ATP_NSG_DISPLAY_NAME="atp-peoplesoft-nsg"

echo "Creating NSG for ATP: ${ATP_NSG_DISPLAY_NAME}..."
ATP_NSG_OCID=$(oci network nsg create \
    --compartment-id "${COMPARTMENT_ID}" \
    --vcn-id "${VCN_OCID}" \
    --display-name "${ATP_NSG_DISPLAY_NAME}" \
    --query 'data.id' --raw-output)

echo "NSG created with OCID: ${ATP_NSG_OCID}"
echo "Adding ingress rule to NSG..."
oci network nsg rule add \
    --nsg-id "${ATP_NSG_OCID}" \
    --ingress-security-rules '[
        {
            "protocol": "6",
            "source": "'"${PS_APP_SUBNET_CIDR}"'",
            "sourceType": "CIDR_BLOCK",
            "tcpOptions": {
                "destinationPortRange": {
                    "min": 1522,
                    "max": 1522
                }
            },
            "description": "Allow PeopleSoft App servers to connect to ATP"
        }
    ]'

echo "Ingress rule added to NSG. Allowing TCP 1522 from ${PS_APP_SUBNET_CIDR}."

2. Create Autonomous Transaction Processing (ATP) instance with Private Endpoint

Now, provision your ATP instance, making sure to specify the subnet-id and private-endpoint-label to ensure it uses a private endpoint.


# Define ATP variables
ATP_DISPLAY_NAME="PeopleSoftATP"
ATP_DB_NAME="peoplesoftdb" # Must be alphanumeric, max 14 characters
ATP_ADMIN_PASSWORD="Welcome_12345#" # Must meet complexity requirements
CPU_CORE_COUNT=2
DATA_STORAGE_SIZE_IN_TGB=1
PRIVATE_ENDPOINT_LABEL="peoplesoft-atp-pe" # Unique label within the VCN

echo "Creating Autonomous Transaction Processing database with private endpoint..."
ATP_OCID=$(oci db autonomous-database create \
    --compartment-id "${COMPARTMENT_ID}" \
    --display-name "${ATP_DISPLAY_NAME}" \
    --db-name "${ATP_DB_NAME}" \
    --admin-password "${ATP_ADMIN_PASSWORD}" \
    --db-workload "OLTP" \
    --cpu-core-count "${CPU_CORE_COUNT}" \
    --data-storage-size-in-tbs "${DATA_STORAGE_SIZE_IN_TGB}" \
    --is-free-tier false \
    --subnet-id "${ATP_SUBNET_OCID}" \
    --private-endpoint-label "${PRIVATE_ENDPOINT_LABEL}" \
    --nsg-ids "[\"${ATP_NSG_OCID}\"]" \
    --query 'data.id' --raw-output)

echo "ATP instance creation initiated with OCID: ${ATP_OCID}"
echo "Waiting for ATP instance to become AVAILABLE (this can take 15-20 minutes)..."
oci db autonomous-database get --autonomous-database-id "${ATP_OCID}" --query 'data."lifecycle-state"' --raw-output | grep -q "AVAILABLE"
echo "ATP instance is AVAILABLE."

3. Download the Client Wallet

Once the ATP instance is available, download the client wallet. This wallet contains the necessary connection details and mTLS certificates for secure communication. You'll need to provide a password to encrypt the wallet.


# Define wallet variables
WALLET_PASSWORD="WalletPass123#" # Choose a strong password
WALLET_ZIP_FILE="Wallet_PeopleSoftATP.zip"

echo "Generating and downloading ATP client wallet..."
oci db autonomous-database generate-wallet \
    --autonomous-database-id "${ATP_OCID}" \
    --file "${WALLET_ZIP_FILE}" \
    --password "${WALLET_PASSWORD}" \
    --query 'data."lifecycle-state"' --raw-output

echo "Wallet downloaded to ${WALLET_ZIP_FILE}. Please keep this file secure."

4. Configure Client Application Server (PeopleSoft)

Now, transfer the Wallet_PeopleSoftATP.zip file to your PeopleSoft application server (e.g., a Linux compute instance in peoplesoft-app-subnet). Then, extract and configure it for use.


# Commands to execute on your PeopleSoft application server (e.g., a Linux VM)

# 4.1. Create a directory for the wallet
mkdir -p /opt/oracle/wallets/peoplesoftatp
cd /opt/oracle/wallets/peoplesoftatp

# 4.2. Securely transfer the wallet.zip to this directory.
# Example using scp from your local machine (replace <PS_APP_SERVER_IP> with actual IP):
# scp Wallet_PeopleSoftATP.zip opc@<PS_APP_SERVER_IP>:/opt/oracle/wallets/peoplesoftatp/

# 4.3. Unzip the wallet (enter the WALLET_PASSWORD when prompted)
unzip Wallet_PeopleSoftATP.zip

# The wallet contains:
# - cwallet.sso (auto-login wallet)
# - ewallet.p12 (encrypted wallet)
# - keystore.jks, truststore.jks (for Java applications)
# - tnsnames.ora
# - sqlnet.ora

# 4.4. Set the TNS_ADMIN environment variable
# Add this to your shell profile (e.g., ~/.bashrc or ~/.profile) or the PeopleSoft environment script
export TNS_ADMIN=/opt/oracle/wallets/peoplesoftatp

# To verify:
echo $TNS_ADMIN
ls -l $TNS_ADMIN

# 4.5. Review tnsnames.ora (example content, actual content will vary)
cat $TNS_ADMIN/tnsnames.ora

# Example content snippet (actual service names will depend on your ATP instance)
# peoplesoftdb_high = (description= (address=(protocol=tcps)(port=1522)(host=example.adb.us-ashburn-1.oraclecloud.com)) (connect_data=(service_name=example_high.adb.oraclecloud.com)) (security=(ssl_server_dn_match=yes)))
# peoplesoftdb_medium = ...
# peoplesoftdb_low = ...

# Note: The host in tnsnames.ora will resolve to the private IP of your ATP instance
# when accessed from within the VCN. You can verify this using 'nslookup' from the PS app server.
# nslookup peoplesoftdb_high

5. Test Connection from PeopleSoft Application Server

From your PeopleSoft application server, use SQL*Plus to test the connection to the ATP database. Make sure you are using the ADMIN user and the password you set during ATP creation.


# On the PeopleSoft application server

# Ensure TNS_ADMIN is set
export TNS_ADMIN=/opt/oracle/wallets/peoplesoftatp

# Connect using SQL*Plus. Use one of the service levels (high, medium, low)
sqlplus admin/Welcome_12345#@peoplesoftdb_high

# If successful, you should see:
# SQL*Plus: Release 19.0.0.0.0 - Production on ...
# Version 19.18.0.0.0

# Copyright (c) 1982, 2023, Oracle. All rights reserved.

# Connected to:
# Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
# Version 19.18.0.0.0

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
---------
01-APR-24

SQL> EXIT;

# If you encounter issues, check:
# - Network Security Group rules (ports, source CIDR)
# - TNS_ADMIN environment variable
# - Wallet contents and permissions
# - ATP instance lifecycle state

6. PeopleSoft-Specific Database Configuration

For PeopleSoft, the database connection is typically configured in the psappsrv.cfg file for application servers, and in Data Mover scripts. You would point PeopleSoft to the TNS entry defined in your wallet's tnsnames.ora.

Locate your psappsrv.cfg file (usually under $PS_HOME/appserv/<domain_name>) and modify the DBNAME parameter. Ensure your PeopleSoft environment's TNS_ADMIN is correctly set.


# Example snippet from psappsrv.cfg

# Database Name
# This is the TNS service name from your tnsnames.ora
DBNAME=peoplesoftdb_high

# UserId and Password for database connection
# (Typically, PeopleSoft uses a dedicated schema user, not ADMIN)
# UserId=PS_APP_USER
# UserPswd={V1.1}encrypted_password

# For Process Scheduler and other utilities, ensure the TNS_ADMIN environment variable is set
# in the shell environment where these processes are launched.
# For example, in your PeopleSoft startup scripts:
# export TNS_ADMIN=/opt/oracle/wallets/peoplesoftatp
# $PS_HOME/appserv/psappsrv.sh start

By following these steps, your PeopleSoft application servers will be securely connected to your Oracle Autonomous Transaction Processing database via a private endpoint, utilizing the mTLS capabilities of the wallet.

Security Considerations

Deploying ATP with a private endpoint and wallet significantly enhances the security posture for PeopleSoft applications. However, a holistic approach requires attention to several key areas:

  1. Network Isolation: The primary benefit of a private endpoint is complete network isolation. The ATP database is not accessible from the public internet, drastically reducing the attack surface. All traffic remains within your OCI VCN, often a critical compliance requirement for sensitive data.
  2. Mutual TLS (mTLS) with Wallets: The client wallet facilitates mTLS, meaning both the client (PeopleSoft application server) and the server (ATP database) authenticate each other using certificates. This prevents unauthorized clients from connecting and ensures data in transit is always encrypted, protecting against eavesdropping and man-in-the-middle attacks.
  3. Least Privilege Principle:
    • IAM Policies: Implement fine-grained OCI IAM policies to control who can create, manage, or delete ATP instances and associated network resources.
    • Database Users: Within the ATP database, configure PeopleSoft users with the absolute minimum necessary privileges. Avoid using the ADMIN user for application connections.
  4. Wallet Management:
    • Secure Storage: The wallet file (Wallet_PeopleSoftATP.zip) contains sensitive cryptographic material. It must be stored securely on your PeopleSoft application servers, with strict file system permissions.
    • Password Protection: The wallet itself is password-protected. Ensure this password is strong and managed securely, ideally using a secrets management solution like OCI Vault.
    • Regular Rotation: While the wallet doesn't technically expire, Oracle recommends regenerating and redeploying wallets periodically, especially if there are changes in security posture or personnel.
  5. OCI Security Services:
    • Network Security Groups (NSGs): Use NSGs over security lists for more granular control, allowing you to attach security rules directly to the ATP private endpoint's VNIC.
    • OCI Vault: Store database administrative passwords (like the ATP ADMIN password and wallet password) and other secrets in OCI Vault for centralized, secure management.
    • OCI Cloud Guard & Security Zones: Leverage OCI Cloud Guard to continuously monitor your OCI resources for security misconfigurations and Security Zones to enforce security policies at the compartment level.
    • VCN Flow Logs: Enable VCN Flow Logs on your ATP and PeopleSoft subnets to monitor network traffic for anomalous patterns, aiding in incident detection.
  6. Data Encryption: ATP encrypts all data at rest (tablespaces, backups) by default using Transparent Data Encryption (TDE), and data in transit through mTLS. This ensures end-to-end encryption without additional configuration.
  7. Audit Trails: ATP provides comprehensive auditing capabilities. Configure auditing to track critical database activities, especially for sensitive PeopleSoft data access, to meet compliance requirements.
"The combination of Oracle Autonomous Transaction Processing's self-securing capabilities with a private endpoint and mTLS-enabled wallet provides an unparalleled security foundation for enterprise applications like PeopleSoft. It's not just about compliance; it's about building an inherently resilient and protected data tier." - Someshwar Thakur

Best Practices for PeopleSoft on ATP with Private Endpoint

Beyond the fundamental setup, adopting these best practices will optimize the performance, manageability, and security of your PeopleSoft deployment on ATP with a private endpoint.

  1. Dedicated Subnets and NSGs:
    • Always provision dedicated private subnets for your ATP instances and your PeopleSoft application tiers. This enhances network segmentation and simplifies security rule management.
    • Prefer Network Security Groups (NSGs) over Security Lists. NSGs allow you to define security rules that apply directly to specific resources (like the ATP private endpoint's VNIC) rather than an entire subnet, offering more granular and flexible control.
  2. Automate Wallet Distribution and Rotation:
    • For large PeopleSoft environments with multiple application servers, automate the distribution and periodic rotation of the ATP client wallet using configuration management tools (e.g., Ansible, Chef, Puppet) or custom scripts.
    • Integrate OCI Vault to store the wallet password and retrieve it programmatically during automated deployments.
  3. Monitor and Audit:
    • Leverage OCI Monitoring for ATP, setting up alerts for performance metrics (CPU utilization, I/O, latency) and database events.
    • Utilize OCI Logging Analytics to centralize and analyze database audit trails and VCN Flow Logs for network activity. This is crucial for security incident detection and compliance reporting.
  4. PeopleSoft Connection Pooling:
    • Configure PeopleSoft application servers (e.g., Tuxedo domains) to use appropriate database connection pooling settings. This reduces the overhead of establishing new connections and improves application responsiveness.
    • ATP is designed for high concurrency, but inefficient connection management at the application layer can still cause bottlenecks.
  5. Leverage ATP Service Levels:
    • ATP provides different service levels (_high, _medium, _low) in the tnsnames.ora, offering varying degrees of concurrency and parallelism.
    • Map your PeopleSoft workload types to appropriate service levels. For example, critical online transactions might use _high, while batch processes or reporting could use _medium or _low.
  6. Database Maintenance and Tuning (Minimal for ATP):
    • While ATP handles most database maintenance autonomously, review the database performance hub and SQL tuning advisor recommendations periodically.
    • Ensure PeopleSoft statistics are up-to-date, especially after significant data loads or upgrades, although ATP often manages this automatically.
  7. Backup and Disaster Recovery:
    • ATP performs automatic daily backups. Understand the retention policy and how to perform
📧

Enjoyed this article?

Get articles like this delivered to your inbox daily. Join 10,000+ tech professionals.

Written By

Someshwar Thakur

PS Admin, Cloud Architect, DBA

Sources & References

• Official company announcements and press releases

• Industry reports from Gartner, IDC, and Statista

• Peer-reviewed research and technical documentation

• On-record statements from industry experts

Last verified: July 10, 2026

Fact-checked by TechNews Venture editorial team

Leave a Comment

Comments are moderated and will appear after review.