Hello,
We are testing the built-in Oracle Autonomous Transaction Processing connection in Oracle Analytics Cloud, with Connect Using = Resource Principal, through PAC to an ATP-S private endpoint.
This is not a generic IAM or PAC setup question. It is specifically about the OAC built-in ATP connection using Resource Principal toward a private ATP-S endpoint.
This is how the environment has been implemented.
OAC / IAM side
Following Oracle Support guidance, we created a dynamic group for the OAC instance using a matching rule based on the OAC resource OCID:
resource.id = '<OAC instance OCID>'
We tested the IAM policies for that dynamic group, including:
use database-connections in tenancymanage autonomous-database-family in the target compartment
ATP-S side
Following Oracle Support guidance, on ATP-S we enabled IAM external authentication and created a globally authenticated database user mapped directly to the OAC instance OCID:
IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_OCID=<OAC instance OCID>'
So this is not a generic shared-schema implementation with IAM_GROUP_NAME. It is the direct OAC instance mapping approach that Oracle Support explicitly asked us to test for OAC Resource Principal.
What works
- Standard username/password connection from the same OAC instance to the same ATP-S database works.
- IAM-based database authentication from external clients to the same ATP-S private endpoint also works.
This confirms that PAC, DNS/network reachability, ATP-S IAM external authentication, and DB-side principal mapping are working.
What fails
The failure is specific to the OAC built-in ATP connection when Connect Using = Resource Principal.
We tested both:
Both fail with the same backend error reported by Oracle Support:
ORA-25704: Current configuration does not use SSL_SERVER_DN_MATCH=TRUE. Token based authentication requires SSL_SERVER_DN_MATCH=TRUE with server authentication.
Relevant Oracle references
Oracle documents that ORA-25704 means token-based authentication is being attempted without client-side SSL_SERVER_DN_MATCH=TRUE. Oracle also documents that token-based access to Autonomous Database requires TCPS/TLS, and that for private endpoint access the connect string must use a host FQDN rather than an IP address. In the token-based model, the client application or tool requests the database token and passes it to the database client API.
In this OAC flow, the customer does not manually construct the underlying database client configuration for the built-in ATP connection. Therefore, the key question is whether OAC correctly applies the required DN-matching behavior when Resource Principal is used against an ATP-S private endpoint. Oracle’s OAC documentation confirms this is the built-in connection model used to create Oracle Autonomous Transaction Processing connections in OAC.
Question to the community
Has anyone successfully implemented the OAC built-in ATP connection with Connect Using = Resource Principal through PAC to an ATP-S private endpoint?
If yes, can you confirm:
- whether this configuration is currently supported in practice,
- whether you implemented it with
resource.id dynamic group + IAM_PRINCIPAL_OCID database user mapping, - whether any extra prerequisite is required beyond that,
- and whether ORA-25704 in this exact path points to a known OAC limitation or defect?
Thank you.