Author: buildbot
Date: Tue Dec  2 21:03:57 2014
New Revision: 931421

Log:
Staging update by buildbot for slider

Modified:
    websites/staging/slider/trunk/content/   (props changed)
    websites/staging/slider/trunk/content/design/ssl_implementation.html
    websites/staging/slider/trunk/content/images/agent_am_two_way_ssl.png

Propchange: websites/staging/slider/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec  2 21:03:57 2014
@@ -1 +1 @@
-1641948
+1643005

Modified: websites/staging/slider/trunk/content/design/ssl_implementation.html
==============================================================================
--- websites/staging/slider/trunk/content/design/ssl_implementation.html 
(original)
+++ websites/staging/slider/trunk/content/design/ssl_implementation.html Tue 
Dec  2 21:03:57 2014
@@ -172,8 +172,9 @@ Latest release: <strong>0.60.0-incubatin
 <p>As the Slider application master starts up it leverages the certificate 
manager to ensure that the resources required to support SSL transport - the 
server certificate, the key store, and the truststore - are available.  The 
certificate manager will create these artifacts if necessary (see figure 1).</p>
 <p><img alt="Server Certificate Generation" 
src="../images/server_cert_gen.png" /></p>
 <p>Figure 1 - Server Certificate and Keystore/Trustore Generation</p>
-<h3 id="agent-https-server">Agent HTTPS Server</h3>
-<p>Once the artifacts necessary for supporting SSL transport are available, 
the agent-facing HTTP server instance is created and started.  This instance 
creates two SSL connectors.  The first connector is always configured for 
one-way SSL and supports server liveness checks from the agents, the retrieval 
of the server certificate, and the creation of signed agent certificates (the 
latter two tasks are required for the two-way SSL support).  The second 
connector provides the port over which agent registration and heart beats are 
transmitted.  It is configured for one-way SSL by default but can be explicitly 
configured for two-way SSL (hence the need for a certificate exchange mechanism 
as detailed above).  Figure 2 illustrates this startup sequence.</p>
+<p>In addition, if two-way SSL is enabled (more on that later), the Slider 
application master will leverage the certificate manager to create client 
certificates for every container launched as part of the application.  These 
certificates, along with the AM's certificate, will subsequently be seeded to 
the given container's host machine via Yarn's resource localization 
facilities.</p>
+<h3 id="agent-facing-https-server">Agent-facing HTTPS Server</h3>
+<p>Once the artifacts necessary for supporting SSL transport are available, 
the agent-facing HTTP server instance is created and started.  This instance 
creates two SSL connectors.  The first connector is always configured for 
one-way SSL and supports server liveness checks from the agents.  The second 
connector provides the port over which agent registration and heart beats are 
transmitted.  It is configured for one-way SSL by default but can be explicitly 
configured for two-way SSL (hence the need for a certificate seeding mechanism 
as detailed above).  Figure 2 illustrates this startup sequence.</p>
 <p><img alt="Agent HTTPS server" src="../images/server_ssl_startup.png" /></p>
 <p>Figure 2 - Server Agent-facing HTTP Server Initialization</p>
 <h2 id="agent-communication-modes">Agent Communication Modes</h2>
@@ -194,14 +195,7 @@ Latest release: <strong>0.60.0-incubatin
 <p><img alt="One-way SSL" src="../images/agent_am_one_way_ssl.png" /></p>
 <p>Figure 3 - Agent to AM One-way SSL Communication</p>
 <h3 id="two-way-ssl">Two-way SSL</h3>
-<p>The setup for two-way SSL is more involves since both parties must have 
each others certificates available to establish the trust required for this 
authentication mechanism.  Therefore, in between the liveness check and 
registration performed in the one-way SSL mode, the agent and application 
master perform some additional steps to setup their certificate stores:</p>
-<ol>
-<li>The agent downloads the application master's certificate using the one-way 
SSL port</li>
-<li>The agent generates a key</li>
-<li>The agent uploads the key and requests a signed certificate from the 
application master</li>
-<li>The application master signs the key, creates a certificate, and returns 
it in the response to the client. It also store the certificate in its 
keystore/truststore.</li>
-</ol>
-<p>After this exchange of information, the two parties are configured for 
communication over the configured two-way SSL port.  See Figure 4 for an 
illustration of this exchange.</p>
+<p>The setup for two-way SSL is more involved since both parties must have 
each other's certificates available to establish the trust required for this 
authentication mechanism.  Therefore, the Application Master seeds both the 
AM's certificate (trust store) and the client's certificate (key store) to the 
host machine as the container is being instantiated.  Therefore, the two 
parties are configured for communication over the configured two-way SSL port.  
See Figure 4 for an illustration of this setup.</p>
 <p><img alt="Two-way SSL" src="../images/agent_am_two_way_ssl.png" /></p>
 <p>Figure 3 - Agent to AM Two-way SSL Communication</p>
 <p>Note that two-way SSL is enabled by setting a property 
("ssl.server.client.auth") for the slider application master in the application 
configuration:</p>

Modified: websites/staging/slider/trunk/content/images/agent_am_two_way_ssl.png
==============================================================================
Binary files - no diff available.


Reply via email to