blob: 00a63577f1af9e45b5705626f08d47b9d2e74d05 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Hadoop Ozone Documentation">
<title>Documentation for Apache Hadoop Ozone</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/ozonedoc.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sidebar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand hidden-xs" href="#">Apache Hadoop Ozone/HDDS documentation</a>
<a class="navbar-brand visible-xs-inline" href="#">Hadoop Ozone</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://github.com/apache/hadoop">Source</a></li>
<li><a href="https://hadoop.apache.org">Apache Hadoop</a></li>
<li><a href="https://apache.org">ASF</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar" id="sidebar">
<img src="ozone-logo.png" style="max-width: 100%;"/>
<ul class="nav nav-sidebar">
<li class="">
<a href="index.html">
<span>Ozone Overview</span>
</a>
</li>
<li class="">
<a href="runningviadocker.html">
<span>Getting Started</span>
</a>
<ul class="nav">
<li class="">
<a href="./runningviadocker.html">Alpha Cluster</a>
</li>
<li class="">
<a href="./settings.html">Configuration</a>
</li>
<li class="">
<a href="./realcluster.html">Starting an Ozone Cluster</a>
</li>
<li class="">
<a href="./ozonefs.html">Ozone File System</a>
</li>
<li class="">
<a href="./runningwithhdfs.html">Running concurrently with HDFS</a>
</li>
<li class="">
<a href="./buildingsources.html">Building from Sources</a>
</li>
</ul>
</li>
<li class="">
<a href="commandshell.html">
<span>Client</span>
</a>
<ul class="nav">
<li class="">
<a href="./commandshell.html">
<span>Ozone CLI</span>
</a>
<ul class="nav">
<li class="">
<a href="./volumecommands.html">Volume Commands</a>
</li>
<li class="">
<a href="./bucketcommands.html">Bucket Commands</a>
</li>
<li class="">
<a href="./keycommands.html">Key Commands</a>
</li>
</ul>
</li>
<li class="">
<a href="./s3.html">S3</a>
</li>
<li class="">
<a href="./javaapi.html">Java API</a>
</li>
</ul>
</li>
<li class="">
<a href="dozone.html">
<span>Tools</span>
</a>
<ul class="nav">
<li class="">
<a href="./auditparser.html">Audit Parser</a>
</li>
<li class="">
<a href="./dozone.html">Dozone &amp; Dev Tools</a>
</li>
<li class="">
<a href="./freon.html">Freon</a>
</li>
<li class="">
<a href="./genconf.html">Generate Configurations</a>
</li>
<li class="">
<a href="./scmcli.html">SCMCLI</a>
</li>
</ul>
</li>
<li class="">
<a href="prometheus.html">
<span>Recipes</span>
</a>
<ul class="nav">
<li class="">
<a href="./prometheus.html">Monitoring with Prometheus</a>
</li>
<li class="">
<a href="./sparkozonefsk8s.html">Spark in Kubernetes with OzoneFS</a>
</li>
</ul>
</li>
<li class="">
<a href="./concepts.html">
<span>Architecture</span>
</a>
<ul class="nav">
<li class="">
<a href="./hdds.html">Hadoop Distributed Data Store</a>
</li>
<li class="">
<a href="./ozonemanager.html">Ozone Manager</a>
</li>
<li class="">
<a href="./ozonesecurityarchitecture.html">Ozone Security Overview</a>
</li>
<li class="active">
<a href="./setupsecureozone.html">Setup secure ozone cluster</a>
</li>
</ul>
</li>
<li class="visible-xs"><a href="#">References</a>
<ul class="nav">
<li><a href="https://github.com/apache/hadoop"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Source</a></li>
<li><a href="https://hadoop.apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Apache Hadoop</a></li>
<li><a href="https://apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> ASF</a></li>
</ul></li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1>Setup secure ozone cluster</h1>
<div class="col-md-9">
<!---
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 id="setup-secure-ozone-cluster">Setup secure ozone cluster</h1>
<p>To enable security in ozone cluster <strong>ozone.security.enabled</strong> should be set to true.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ozone.security.enabled</td>
<td>true</td>
</tr>
</tbody>
</table>
<h2 id="kerberos">Kerberos</h2>
<p>Configuration for service daemons:</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>hdds.scm.kerberos.principal</td>
<td>The SCM service principal. Ex scm/<em>HOST@REALM.COM</em></td>
</tr>
<tr>
<td>hdds.scm.kerberos.keytab.file</td>
<td>The keytab file used by SCM daemon to login as its service principal.</td>
</tr>
<tr>
<td>ozone.om.kerberos.principal</td>
<td>The OzoneManager service principal. Ex om/_HOST@REALM.COM</td>
</tr>
<tr>
<td>ozone.om.kerberos.keytab.file</td>
<td>The keytab file used by SCM daemon to login as its service principal.</td>
</tr>
<tr>
<td>hdds.scm.http.kerberos.principal</td>
<td>SCM http server service principal.</td>
</tr>
<tr>
<td>hdds.scm.http.kerberos.keytab.file</td>
<td>The keytab file used by SCM http server to login as its service principal.</td>
</tr>
<tr>
<td>ozone.om.http.kerberos.principal</td>
<td>OzoneManager http server principal.</td>
</tr>
<tr>
<td>ozone.om.http.kerberos.keytab.file</td>
<td>The keytab file used by OM http server to login as its service principal.</td>
</tr>
<tr>
<td>ozone.s3g.keytab.file</td>
<td>The keytab file used by S3 gateway. Ex /etc/security/keytabs/HTTP.keytab</td>
</tr>
<tr>
<td>ozone.s3g.authentication.kerberos.principal</td>
<td>S3 Gateway principal. Ex HTTP/_HOST@EXAMPLE.COM</td>
</tr>
</tbody>
</table>
<h2 id="tokens">Tokens</h2>
<h2 id="delegation-token">Delegation token</h2>
<p>Delegation tokens are enabled by default when security is enabled.</p>
<h2 id="block-tokens">Block Tokens</h2>
<table>
<thead>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>hdds.block.token.enabled</td>
<td>true</td>
</tr>
</tbody>
</table>
<h2 id="s3token">S3Token</h2>
<p>S3 token are enabled by default when security is enabled.
To use S3 tokens users need to perform following steps:</p>
<ul>
<li>S3 clients should get the secret access id and user secret from OzoneManager.</li>
</ul>
<pre><code>ozone s3 getsecret
</code></pre>
<ul>
<li>Setup secret in aws configs:</li>
</ul>
<pre><code>aws configure set default.s3.signature_version s3v4
aws configure set aws_access_key_id ${accessId}
aws configure set aws_secret_access_key ${secret}
aws configure set region us-west-1
</code></pre>
<h2 id="certificates">Certificates</h2>
<p>Certificates are used internally inside Ozone. Its enabled be default when security is enabled.</p>
<h2 id="authorization">Authorization</h2>
<p>Default access authorizer for Ozone approves every request. It is not suitable for production environments. It is recommended that clients use ranger plugin for Ozone to manage authorizations.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ozone.acl.enabled</td>
<td>true</td>
</tr>
<tr>
<td>ozone.acl.authorizer.class</td>
<td>org.apache.ranger.authorization.ozone.authorizer.RangerOzoneAuthorizer</td>
</tr>
</tbody>
</table>
<h2 id="tde">TDE</h2>
<p>To use TDE clients must set KMS URI.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>hadoop.security.key.provider.path</td>
<td>KMS uri. Ex kms://http@kms-host:9600/kms</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script src="./js/jquery.min.js"></script>
<script src="./js/ozonedoc.js"></script>
<script src="./js/bootstrap.min.js"></script>
</body>
</html>