This is an automated email from the ASF dual-hosted git repository.

dmagda pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-website.git


The following commit(s) were added to refs/heads/master by this push:
     new ae28184  released Ignite Sandbox docs and updated installation 
instructions for C++ with CMake
ae28184 is described below

commit ae281848e8c2b2952bc6baea4a52470dd34bbac9
Author: Denis Magda <[email protected]>
AuthorDate: Thu Sep 24 12:32:58 2020 -0700

    released Ignite Sandbox docs and updated installation instructions for C++ 
with CMake
---
 docs/2.9.0/security/sandbox.html | 2581 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 2581 insertions(+)

diff --git a/docs/2.9.0/security/sandbox.html b/docs/2.9.0/security/sandbox.html
new file mode 100644
index 0000000..ca51ded
--- /dev/null
+++ b/docs/2.9.0/security/sandbox.html
@@ -0,0 +1,2581 @@
+<!DOCTYPE html>
+
+      
+      
+<html lang="en">
+<head>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async 
src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1";></script>
+    <script>
+    window.dataLayer = window.dataLayer || [];
+    function gtag(){dataLayer.push(arguments);}
+    gtag('js', new Date());
+
+    gtag('config', 'UA-61232409-1');
+    </script>
+
+    
+
+    <meta charset="UTF-8">
+    <meta name="ignite-version" content="2.9.0" />
+    <title>The Ignite Sandbox | Ignite Documentation</title>
+    
+    <link rel="canonical" href="/docs/latest/security/sandbox" />
+    
+       
+       <link rel="stylesheet" href="/assets/css/styles.css?1600975888">
+    <link rel="stylesheet" href="/assets/css/asciidoc-pygments.css">
+    <link rel="shortcut icon" href="/favicon.ico">
+    <meta name='viewport' content='width=device-width, height=device-height, 
initial-scale=1.0, minimum-scale=1.0'>
+
+       <script type="text/javascript" 
src="/assets/js/anchor.min.js?1600975888"></script>
+  
+  <link rel="stylesheet" 
href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"; />
+
+
+</head>
+<body>
+    <header>
+    <!--#include virtual="/includes/promotion_banner.html" -->
+    <div class="container">
+        <button type='button' class='menu' title='Docs menu'>
+        <img src="/assets/images/menu-icon.svg"/>
+        </button>
+        <div class='home'>
+            <a href="/" class='home' title='Apache Ignite home'>
+                <img src="/assets/images/apache_ignite_logo.svg" alt="Apache 
Ignite logo" width="103" >
+            </a>
+        </div>
+        
+        <nav>
+            
+        </nav>
+        
+        <select id="version-selector">
+            <option value="2.9.0">2.9.0</option>
+        </select>
+        
+        <a href="https://github.com/apache/ignite"; title='GitHub' 
class='github' target="_blank">
+            <img src="/assets/images/github-gray.svg" alt="GitHub logo">
+        </a>
+        
+        <form class='search'>
+            <button class="search-close" type='button'><img 
src='/assets/images/cancel.svg'></button>
+            <input type="search" placeholder="Search…" id="search-input">
+        </form>
+        <button type='button' class='search-toggle'><img 
src='/assets/images/search.svg'></button>
+        <button type='button' class='top-nav-toggle'>⋮</button>
+
+        
+        
+    </div>
+</header>
+
+
+        <link rel="stylesheet" href="/assets/css/docs.css">
+<section class='page-docs'>
+    
+
+
+
+<nav class='left-nav' data-swiftype-index='false'>
+
+      
+        <li>
+            
+
+            <a href="/docs/latest/preface" class='' >Preface</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Quick Start Guides<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/java"
+
+                                class=''
+                            >Java</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/dotnet"
+
+                                class=''
+                            >.NET/C#</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/cpp"
+
+                                class=''
+                            >C++</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/python"
+
+                                class=''
+                            >Python</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/nodejs"
+
+                                class=''
+                            >Node.JS</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/sql"
+
+                                class=''
+                            >SQL</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/php"
+
+                                class=''
+                            >PHP</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/quick-start/restapi"
+
+                                class=''
+                            >REST API</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="/installation" 
class='group-toggle collapsed '>Installation<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/installation/installing-using-zip"
+
+                                class=''
+                            >Installing Using ZIP Archive</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/installation/installing-using-docker"
+
+                                class=''
+                            >Installing Using Docker</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/installation/deb-rpm"
+
+                                class=''
+                            >Installing DEB or RPM package</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Kubernetes<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//installation/kubernetes/amazon-eks-deployment" 
class=''>Amazon EKS</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//installation/kubernetes/azure-deployment" class=''>Azure 
Kubernetes Service</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//installation/kubernetes/gke-deployment" class=''>Google 
Kubernetes Engine</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Setting Up<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/setup"
+
+                                class=''
+                            >Setting Up Ignite for Java</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/setup-dotnet"
+
+                                class=''
+                            >Setting Up Ignite for .NET/C#</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/understanding-configuration" class='' 
>Understanding Configuration</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/logging" class='' >Configuring Logging</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/starting-nodes" class='' >Starting and 
Stopping Nodes</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Clustering<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/clustering/clustering"
+
+                                class=''
+                            >Overview</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/clustering/tcp-ip-discovery"
+
+                                class=''
+                            >TCP/IP Discovery</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/clustering/zookeeper-discovery"
+
+                                class=''
+                            >ZooKeeper Discovery</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/clustering/discovery-in-the-cloud"
+
+                                class=''
+                            >Discovery in the Cloud</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/clustering/network-configuration"
+
+                                class=''
+                            >Network Configuration</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/clustering/connect-client-nodes"
+
+                                class=''
+                            >Connecting Client Nodes</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/clustering/running-client-nodes-behind-nat"
+
+                                class=''
+                            >Running Client Nodes Behind NAT</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Data Modeling<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/data-modeling/data-modeling"
+
+                                class=''
+                            >Introduction</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/data-modeling/data-partitioning"
+
+                                class=''
+                            >Data Partitioning</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/data-modeling/affinity-collocation"
+
+                                class=''
+                            >Affinity Colocation</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Configuring Memory<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/memory-architecture"
+
+                                class=''
+                            >Memory Architecture</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/memory-configuration/data-regions"
+
+                                class=''
+                            >Configuring Data Regions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/memory-configuration/eviction-policies"
+
+                                class=''
+                            >Eviction Policies</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Configuring Caches<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/configuration-overview"
+
+                                class=''
+                            >Cache Configuration</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/configuring-backups"
+
+                                class=''
+                            >Configuring Partition Backups</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/atomicity-modes"
+
+                                class=''
+                            >Atomicity Modes</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/expiry-policies"
+
+                                class=''
+                            >Expiry Policy</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/on-heap-caching"
+
+                                class=''
+                            >On-Heap Caching</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/configuring-caches/cache-groups"
+
+                                class=''
+                            >Cache Groups</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Persistence<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/persistence/native-persistence"
+
+                                class=''
+                            >Ignite Persistence</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/persistence/external-storage"
+
+                                class=''
+                            >External Storage</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/persistence/swap"
+
+                                class=''
+                            >Swapping</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/persistence/custom-cache-store"
+
+                                class=''
+                            >Implementing Custom Cache Store</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/persistence/snapshots"
+
+                                class=''
+                            >Cluster Snapshots</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/persistence/disk-compression"
+
+                                class=''
+                            >Disk Compression</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/persistence/persistence-tuning"
+
+                                class=''
+                            >Tuning Persistence</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/baseline-topology" class='' >Baseline 
Topology</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/cluster-states" class='' >Cluster States</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/data-rebalancing" class='' >Data 
Rebalancing</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/partition-loss-policy" class='' >Partition 
Loss Policy</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/deploying-user-code" class='' >Deploying 
User Code</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/peer-class-loading" class='' >Peer Class 
Loading</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/data-streaming" class='' >Data Streaming</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Using Key-Value Cache API<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/key-value-api/basic-cache-operations"
+
+                                class=''
+                            >Basic Cache Operations</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/key-value-api/binary-objects"
+
+                                class=''
+                            >Working with Binary Objects</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/key-value-api/using-scan-queries"
+
+                                class=''
+                            >Using Scan Queries</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/read-repair"
+
+                                class=''
+                            >Read Repair</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/key-value-api/continuous-queries" class='' 
>Using Continuous Queries</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/key-value-api/transactions" class='' 
>Performing Transactions</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Working with SQL<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/sql-introduction"
+
+                                class=''
+                            >Introduction</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/schemas"
+
+                                class=''
+                            >Understanding Schemas</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/indexes"
+
+                                class=''
+                            >Defining Indexes</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/sql-api"
+
+                                class=''
+                            >Using SQL API</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/distributed-joins"
+
+                                class=''
+                            >Distributed Joins</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/sql-transactions"
+
+                                class=''
+                            >SQL Transactions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/custom-sql-func"
+
+                                class=''
+                            >Custom SQL Functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/JDBC/jdbc-driver"
+
+                                class=''
+                            >JDBC Driver</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/JDBC/jdbc-client-driver"
+
+                                class=''
+                            >JDBC Client Driver</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/transactions/mvcc"
+
+                                class=''
+                            >Multiversion Concurrency Control</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Distributed Computing<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/distributed-computing"
+
+                                class=''
+                            >Distributed Computing API</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/cluster-groups"
+
+                                class=''
+                            >Cluster Groups</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/executor-service"
+
+                                class=''
+                            >Executor Service</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/map-reduce"
+
+                                class=''
+                            >MapReduce API</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/load-balancing"
+
+                                class=''
+                            >Load Balancing</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/fault-tolerance"
+
+                                class=''
+                            >Fault Tolerance</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/distributed-computing/job-scheduling"
+
+                                class=''
+                            >Job Scheduling</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/collocated-computations" class='' 
>Colocating Computations with Data</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Working with Events<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/events/listening-to-events"
+
+                                class=''
+                            >Enabling and Listenting to Events</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/events/events"
+
+                                class=''
+                            >Events</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/near-cache" class='' >Near Caches</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/platform-cache" class='' >.NET Platform 
Cache</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/services/services" class='' >Services</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Distributed Data Structures<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/data-structures/queue-and-set"
+
+                                class=''
+                            >Queue and Set</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/data-structures/atomic-types"
+
+                                class=''
+                            >Atomic Types</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/data-structures/countdownlatch"
+
+                                class=''
+                            >CountDownLatch</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/data-structures/atomic-sequence"
+
+                                class=''
+                            >Atomic Sequence</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/data-structures/semaphore"
+
+                                class=''
+                            >Semaphore</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Machine Learning<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/machine-learning"
+
+                                class=''
+                            >Machine Learning</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/partition-based-dataset"
+
+                                class=''
+                            >Partition Based Dataset</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/updating-trained-models"
+
+                                class=''
+                            >Updating Trained Models</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Binary Classification<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/introduction" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/linear-svm" 
class=''>Linear SVM (Support Vector Machine)</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/decision-trees" 
class=''>Decision Trees</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/multilayer-perceptron"
 class=''>Multilayer Perceptron</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/logistic-regression" 
