Search in sources :

Example 1 with Type

use of org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type in project ranger by apache.

the class RangerKMSAccessRequest method setKMSACLs.

private void setKMSACLs(Configuration conf) {
    Map<Type, AccessControlList> tempBlacklist = new HashMap<Type, AccessControlList>();
    for (Type aclType : Type.values()) {
        String blacklistStr = conf.get(aclType.getBlacklistConfigKey());
        if (blacklistStr != null) {
            // Only add if blacklist is present
            tempBlacklist.put(aclType, new AccessControlList(blacklistStr));
            LOG.info("'{}' Blacklist '{}'", aclType, blacklistStr);
        }
    }
    blacklistedAcls = tempBlacklist;
}
Also used : AccessControlList(org.apache.hadoop.security.authorize.AccessControlList) KMSACLsType(org.apache.hadoop.crypto.key.kms.server.KMSACLsType) Type(org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type) KeyOpType(org.apache.hadoop.crypto.key.kms.server.KeyAuthorizationKeyProvider.KeyOpType) HashMap(java.util.HashMap)

Example 2 with Type

use of org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type in project ranger by apache.

the class TestKMSACLs method testCustom.

@Test
public void testCustom() {
    final Configuration conf = new Configuration(false);
    for (Type type : Type.values()) {
        conf.set(type.getAclConfigKey(), type.toString() + " ");
    }
    final KMSACLs acls = new KMSACLs(conf);
    for (Type type : Type.values()) {
        Assert.assertTrue(acls.hasAccess(type, UserGroupInformation.createRemoteUser(type.toString()), ipAddress));
        Assert.assertFalse(acls.hasAccess(type, UserGroupInformation.createRemoteUser("foo"), ipAddress));
    }
}
Also used : Type(org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type) KeyOpType(org.apache.hadoop.crypto.key.kms.server.KeyAuthorizationKeyProvider.KeyOpType) KMSConfiguration(org.apache.hadoop.crypto.key.kms.server.KMSConfiguration) Configuration(org.apache.hadoop.conf.Configuration) Test(org.junit.Test)

Example 3 with Type

use of org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type in project ranger by apache.

the class KMSACLs method setKMSACLs.

private void setKMSACLs(Configuration conf) {
    Map<Type, AccessControlList> tempAcls = new HashMap<Type, AccessControlList>();
    Map<Type, AccessControlList> tempBlacklist = new HashMap<Type, AccessControlList>();
    for (Type aclType : Type.values()) {
        String aclStr = conf.get(aclType.getAclConfigKey(), ACL_DEFAULT);
        tempAcls.put(aclType, new AccessControlList(aclStr));
        String blacklistStr = conf.get(aclType.getBlacklistConfigKey());
        if (blacklistStr != null) {
            // Only add if blacklist is present
            tempBlacklist.put(aclType, new AccessControlList(blacklistStr));
            LOG.info("'{}' Blacklist '{}'", aclType, blacklistStr);
        }
        LOG.info("'{}' ACL '{}'", aclType, aclStr);
    }
    acls = tempAcls;
    blacklistedAcls = tempBlacklist;
}
Also used : AccessControlList(org.apache.hadoop.security.authorize.AccessControlList) Type(org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type) KeyOpType(org.apache.hadoop.crypto.key.kms.server.KeyAuthorizationKeyProvider.KeyOpType) HashMap(java.util.HashMap)

Aggregations

Type (org.apache.hadoop.crypto.key.kms.server.KMSACLsType.Type)3 KeyOpType (org.apache.hadoop.crypto.key.kms.server.KeyAuthorizationKeyProvider.KeyOpType)3 HashMap (java.util.HashMap)2 AccessControlList (org.apache.hadoop.security.authorize.AccessControlList)2 Configuration (org.apache.hadoop.conf.Configuration)1 KMSACLsType (org.apache.hadoop.crypto.key.kms.server.KMSACLsType)1 KMSConfiguration (org.apache.hadoop.crypto.key.kms.server.KMSConfiguration)1 Test (org.junit.Test)1