HADOOP-9178. src/main/conf is missing hadoop-policy.xml. Contributed by Sandy Ryza
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1433278 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f7fbf9e711
commit
6ca7bde28d
|
@ -233,6 +233,9 @@ Release 2.0.3-alpha - Unreleased
|
||||||
HADOOP-9203. RPCCallBenchmark should find a random available port.
|
HADOOP-9203. RPCCallBenchmark should find a random available port.
|
||||||
(Andrew Purtell via suresh)
|
(Andrew Purtell via suresh)
|
||||||
|
|
||||||
|
HADOOP-9178. src/main/conf is missing hadoop-policy.xml.
|
||||||
|
(Sandy Ryza via eli)
|
||||||
|
|
||||||
Release 2.0.2-alpha - 2012-09-07
|
Release 2.0.2-alpha - 2012-09-07
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -0,0 +1,219 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Copyright 2011 The Apache Software Foundation
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Put site-specific property overrides in this file. -->
|
||||||
|
|
||||||
|
<configuration>
|
||||||
|
<property>
|
||||||
|
<name>security.client.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for ClientProtocol, which is used by user code
|
||||||
|
via the DistributedFileSystem.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.client.datanode.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for ClientDatanodeProtocol, the client-to-datanode protocol
|
||||||
|
for block recovery.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.datanode.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for DatanodeProtocol, which is used by datanodes to
|
||||||
|
communicate with the namenode.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.inter.datanode.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for InterDatanodeProtocol, the inter-datanode protocol
|
||||||
|
for updating generation timestamp.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.namenode.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for NamenodeProtocol, the protocol used by the secondary
|
||||||
|
namenode to communicate with the namenode.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.admin.operations.protocol.acl</name>
|
||||||
|
<value>${HADOOP_HDFS_USER}</value>
|
||||||
|
<description>ACL for AdminOperationsProtocol. Used for admin commands.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.refresh.usertogroups.mappings.protocol.acl</name>
|
||||||
|
<value>${HADOOP_HDFS_USER}</value>
|
||||||
|
<description>ACL for RefreshUserMappingsProtocol. Used to refresh
|
||||||
|
users mappings. The ACL is a comma-separated list of user and
|
||||||
|
group names. The user and group list is separated by a blank. For
|
||||||
|
e.g. "alice,bob users,wheel". A special value of "*" means all
|
||||||
|
users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.refresh.policy.protocol.acl</name>
|
||||||
|
<value>${HADOOP_HDFS_USER}</value>
|
||||||
|
<description>ACL for RefreshAuthorizationPolicyProtocol, used by the
|
||||||
|
dfsadmin and mradmin commands to refresh the security policy in-effect.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.ha.service.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for HAService protocol used by HAAdmin to manage the
|
||||||
|
active and stand-by states of namenode.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.zkfc.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for access to the ZK Failover Controller
|
||||||
|
</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.qjournal.service.protocol.acl</name>
|
||||||
|
<value>${HADOOP_HDFS_USER}</value>
|
||||||
|
<description>ACL for QJournalProtocol, used by the NN to communicate with
|
||||||
|
JNs when using the QuorumJournalManager for edit logs.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.mrhs.client.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for HSClientProtocol, used by job clients to
|
||||||
|
communciate with the MR History Server job status etc.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<!-- YARN Protocols -->
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.resourcetracker.protocol.acl</name>
|
||||||
|
<value>${HADOOP_YARN_USER}</value>
|
||||||
|
<description>ACL for ResourceTracker protocol, used by the
|
||||||
|
ResourceManager and NodeManager to communicate with each other.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.admin.protocol.acl</name>
|
||||||
|
<value>${HADOOP_YARN_USER}</value>
|
||||||
|
<description>ACL for RMAdminProtocol, for admin commands.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.client.resourcemanager.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for ClientRMProtocol, used by the ResourceManager
|
||||||
|
and applications submission clients to communicate with each other.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.applicationmaster.resourcemanager.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for AMRMProtocol, used by the ResourceManager
|
||||||
|
and ApplicationMasters to communicate with each other.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.containermanager.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for ContainerManager protocol, used by the NodeManager
|
||||||
|
and ApplicationMasters to communicate with each other.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.resourcelocalizer.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for ResourceLocalizer protocol, used by the NodeManager
|
||||||
|
and ResourceLocalizer to communicate with each other.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.job.task.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for TaskUmbilicalProtocol, used by the map and reduce
|
||||||
|
tasks to communicate with the parent tasktracker.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>security.job.client.protocol.acl</name>
|
||||||
|
<value>*</value>
|
||||||
|
<description>ACL for MRClientProtocol, used by job clients to
|
||||||
|
communciate with the MR ApplicationMaster to query job status etc.
|
||||||
|
The ACL is a comma-separated list of user and group names. The user and
|
||||||
|
group list is separated by a blank. For e.g. "alice,bob users,wheel".
|
||||||
|
A special value of "*" means all users are allowed.</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -116,22 +116,6 @@
|
||||||
<td>ACL for NamenodeProtocol, the protocol used by the secondary
|
<td>ACL for NamenodeProtocol, the protocol used by the secondary
|
||||||
namenode to communicate with the namenode.</td>
|
namenode to communicate with the namenode.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td><code>security.inter.tracker.protocol.acl</code></td>
|
|
||||||
<td>ACL for InterTrackerProtocol, used by the tasktrackers to
|
|
||||||
communicate with the jobtracker.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>security.job.submission.protocol.acl</code></td>
|
|
||||||
<td>ACL for JobSubmissionProtocol, used by job clients to
|
|
||||||
communciate with the jobtracker for job submission, querying job status
|
|
||||||
etc.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>security.task.umbilical.protocol.acl</code></td>
|
|
||||||
<td>ACL for TaskUmbilicalProtocol, used by the map and reduce
|
|
||||||
tasks to communicate with the parent tasktracker.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>security.refresh.policy.protocol.acl</code></td>
|
<td><code>security.refresh.policy.protocol.acl</code></td>
|
||||||
<td>ACL for RefreshAuthorizationPolicyProtocol, used by the
|
<td>ACL for RefreshAuthorizationPolicyProtocol, used by the
|
||||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.hadoop.fs;
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
import org.apache.hadoop.http.lib.StaticUserWebFilter;
|
import org.apache.hadoop.http.lib.StaticUserWebFilter;
|
||||||
|
import org.apache.hadoop.security.authorize.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class contains constants for configuration keys used
|
* This class contains constants for configuration keys used
|
||||||
|
@ -114,7 +115,18 @@ public class CommonConfigurationKeys extends CommonConfigurationKeysPublic {
|
||||||
SECURITY_HA_SERVICE_PROTOCOL_ACL = "security.ha.service.protocol.acl";
|
SECURITY_HA_SERVICE_PROTOCOL_ACL = "security.ha.service.protocol.acl";
|
||||||
public static final String
|
public static final String
|
||||||
SECURITY_ZKFC_PROTOCOL_ACL = "security.zkfc.protocol.acl";
|
SECURITY_ZKFC_PROTOCOL_ACL = "security.zkfc.protocol.acl";
|
||||||
|
public static final String
|
||||||
|
SECURITY_CLIENT_PROTOCOL_ACL = "security.client.protocol.acl";
|
||||||
|
public static final String SECURITY_CLIENT_DATANODE_PROTOCOL_ACL =
|
||||||
|
"security.client.datanode.protocol.acl";
|
||||||
|
public static final String
|
||||||
|
SECURITY_DATANODE_PROTOCOL_ACL = "security.datanode.protocol.acl";
|
||||||
|
public static final String
|
||||||
|
SECURITY_INTER_DATANODE_PROTOCOL_ACL = "security.inter.datanode.protocol.acl";
|
||||||
|
public static final String
|
||||||
|
SECURITY_NAMENODE_PROTOCOL_ACL = "security.namenode.protocol.acl";
|
||||||
|
public static final String SECURITY_QJOURNAL_SERVICE_PROTOCOL_ACL =
|
||||||
|
"security.qjournal.service.protocol.acl";
|
||||||
public static final String HADOOP_SECURITY_TOKEN_SERVICE_USE_IP =
|
public static final String HADOOP_SECURITY_TOKEN_SERVICE_USE_IP =
|
||||||
"hadoop.security.token.service.use_ip";
|
"hadoop.security.token.service.use_ip";
|
||||||
public static final boolean HADOOP_SECURITY_TOKEN_SERVICE_USE_IP_DEFAULT =
|
public static final boolean HADOOP_SECURITY_TOKEN_SERVICE_USE_IP_DEFAULT =
|
||||||
|
@ -191,4 +203,4 @@ public class CommonConfigurationKeys extends CommonConfigurationKeysPublic {
|
||||||
public static final long HADOOP_SECURITY_UID_NAME_CACHE_TIMEOUT_DEFAULT =
|
public static final long HADOOP_SECURITY_UID_NAME_CACHE_TIMEOUT_DEFAULT =
|
||||||
4*60*60; // 4 hours
|
4*60*60; // 4 hours
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,14 +40,18 @@ import org.apache.hadoop.tools.GetUserMappingsProtocol;
|
||||||
public class HDFSPolicyProvider extends PolicyProvider {
|
public class HDFSPolicyProvider extends PolicyProvider {
|
||||||
private static final Service[] hdfsServices =
|
private static final Service[] hdfsServices =
|
||||||
new Service[] {
|
new Service[] {
|
||||||
new Service("security.client.protocol.acl", ClientProtocol.class),
|
new Service(CommonConfigurationKeys.SECURITY_CLIENT_PROTOCOL_ACL,
|
||||||
new Service("security.client.datanode.protocol.acl",
|
ClientProtocol.class),
|
||||||
ClientDatanodeProtocol.class),
|
new Service(CommonConfigurationKeys.SECURITY_CLIENT_DATANODE_PROTOCOL_ACL,
|
||||||
new Service("security.datanode.protocol.acl", DatanodeProtocol.class),
|
ClientDatanodeProtocol.class),
|
||||||
new Service("security.inter.datanode.protocol.acl",
|
new Service(CommonConfigurationKeys.SECURITY_DATANODE_PROTOCOL_ACL,
|
||||||
InterDatanodeProtocol.class),
|
DatanodeProtocol.class),
|
||||||
new Service("security.namenode.protocol.acl", NamenodeProtocol.class),
|
new Service(CommonConfigurationKeys.SECURITY_INTER_DATANODE_PROTOCOL_ACL,
|
||||||
new Service("security.qjournal.service.protocol.acl", QJournalProtocol.class),
|
InterDatanodeProtocol.class),
|
||||||
|
new Service(CommonConfigurationKeys.SECURITY_NAMENODE_PROTOCOL_ACL,
|
||||||
|
NamenodeProtocol.class),
|
||||||
|
new Service(CommonConfigurationKeys.SECURITY_QJOURNAL_SERVICE_PROTOCOL_ACL,
|
||||||
|
QJournalProtocol.class),
|
||||||
new Service(CommonConfigurationKeys.SECURITY_HA_SERVICE_PROTOCOL_ACL,
|
new Service(CommonConfigurationKeys.SECURITY_HA_SERVICE_PROTOCOL_ACL,
|
||||||
HAServiceProtocol.class),
|
HAServiceProtocol.class),
|
||||||
new Service(CommonConfigurationKeys.SECURITY_ZKFC_PROTOCOL_ACL,
|
new Service(CommonConfigurationKeys.SECURITY_ZKFC_PROTOCOL_ACL,
|
||||||
|
|
Loading…
Reference in New Issue