class=''>Logistic Regression</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/knn-classification" 
class=''>k-NN Classification</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/ann" class=''>ANN 
(Approximate Nearest Neighbor)</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/binary-classification/naive-bayes" 
class=''>Naive Bayes</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Regression<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/regression/introduction" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/regression/linear-regression" 
class=''>Linear Regression</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/regression/decision-trees-regression" 
class=''>Decision Trees Regression</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/regression/knn-regression" class=''>k-NN 
Regression</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Clustering<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/clustering/introduction" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/clustering/k-means-clustering" 
class=''>K-Means Clustering</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/clustering/gaussian-mixture" 
class=''>Gaussian mixture (GMM)</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/preprocessing"
+
+                                class=''
+                            >Preprocessing</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Model Selection<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/model-selection/introduction" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/model-selection/evaluator" 
class=''>Evaluator</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/model-selection/split-the-dataset-on-test-and-train-datasets"
 class=''>Split the dataset on test and train datasets</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/model-selection/hyper-parameter-tuning" 
class=''>Hyper-parameter tuning</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/model-selection/pipeline-api" 
class=''>Pipeline API</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/multiclass-classification"
+
+                                class=''
+                            >Multiclass Classification</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Ensemble Methods<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/ensemble-methods/introduction" 
class=''></a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/ensemble-methods/stacking" 
class=''>Stacking</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/ensemble-methods/baggin" 
class=''>Bagging</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/ensemble-methods/random-forest" 
class=''>Random Forest</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/ensemble-methods/gradient-boosting" 
class=''>Gradient Boosting</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/machine-learning/recommendation-systems"
+
+                                class=''
+                            >Recommendation Systems</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Importing Model<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/importing-model/introduction" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/importing-model/model-import-from-gxboost" 
class=''>Import Model from XGBoost</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//machine-learning/importing-model/model-import-from-apache-spark"
 class=''>Import Model from Apache Spark</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Monitoring<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/monitoring-metrics/intro"
