4.1.2 Security Best Practices for Oracle Machine Learning for R
To minimize the risk of compromising the security of an Oracle Machine Learning for R Server in Oracle AI Database, Oracle recommends the following security best practices.
Oracle Machine Learning for R Server components in an Oracle AI Database instance include the locked and password-expired RQSYS schema, which contains and manages Oracle Machine Learning for R metadata. Users connect to Oracle Machine Learning for R Server through their database connection credentials. The RQADMIN role grants a user the privilege of creating R functions as scripts in the Oracle Machine Learning for R R script repository; those scripts can be ran using Oracle Machine Learning for R embedded R execution.
Oracle recommends the following security best practices.
-
Do not unlock the RQSYS schema or enable its login.
-
Grant the RQADMIN role only to database users who are responsible for creating and managing the R script repository.
-
Create private R scripts and grant access to other users as needed. Global R scripts are visible to and can be ran by any Oracle Machine Learning for R user.
-
Use parameters or the Oracle Machine Learning for R datastore to transfer data between embedded R execution scripts and Oracle AI Database. R scripts should not interact with the server file system or the network.
-
Set the Oracle Machine Learning for R embedded R execution memory limit properly based upon the Oracle AI Database server resources and usage patterns. The default value is 2 GB per connection.
-
Use the auto-connect feature (
connect=TRUE
) instead of providing explicit database credentials when connecting back to the Oracle AI Database server in an R script that uses embedded R execution. -
Do not allow unauthorized R packages or C libraries to be loaded on the Oracle AI Database server for use in embedded R execution.
-
Load dependent shared libraries from the
$ORACLE_HOME/lib
directory to prevent the use of unauthorized libraries.
Parent topic: About Oracle Machine Learning for R Server