Search in sources :

Example 1 with SecurityInfo

use of org.apache.hadoop.hbase.security.SecurityInfo in project hbase by apache.

the class TestTokenAuthentication method setupBeforeClass.

@BeforeClass
public static void setupBeforeClass() throws Exception {
    TEST_UTIL = new HBaseTestingUtility();
    TEST_UTIL.startMiniZKCluster();
    // register token type for protocol
    SecurityInfo.addInfo(AuthenticationProtos.AuthenticationService.getDescriptor().getName(), new SecurityInfo("hbase.test.kerberos.principal", AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN));
    // security settings only added after startup so that ZK does not require SASL
    Configuration conf = TEST_UTIL.getConfiguration();
    conf.set("hadoop.security.authentication", "kerberos");
    conf.set("hbase.security.authentication", "kerberos");
    conf.setBoolean(HADOOP_SECURITY_AUTHORIZATION, true);
    server = new TokenServer(conf);
    serverThread = new Thread(server);
    Threads.setDaemonThreadRunning(serverThread, "TokenServer:" + server.getServerName().toString());
    // wait for startup
    while (!server.isStarted() && !server.isStopped()) {
        Thread.sleep(10);
    }
    server.rpcServer.refreshAuthManager(new PolicyProvider() {

        @Override
        public Service[] getServices() {
            return new Service[] { new Service("security.client.protocol.acl", AuthenticationProtos.AuthenticationService.BlockingInterface.class) };
        }
    });
    ZKClusterId.setClusterId(server.getZooKeeper(), clusterId);
    secretManager = (AuthenticationTokenSecretManager) server.getSecretManager();
    while (secretManager.getCurrentKey() == null) {
        Thread.sleep(1);
    }
}
Also used : Configuration(org.apache.hadoop.conf.Configuration) HBaseTestingUtility(org.apache.hadoop.hbase.HBaseTestingUtility) AuthenticationProtos(org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos) PolicyProvider(org.apache.hadoop.security.authorize.PolicyProvider) Service(org.apache.hadoop.security.authorize.Service) BlockingService(com.google.protobuf.BlockingService) ChoreService(org.apache.hadoop.hbase.ChoreService) ExecutorService(java.util.concurrent.ExecutorService) SecurityInfo(org.apache.hadoop.hbase.security.SecurityInfo) BeforeClass(org.junit.BeforeClass)

Aggregations

BlockingService (com.google.protobuf.BlockingService)1 ExecutorService (java.util.concurrent.ExecutorService)1 Configuration (org.apache.hadoop.conf.Configuration)1 ChoreService (org.apache.hadoop.hbase.ChoreService)1 HBaseTestingUtility (org.apache.hadoop.hbase.HBaseTestingUtility)1 AuthenticationProtos (org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos)1 SecurityInfo (org.apache.hadoop.hbase.security.SecurityInfo)1 PolicyProvider (org.apache.hadoop.security.authorize.PolicyProvider)1 Service (org.apache.hadoop.security.authorize.Service)1 BeforeClass (org.junit.BeforeClass)1