+
+                                class=''
+                            >Introduction</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/monitoring-metrics/cluster-id"
+
+                                class=''
+                            >Cluster ID and Tag</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Metrics<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//monitoring-metrics/configuring-metrics" 
class=''>Configuring Metrics</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//monitoring-metrics/metrics" class=''>JMX Metrics</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>New Metrics System<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//monitoring-metrics/new-metrics-system" 
class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//monitoring-metrics/new-metrics" class=''>Metrics</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/monitoring-metrics/system-views"
+
+                                class=''
+                            >System Views</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/monitoring-metrics/tracing"
+
+                                class=''
+                            >Tracing</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="/security" 
class='group-toggle collapsed parent'>Security<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/security/authentication"
+
+                                class=''
+                            >Authentication</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/security/ssl-tls"
+
+                                class=''
+                            >SSL/TLS</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Transparent Data 
Encryption<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//security/tde" class=''>Introduction</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//security/master-key-rotation" class=''>Master key 
rotation</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/security/sandbox"
+
+                                class=''
+                            >Sandbox</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Thin Clients<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/thin-clients/getting-started-with-thin-clients"
+
+                                class=''
+                            >Thin Clients Overview</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/thin-clients/java-thin-client"
+
+                                class=''
+                            >Java Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/thin-clients/dotnet-thin-client"
+
+                                class=''
+                            >.NET Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/thin-clients/cpp-thin-client"
+
+                                class=''
+                            >C++ Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/thin-clients/python-thin-client"
+
+                                class=''
+                            >Python Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/thin-clients/php-thin-client"
+
+                                class=''
+                            >PHP Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/thin-clients/nodejs-thin-client"
+
+                                class=''
+                            >Node.js Thin Client</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            
+                            
+                            <button
+                                type='button'
+                                class='collapsed '>Binary Client Protocol<img 
class="state-indicator" src="/assets/images/left-nav-arrow.svg"></button>
+                            <nav class="sub_pages collapsed">
+
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/binary-client-protocol" 
class=''>Binary Client Protocol</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/data-format" class=''>Data 
Format</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/key-value-queries" 
class=''>Key-Value Queries</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/sql-and-scan-queries" class=''>SQL 
and Scan Queries</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/binary-type-metadata" 
class=''>Binary Types Metadata</a></li>
+                            
+                                  
+
+                                                                 <li><a 
href="/docs/latest//binary-client-protocol/cache-configuration" class=''>Cache 
Configuration</a></li>
+                            
+                            </nav>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>ODBC Driver<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/ODBC/odbc-driver"
+
+                                class=''
+                            >ODBC Driver</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/SQL/ODBC/connection-string-dsn"
+
+                                class=''
+                            >Connection String and DSN</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/SQL/ODBC/querying-modifying-data"
+
+                                class=''
+                            >Querying and Modifying Data</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/ODBC/specification"
+
+                                class=''
+                            >Specification</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/ODBC/data-types"
+
+                                class=''
+                            >Data Types</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/SQL/ODBC/error-codes"
+
+                                class=''
+                            >Error Codes</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/restapi" class='' >REST API</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/control-script" class='' >Control Script</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/plugins" class='' >Plugins</a>
+            
+        </li>
+    
+        <li>
+            
+
+            <a href="/docs/latest/sqlline" class='' >SQLLine</a>
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' data-guide-url="" 
class='group-toggle collapsed '>Ignite for Spark<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/ignite-for-spark/overview"
+
+                                class=''
+                            >Overview</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/ignite-for-spark/ignitecontext-and-rdd"
+
+                                class=''
+                            >IgniteContext and IgniteRDD</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/ignite-for-spark/ignite-dataframe"
+
+                                class=''
+                            >Ignite DataFrame</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/ignite-for-spark/installation"
+
+                                class=''
+                            >Installation</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/ignite-for-spark/spark-shell"
+
+                                class=''
+                            >Test Ignite with Spark-shell</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/ignite-for-spark/troubleshooting"
+
+                                class=''
+                            >Troubleshooting</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+        <li>
+            
+
+            
+
+            
+
+                       <button type='button' 
data-guide-url="/sql-reference/sql-reference-overview" class='group-toggle 
collapsed '>SQL Reference<img class="state-indicator" 
src="/assets/images/left-nav-arrow.svg"></button>
+             <nav class='nav-group collapsed'>
+            
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/sql-conformance"
+
+                                class=''
+                            >SQL Conformance</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/sql-reference/ddl"
+
+                                class=''
+                            >Data Definition Language (DDL)</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/sql-reference/dml"
+
+                                class=''
+                            >Data Manipulation Language (DML)</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/sql-reference/transactions"
+
+                                class=''
+                            >Transactions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/operational-commands"
+
+                                class=''
+                            >Operational Commands</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/aggregate-functions"
+
+                                class=''
+                            >Aggregate functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/numeric-functions"
+
+                                class=''
+                            >Numeric Functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/string-functions"
+
+                                class=''
+                            >String Functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/date-time-functions"
+
+                                class=''
+                            >Data and Time Functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a 
href="/docs/latest/sql-reference/system-functions"
+
+                                class=''
+                            >System Functions</a>
+                        
+                    </li>
+                
+
+                    
+                    
+
+                    <li> 
+                        
+                            <a href="/docs/latest/sql-reference/data-types"
+
+                                class=''
+                            >Data Types</a>
+                        
+                    </li>
+                
+              
+                     
+             </nav>   
+            
+        </li>
+    
+</nav>
+<div class="left-nav__overlay"></div>
+
+
+    <article data-swiftype-index='true'>
+      <a class='edit-link' 
href="https://github.com/apache/ignite/tree/IGNITE-7595/docs/_docs/security/sandbox.adoc";
 target="_blank">Edit</a>
