Hello everyone,
Greetings of the day!
Is enabling and disabling the SQL sandbox in production a regular practice in OutSystems environments?
If yes, why do we follow this approach? Does it imply that the SQL sandbox application is not secure?
what are the other ways/applications of accessing database?
Hi,
Yes there is definitely a risk of keeping this application active in a production environment.
Having access to this application allows a user to manipulate content in the production entities, bypassing any business rules that are only enforced by application logic.
We have a practice, to only enable access to this application on an as needed bases. After the work is done, the access is removed.
There are no security issues with the app logic, it is about security issues using the app. You basically want to avoid unnecessary and unwanted usage of this application in production.
Regards,
Daniel
Hi Priya,
If you are working on OutSystems Cloud, an alternative is requesting access to the database, as described in this documentation: Access the database of your OutSystems Cloud. If you are working in a self-hosted environment, you just need to request access to the infra team.
I believe the practice of installing and uninstalling the SQL Sandbox in production is not due to security concerns, as it is merely a transport channel to access the database. Instead, it is likely because there are restrictions on accessing production data. This access might only be useful for investigating temporary issues.
Let me know if you need any further assistance!
Best Regards,
Gonçalo Ferraria
Please check the below link
https://www.outsystems.com/forums/discussion/81384/sql-sandbox-sql-sandbox-in-production/
@Priya Naveen In my opinion the safest route is request direct access to database by following the link provided by @Gonçalo Ferraria. This method is safe because access is strictly controlled—database access is possible only through VPN, AWS Transit Gateway, or an IP allowlist (only for permanent users).
Additionally, the production environment should strictly contain only applications that serve the business. This minimizes potential vulnerabilities and ensures that the environment remains optimized and secure. ( btw I am not saying SQL sandbox is unsafe).
Lastly, please note that using an SQL sandbox in production adds 15 AO to your license.
As its document says.
Allows execution of arbitrary SQL statements on the platform database.
Useful for troubleshooting and cleaning up data in development environments.
Use with caution.
Enabling and disabling the SQL sandbox in production is not a regular practice in OutSystems environments. Typically, the SQL sandbox is disabled in production for security and performance reasons.
Why disable it? The SQL sandbox allows for more flexibility during development but can expose security risks if left enabled in production. Disabling it ensures that only pre-defined queries (using OutSystems actions) are used, reducing risks of direct SQL injection or unintentional data manipulation.
Other database access methods:
The SQL sandbox is meant for development and troubleshooting, not for production environments.