Author: buildbot
Date: Tue Feb 17 17:33:12 2015
New Revision: 940496

Log:
Staging update by buildbot for slider

Modified:
    websites/staging/slider/trunk/content/   (props changed)
    websites/staging/slider/trunk/content/docs/security.html

Propchange: websites/staging/slider/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Feb 17 17:33:12 2015
@@ -1 +1 @@
-1659654
+1660455

Modified: websites/staging/slider/trunk/content/docs/security.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/security.html (original)
+++ websites/staging/slider/trunk/content/docs/security.html Tue Feb 17 
17:33:12 2015
@@ -398,7 +398,56 @@ documentation.</p>
 </pre></div>
 
 
-<h3 id="important-java-cryptography-package">Important: Java Cryptography 
Package</h3>
+<h2 
id="generation-and-deployment-of-application-keystorestruststores">Generation 
and deployment of application keystores/truststores</h2>
+<p>Application components may make use of keystores and truststores to 
establish secure communications.  Given the nature of application deployments 
in a YARN cluster and the lack of certainty concerning the nodemanager host on 
which a component container may be spawned, Slider provides the facility for 
creating and deploying the keystores and truststores that may be required.</p>
+<p>The process of enabling application keystore/truststore generation and 
deployment is:</p>
+<ul>
+<li>Set the "slider.component.security.stores.required" property to "true".  
This property can be set as a global property (indicating all components 
require stores) or can be set/overridden at the component level to selectively 
enable store generation for a given component.</li>
+<li>Specify the password property for the component keystore or truststore 
or,</li>
+<li>Specify the property providing the alias that references a credential 
managed by the Hadoop Credential Provider.  This credential provides the 
password for securing the keystore/truststore.</li>
+</ul>
+<h3 id="specifying-a-keystoretruststore-password">Specifying a 
keystore/truststore password</h3>
+<p>Applications that make use of a keystore and/or truststore may already have 
configuration properties that reference the value for the password used to 
secure the given certificate store.  In those instances the application 
configuration can reference the value of the password property in the component 
specific configuration section:</p>
+<div class="codehilite"><pre>    &quot;<span 
class="n">APP_COMPONENT</span>&quot;<span class="p">:</span> <span 
class="p">{</span>
+        &quot;<span class="n">slider</span><span class="p">.</span><span 
class="n">component</span><span class="p">.</span><span 
class="n">security</span><span class="p">.</span><span 
class="n">stores</span><span class="p">.</span><span 
class="n">required</span>&quot;<span class="p">:</span> &quot;<span 
class="n">true</span>&quot;<span class="p">,</span> 
+        &quot;<span class="n">slider</span><span class="p">.</span><span 
class="n">component</span><span class="p">.</span><span 
class="n">keystore</span><span class="p">.</span><span 
class="n">password</span><span class="p">.</span><span 
class="n">property</span>&quot;<span class="p">:</span> &quot;<span 
class="n">site</span><span class="p">.</span><span class="n">myapp</span><span 
class="o">-</span><span class="n">site</span><span class="p">.</span><span 
class="n">app_component</span><span class="p">.</span><span 
class="n">keystore</span><span class="p">.</span><span 
class="n">password</span>&quot;
+    <span class="p">}</span>
+</pre></div>
+
+
+<p>In this example:</p>
+<ul>
+<li>The store required property is set to "true" for the APP_COMPONENT 
component</li>
+<li>The application has a property in its site configuration file named 
"app_component.keystore.password".  This property is specified in the appConfig 
file's global section (with the "site.myapp-site" prefix), and is referenced 
here to indicate to Slider which application property provides the store 
password.</li>
+</ul>
+<h3 id="specifying-a-keystoretruststore-credential-provider-alias">Specifying 
a keystore/truststore Credential Provider alias</h3>
+<p>Applications that utilize the Credenfial Provider API to retrieve 
application passwords can specify the following configuration:</p>
+<ul>
+<li>
+<p>Indicate the credential storage path in the "credentials" section of the 
app configuration file:</p>
+<div class="codehilite"><pre>  &quot;credentials&quot;: {
+    &quot;jceks://hdfs/user/<span class="cp">${</span><span 
class="n">USER</span><span class="cp">}</span>/myapp.jceks&quot;: 
[&quot;app_component.keystore.password.alias&quot;]
+  }
+</pre></div>
+
+
+</li>
+</ul>
+<p>If you specify a list of aliases and are making use of the Slider CLI for 
application deployment, you will be prompted to enter a value for the passwords 
specified if no password matching a configured alias is found in the credential 
store.  However, any mechanism available for pre-populating the credential 
store may be utilized.</p>
+<ul>
+<li>
+<p>Reference the alias to use for securing the keystore/truststore in the 
component's configuraton section:</p>
+<div class="codehilite"><pre>&quot;<span 
class="n">APP_COMPONENT</span>&quot;<span class="p">:</span> <span 
class="p">{</span>
+    &quot;<span class="n">slider</span><span class="p">.</span><span 
class="n">component</span><span class="p">.</span><span 
class="n">security</span><span class="p">.</span><span 
class="n">stores</span><span class="p">.</span><span 
class="n">required</span>&quot;<span class="p">:</span> &quot;<span 
class="n">true</span>&quot;<span class="p">,</span> 
+    &quot;<span class="n">slider</span><span class="p">.</span><span 
class="n">component</span><span class="p">.</span><span 
class="n">keystore</span><span class="p">.</span><span 
class="n">credential</span><span class="p">.</span><span 
class="n">alias</span><span class="p">.</span><span 
class="n">property</span>&quot;<span class="p">:</span> &quot;<span 
class="n">app_component</span><span class="p">.</span><span 
class="n">keystore</span><span class="p">.</span><span 
class="n">password</span><span class="p">.</span><span 
class="n">alias</span>&quot;
+<span class="p">}</span>
+</pre></div>
+
+
+</li>
+</ul>
+<p>At runtime, Slider will read the credential mapped to the alias (in this 
case, "app_component.keystore.password.alias"), and leverage the password 
stored to secure the generated keystore.</p>
+<h2 id="important-java-cryptography-package">Important: Java Cryptography 
Package</h2>
 <p>When trying to talk to a secure, cluster you may see the message:</p>
 <div class="codehilite"><pre><span class="n">No</span> <span 
class="n">valid</span> <span class="n">credentials</span> <span 
class="n">provided</span> <span class="p">(</span><span 
class="n">Mechanism</span> <span class="n">level</span><span class="p">:</span> 
<span class="n">Illegal</span> <span class="n">key</span> <span 
class="nb">size</span><span class="p">)]</span>
 </pre></div>


Reply via email to