+        
+            <h1>The Ignite Sandbox</h1>
+        
+        <div class="sect1">
+<h2 id="overview">Overview</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Ignite allows executing custom logic via various APIs including compute 
tasks, event filters, message listeners.
+This user-defined logic can utilize Java APIs to get access to host resources. 
For example, it can create/update/delete files or system properties,
+open network connections, use reflection and other APIs to get full control of 
the host environment.
+Ignite Sandbox is based on the <a 
href="https://docs.oracle.com/en/java/javase/11/security/java-se-platform-security-architecture.html#GUID-C203D80F-C730-45C3-AB95-D4E61FD6D89C";
 target="_blank" rel="noopener">Java Sandbox model</a>
+and allows you to restrict the scope of user-defined logic executed via Ignite 
APIs.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="ignite-sandbox-activation">Ignite Sandbox Activation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The activation of Ignite Sandbox involves the configuration of an 
<code>SecurityManager</code> instance and creation of an
+<code>GridSecurityProcessor</code> implementation.</p>
+</div>
+<div class="sect2">
+<h3 id="install-securitymanager">Install SecurityManager</h3>
+<div class="paragraph">
+<p>Due to the fact, that Ignite Sandbox is based on the Java Sandbox model, and
+<a 
href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/spec/security-spec.doc6.html#a19349";
 target="_blank" rel="noopener">SecurityManager</a>
