配置 SQL*Plus 以将 SSL 用于 RDS for Oracle 数据库实例
在连接到使用 Oracle SSL 选项的 RDS for Oracle 数据库实例之前,您必须先配置 SQL*Plus。
注意
若要允许从适当的客户端访问数据库实例,请确保已正确配置安全组。有关更多信息,请参阅“使用安全组控制访问权限”。另外,这些说明适用于 SQL*Plus 和其他直接使用 Oracle 主目录的客户端。有关 JDBC 连接,请参阅设置通过 JDBC 的 SSL 连接。
将 SQL*Plus 配置为使用 SSL 连接到 RDS for Oracle 数据库实例
-
将
ORACLE_HOME
环境变量设置为 Oracle 主目录的位置。Oracle 主目录的路径取决于您的安装。以下示例设置
ORACLE_HOME
环境变量。prompt>export ORACLE_HOME=/home/user/app/user/product/19.0.0/dbhome_1
有关设置 Oracle 环境变量的信息,请参阅 Oracle 文档中的 SQL*Plus 环境变量
,另请参阅适用于您的操作系统的 Oracle 安装指南。 -
将
$ORACLE_HOME/lib
追加到LD_LIBRARY_PATH
环境变量。下面是一个设置 LD_LIBRARY_PATH 环境变量的示例。
prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
-
为
$ORACLE_HOME/ssl_wallet
处的 Oracle wallet 创建一个目录。下面是一个创建 Oracle wallet 目录的示例。
prompt>mkdir $ORACLE_HOME/ssl_wallet
-
下载适用于所有 AWS 区域的证书捆绑 .pem 文件并将此文件放在 ssl_wallet 目录中。有关信息,请参阅使用 SSL/TLS 加密与数据库实例或集群的连接。
-
在
$ORACLE_HOME/network/admin
目录中,修改或创建tnsnames.ora
文件并包含下列条目。net_service_name
= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPS) (HOST =endpoint
) (PORT =ssl_port_number
) ) ) (CONNECT_DATA = (SID =database_name
) ) (SECURITY = (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint
") ) ) -
在同一目录中,修改或创建 sqlnet.ora 文件并包含下列参数。
注意
要通过 TLS 安全连接与实体进行通信,Oracle 需要包含身份验证所需证书的钱夹。您可以使用 Oracle 的 ORAPKI 实用工具来创建和维护 Oracle 钱夹,如步骤 7 中所示。有关更多信息,请参阅 Oracle 文档中的使用 ORAPKI 设置 Oracle 钱夹
。 WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) SSL_CLIENT_AUTHENTICATION = FALSE SSL_VERSION = 1.0 SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) SSL_SERVER_DN_MATCH = ON
注意
您可以将
SSL_VERSION
设置为较高值(如果您的数据库实例支持它)。 -
运行下列命令以创建 Oracle Wallet。
prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only
-
使用操作系统实用程序将 .pem 捆绑文件中的每个证书解压缩到单独的 .pem 文件中。
-
使用单独的
orapki
命令将每个证书添加到 Wallet 中,将
替换为 .pem 文件的绝对文件名。certificate-pem-file
prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
certificate-pem-file
-auto_login_only有关更多信息,请参阅 轮换 SSL/TLS 证书。