This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/asf-staging by this push: new 495569e Automatic Site Publish by Buildbot 495569e is described below commit 495569e0a2e29cf30a4b76daa1e2aac28ccdef65 Author: buildbot <us...@infra.apache.org> AuthorDate: Mon Jan 25 16:26:30 2021 +0000 Automatic Site Publish by Buildbot --- output/feed.xml | 4 +-- output/people/index.html | 5 +++ output/tour/authorizations/index.html | 67 ++++++++++++++++------------------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/output/feed.xml b/output/feed.xml index 2d34046..fb2e984 100644 --- a/output/feed.xml +++ b/output/feed.xml @@ -6,8 +6,8 @@ </description> <link>https://accumulo.apache.org/</link> <atom:link href="https://accumulo.apache.org/feed.xml" rel="self" type="application/rss+xml"/> - <pubDate>Fri, 22 Jan 2021 13:40:10 +0000</pubDate> - <lastBuildDate>Fri, 22 Jan 2021 13:40:10 +0000</lastBuildDate> + <pubDate>Mon, 25 Jan 2021 16:26:24 +0000</pubDate> + <lastBuildDate>Mon, 25 Jan 2021 16:26:24 +0000</lastBuildDate> <generator>Jekyll v4.1.1</generator> diff --git a/output/people/index.html b/output/people/index.html index 3c45abe..de79f66 100644 --- a/output/people/index.html +++ b/output/people/index.html @@ -498,6 +498,11 @@ $(function() { <td><a href="https://www.timeanddate.com/time/zones/et">ET</a></td> </tr> <tr> + <td>Dane Magbuhos</td> + <td> </td> + <td><a href="https://www.timeanddate.com/time/zones/et">ET</a></td> + </tr> + <tr> <td>Dave Wang</td> <td><a href="https://www.cloudera.com">Cloudera</a></td> <td><a href="https://www.timeanddate.com/time/zones/pt">PT</a></td> diff --git a/output/tour/authorizations/index.html b/output/tour/authorizations/index.html index 10772e5..ccd4939 100644 --- a/output/tour/authorizations/index.html +++ b/output/tour/authorizations/index.html @@ -164,46 +164,41 @@ visible to the user.</p> <p>We now want to secure our secret identities of the heroes so that only users with the proper authorizations can read their names.</p> -<ol> - <li>Using the code from the previous exercise, add the following to the beginning of the <em>exercise</em> method. -```java - // Create a “secretId” authorization & visibility - final String secretId = “secretId”; - Authorizations auths = new Authorizations(secretId); - ColumnVisibility colVis = new ColumnVisibility(secretId);</li> -</ol> - -<p>// Create a user with the “secretId” authorization and grant him read permissions on our table - client.securityOperations().createLocalUser(“commissioner”, new PasswordToken(“gordonrocks”)); - client.securityOperations().changeUserAuthorizations(“commissioner”, auths); - client.securityOperations().grantTablePermission(“commissioner”, “GothamPD”, TablePermission.READ);</p> -<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> -2. The [Mutation] API allows you to set the `secretId` visibility on a column. Find the proper method for setting a column visibility in -the Mutation API and modify the code so the `colVis` variable created above secures the "name" columns. - -3. Build and run. What data do you see? -* You should see all of the data except the secret identities of Batman and Robin. This is because the `Scanner` was created from the root user which doesn't have the `secretId` authorization. -* Replace the `Authorizations.EMPTY` in the Scanner with the `auths` variable created above and run it again. -* This should result in an error since the root user doesn't have the authorizations we tried to pass to the Scanner. - -4. Use the following to create a client for the "commissioner" using the [Accumulo] entry point. -```java - try (AccumuloClient commishClient = Accumulo.newClient().from(client.properties()).as("commissioner", "gordonrocks").build()) { - // Insert your code here - } +<p>1. Using the code from the previous exercise, add the following to the beginning of the <em>exercise</em> method.</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c1">// Create a "secretId" authorization & visibility</span> + <span class="kd">final</span> <span class="nc">String</span> <span class="n">secretId</span> <span class="o">=</span> <span class="s">"secretId"</span><span class="o">;</span> + <span class="nc">Authorizations</span> <span class="n">auths</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Authorizations</span><span class="o">(</span><span class="n">secretId</span><span class="o">);</span> + <span class="nc">ColumnVisibility</span> <span class="n">colVis</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ColumnVisibility</span><span class="o">(</span><span class="n">secretId</span><span class="o">);</span> + + <span class="c1">// Create a user with the "secretId" authorization and grant him read permissions on our table</span> + <span class="n">client</span><span class="o">.</span><span class="na">securityOperations</span><span class="o">().</span><span class="na">createLocalUser</span><span class="o">(</span><span class="s">"commissioner"</span><span class="o">,</span> <span class="k">new</span> <span class="nc">PasswordToken</span><span class="o">(</span><span class="s">"gordonrocks"</span><span class="o">));</span> + <span class="n">client</span><span class="o">.</span><span class="na">securityOperations</span><span class="o">().</span><span class="na">changeUserAuthorizations</span><span class="o">(</span><span class="s">"commissioner"</span><span class="o">,</span> <span class="n">auths</span><span class="o">);</span> + <span class="n">client</span><span class="o">.</span><span class="na">securityOperations</span><span class="o">().</span><span class="na">grantTablePermission</span><span class="o">(</span><span class="s">"commissioner"</span><span class="o">,</span> <span class="s">"GothamPD"</span><span class="o">,</span> <span class="nc">TablePermission</span><span class="o">.</span><span class="na">READ</span><span class="o">);</span> </code></pre></div></div> +<p>2. The <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/data/Mutation.html">Mutation</a> API allows you to set the <code class="language-plaintext highlighter-rouge">secretId</code> visibility on a column. Find the proper method for setting a column visibility in +the Mutation API and modify the code so the <code class="language-plaintext highlighter-rouge">colVis</code> variable created above secures the “name” columns.</p> + +<p>3. Build and run. What data do you see?</p> +<ul> + <li>You should see all of the data except the secret identities of Batman and Robin. This is because the <code class="language-plaintext highlighter-rouge">Scanner</code> was created from the root user which doesn’t have the <code class="language-plaintext highlighter-rouge">secretId</code> authorization.</li> + <li>Replace the <code class="language-plaintext highlighter-rouge">Authorizations.EMPTY</code> in the Scanner with the <code class="language-plaintext highlighter-rouge">auths</code> variable created above and run it again.</li> + <li>This should result in an error since the root user doesn’t have the authorizations we tried to pass to the Scanner.</li> +</ul> + +<p>4. Use the following to create a client for the “commissioner” using the <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/Accumulo.html">Accumulo</a> entry point.</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="k">try</span> <span class="o">(</span><span class="nc">AccumuloClient</span> <span class="n">commishClient</span> <span class="o">=</span> <span class="nc">Accumulo</span><span class="o">.</span><span class="na">newClient</span><span class="o">().</span><span class="na">from</span><span class="o">(</span><span class="n">client</span><span class="o">.</span><span class="na">prop [...] + <span class="c1">// Insert your code here</span> + <span class="o">}</span> +</code></pre></div></div> +<p>5. Using the commissioner client, create a Scanner with the authorizations needed to view the secret identities.</p> + +<p>6. Build and run. You should see all the rows in the GothamPD table printed, including these secured key/value pairs:</p> -<ol> - <li> - <p>Using the commissioner client, create a Scanner with the authorizations needed to view the secret identities.</p> - </li> - <li> - <p>Build and run. You should see all the rows in the GothamPD table printed, including these secured key/value pairs:</p> - <pre><code class="language-commandline">Key : id0001 hero:name [secretId] 1511900180231 false Value : Bruce Wayne +<pre><code class="language-commandline">Key : id0001 hero:name [secretId] 1511900180231 false Value : Bruce Wayne Key : id0002 hero:name [secretId] 1511900180231 false Value : Dick Grayson </code></pre> - </li> -</ol> </div>