+is an important part of that model, you need to have it installed.
+The SecurityManager is responsible for checking, which security policy is 
currently in effect. It also performs access control checks.
+The security manager is not automatically installed when an application is 
running. If you run Ignite as a separate application,
+you must invoke the Java Virtual Machine with the 
<code>-Djava.security.manager</code> command-line argument (which sets the 
value of the <code>java.security.manager property</code>).
+There is also a <code>-Djava.security.policy</code> command-line argument, 
defining, which policy files are utilized.
+If you don&#8217;t include <code>-Djava.security.policy</code> into the 
command line, then the policy files specified in the security properties file 
will be used.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+It may be convenient adding the security manager and the policy command-line 
arguments to <code>{IGNITE-HOME}/bin/ignite.sh|ignite.bat</code> script.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Ignite should have enough permissions to work correctly.
+You may apply the most straightforward way that is granting to Ignite the 
<code>java.security.AllPermission</code> permission,
+but you should remember the "giving permissions as low as possible" security 
principle.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="provide-gridsecurityprocessor-implementation">Provide 
GridSecurityProcessor Implementation</h3>
+<div class="paragraph">
+<p>Currently, Apache Ignite does not provide an implementation of the 
<code>GridSecurityProcessor</code> interface out-of-the-box.
+But, you can implement this interface as a part of <a href="/docs/plugins">a 
custom plugin</a>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>GridSecurityProcessor</code> interface has the 
<code>sandboxEnabled</code> method that manages a user-defined code execution 
inside the Ignite Sandbox.
+By default, this method returns <code>false</code>, which means no-sandbox.
+If you are going to use Ignite Sandbox, your overridden 
<code>sandboxEnabled</code> method needs to return <code>true</code>.</p>
+</div>
+<div class="paragraph">
+<p>If the Ignite Sandbox is turned on, you can see the following trace 
line:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="rouge highlight"><code data-lang="text">[INFO] Security status 
[authentication=on, sandbox=on, tls/ssl=off]</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="permissions">Permissions</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A user-defined code is always executed on behalf of the security subject 
that initiates its execution.
+The security subject&#8217;s sandbox <a 
href="https://docs.oracle.com/en/java/javase/11/security/java-se-platform-security-architecture.html#GUID-DEA8EAB1-CF00-4658-AA6D-D2C9754C8B37";
 target="_blank" rel="noopener">permissions</a>
+define actions that a user-defined code can perform.
+The Ignite Sandbox retrieves those permissions using the 
<code>SecuritySubject#sandboxPermissions</code> method.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+A user-defined code, when running inside Ignite Sandbox, may use the public 
API of Ignite without granting any additional permissions.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>If a security subject doesn&#8217;t have enough permissions to perform a 
security-sensitive operation,
+an AcccessControlException appears.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="rouge highlight"><code data-lang="java"><span class="c1">// Get 
compute instance over all nodes in the cluster.</span>
+<span class="nc">IgniteCompute</span> <span class="n">compute</span> <span 
class="o">=</span> <span class="nc">Ignition</span><span 
class="o">.</span><span class="na">ignite</span><span class="o">().</span><span 
class="na">compute</span><span class="o">();</span>
+
+<span class="n">compute</span><span class="o">.</span><span 
class="na">broadcast</span><span class="o">(()</span> <span 
class="o">-&gt;</span> <span class="o">{</span>
+    <span class="c1">// If the Ignite Sandbox is turned on, the lambda code is 
executed with restrictions.</span>
+
+    <span class="c1">// You can use the public API of Ignite without granting 
any permissions.</span>
+    <span class="nc">Ignition</span><span class="o">.</span><span 
class="na">localIgnite</span><span class="o">().</span><span 
class="na">cache</span><span class="o">(</span><span 
class="s">"some.cache"</span><span class="o">).</span><span 
class="na">get</span><span class="o">(</span><span class="s">"key"</span><span 
class="o">);</span>
+
+    <span class="c1">// If the current security subject doesn't have the 
java.util.PropertyPermission("secret.property", "read") permission,</span>
+    <span class="c1">// a java.security.AccessControlException appears 
here.</span>
+    <span class="nc">System</span><span class="o">.</span><span 
class="na">getProperty</span><span class="o">(</span><span 
class="s">"secret.property"</span><span class="o">);</span>
+<span class="o">});</span></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the case of accessing the system property shown in the snippet above, 
you can see the following trace line with an exception:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="rouge highlight"><code 
data-lang="text">java.security.AccessControlException: access denied 
("java.util.PropertyPermission" "secret.property" "read")</code></pre>
+</div>
+</div>
+</div>
+</div>
+        <div class="copyright">
+ © 2020 The Apache Software Foundation.<br/>
+Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are 
either registered trademarks or trademarks of The Apache Software Foundation. 
+
+</div>
+
+    </article>
+    <nav class="right-nav" data-swiftype-index='false'>
+    <ul class="sectlevel1">
+<li><a href="#overview">Overview</a></li>
+<li><a href="#ignite-sandbox-activation">Ignite Sandbox Activation</a>
+<ul class="sectlevel2">
+<li><a href="#install-securitymanager">Install SecurityManager</a></li>
+<li><a href="#provide-gridsecurityprocessor-implementation">Provide 
GridSecurityProcessor Implementation</a></li>
+</ul>
+</li>
+<li><a href="#permissions">Permissions</a></li>
+</ul>
+          
+      
+<footer>
+</footer>
+
+</nav>
+    
+</section>
+<script type='module' src='/assets/js/code-copy-to-clipboard.js' async 
crossorigin></script>
+
+    <script>
+    // inits deep anchors -- needs to be done here because of 
https://www.bryanbraun.com/anchorjs/#dont-run-it-too-late 
+    anchors.add('.page-docs h1, .page-docs h2, .page-docs h3:not(.discrete), 
.page-docs h4, .page-docs h5');
+    anchors.options = {
+        placement: 'right',
+        visible: 'always'
+    };
+    </script>
+    <!-- load google fonts async -->
+    <script type="text/javascript">
+    WebFontConfig = {
+      google: { families: [ 'Open+Sans:300,400,600,700&display=swap' ] }
+    };
+    (function() {
+      var wf = document.createElement('script');
+      wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
+      wf.type = 'text/javascript';
+      wf.async = 'true';
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(wf, s);
+    })(); </script>
+    <script 
src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js";></script>
+    <script>
+      docsearch({
+        // Your apiKey and indexName will be given to you once
+        // we create your config
+        apiKey: '3eee686c0ebe39eff3baeb18c56fa5f8', 
+        indexName: 'apache_ignite',
+        // Replace inputSelector with a CSS selector
+        // matching your search input
+        inputSelector: '#search-input',
+        // algoliaOptions: { 'facetFilters': ["version:$VERSION"] },
+
+        // Set debug to true to inspect the dropdown
+        debug: false,
+      });
+    </script>
+<script type='module' src='/assets/js/index.js?1600975888' async 
crossorigin></script>
+<script type='module' src='/assets/js/versioning.js?1600975888' async 
crossorigin></script>
+</body>
+
+</html>

Reply via email to