@Override public void revokeNamespacePermission(final String principal, final String namespace, final NamespacePermission permission) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(namespace != null, "namespace is null"); checkArgument(permission != null, "permission is null"); executeVoid(client -> client.revokeNamespacePermission(Tracer.traceInfo(), context.rpcCreds(), principal, namespace, permission.getId())); }
@Override public void setProperty(final String namespace, final String property, final String value) throws AccumuloException, AccumuloSecurityException, NamespaceNotFoundException { checkArgument(namespace != null, "namespace is null"); checkArgument(property != null, "property is null"); checkArgument(value != null, "value is null"); MasterClient.executeNamespace(context, client -> client.setNamespaceProperty(Tracer.traceInfo(), context.rpcCreds(), namespace, property, value)); checkLocalityGroups(namespace, property); }
@Override public void dropLocalUser(final String principal) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); executeVoid(client -> client.dropLocalUser(Tracer.traceInfo(), context.rpcCreds(), principal)); }
@Override public void grantNamespacePermission(final String principal, final String namespace, final NamespacePermission permission) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(namespace != null, "namespace is null"); checkArgument(permission != null, "permission is null"); executeVoid(client -> client.grantNamespacePermission(Tracer.traceInfo(), context.rpcCreds(), principal, namespace, permission.getId())); }
@Override public boolean hasNamespacePermission(final String principal, final String namespace, final NamespacePermission permission) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(namespace != null, "namespace is null"); checkArgument(permission != null, "permission is null"); return execute(client -> client.hasNamespacePermission(Tracer.traceInfo(), context.rpcCreds(), principal, namespace, permission.getId())); }
@Override public void setProperty(final String property, final String value) throws AccumuloException, AccumuloSecurityException, IllegalArgumentException { checkArgument(property != null, "property is null"); checkArgument(value != null, "value is null"); MasterClient.executeVoid(context, client -> client.setSystemProperty(Tracer.traceInfo(), context.rpcCreds(), property, value)); checkLocalityGroups(property); }
@Override public boolean hasSystemPermission(final String principal, final SystemPermission perm) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(perm != null, "perm is null"); return execute(client -> client.hasSystemPermission(Tracer.traceInfo(), context.rpcCreds(), principal, perm.getId())); }
@Override public void revokeSystemPermission(final String principal, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(permission != null, "permission is null"); executeVoid(client -> client.revokeSystemPermission(Tracer.traceInfo(), context.rpcCreds(), principal, permission.getId())); }
@Override public void removeProperty(final String namespace, final String property) throws AccumuloException, AccumuloSecurityException, NamespaceNotFoundException { checkArgument(namespace != null, "namespace is null"); checkArgument(property != null, "property is null"); MasterClient.executeNamespace(context, client -> client .removeNamespaceProperty(Tracer.traceInfo(), context.rpcCreds(), namespace, property)); checkLocalityGroups(namespace, property); }
@Override public void grantSystemPermission(final String principal, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(permission != null, "permission is null"); executeVoid(client -> client.grantSystemPermission(Tracer.traceInfo(), context.rpcCreds(), principal, permission.getId())); }
@Override public Authorizations getUserAuthorizations(final String principal) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); return execute(client -> new Authorizations( client.getUserAuthorizations(Tracer.traceInfo(), context.rpcCreds(), principal))); }
@Override public Map<String,String> getSiteConfiguration() throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.getConfiguration(Tracer.traceInfo(), context.rpcCreds(), ConfigurationType.SITE)); }
private void removePropertyNoChecks(final String tableName, final String property) throws AccumuloException, AccumuloSecurityException, TableNotFoundException { MasterClient.executeTable(context, client -> client.removeTableProperty(Tracer.traceInfo(), context.rpcCreds(), tableName, property)); }
@Override public Map<String,String> getSystemConfiguration() throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.getConfiguration(Tracer.traceInfo(), context.rpcCreds(), ConfigurationType.CURRENT)); }
private static void stopServer(final ClientContext context, final boolean tabletServersToo) throws AccumuloException, AccumuloSecurityException { MasterClient.executeVoid(context, client -> client.shutdown(Tracer.traceInfo(), context.rpcCreds(), tabletServersToo)); }
@Override public void changeUserAuthorizations(final String principal, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(authorizations != null, "authorizations is null"); executeVoid(client -> client.changeAuthorizations(Tracer.traceInfo(), context.rpcCreds(), principal, ByteBufferUtil.toByteBuffers(authorizations.getAuthorizations()))); }
@Override public void removeProperty(final String property) throws AccumuloException, AccumuloSecurityException { checkArgument(property != null, "property is null"); MasterClient.executeVoid(context, client -> client.removeSystemProperty(Tracer.traceInfo(), context.rpcCreds(), property)); checkLocalityGroups(property); }
@Override public boolean testClassLoad(final String className, final String asTypeName) throws AccumuloException, AccumuloSecurityException { return ServerClient.execute(context, client -> client.checkClass(Tracer.traceInfo(), context.rpcCreds(), className, asTypeName)); }
@Override public boolean authenticateUser(final String principal, final AuthenticationToken token) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(token != null, "token is null"); final Credentials toAuth = new Credentials(principal, token); return execute(client -> client.authenticateUser(Tracer.traceInfo(), context.rpcCreds(), toAuth.toThrift(context.getInstanceID()))); }
@Override public void changeLocalUserPassword(final String principal, final PasswordToken token) throws AccumuloException, AccumuloSecurityException { checkArgument(principal != null, "principal is null"); checkArgument(token != null, "token is null"); final Credentials toChange = new Credentials(principal, token); executeVoid(client -> client.changeLocalUserPassword(Tracer.traceInfo(), context.rpcCreds(), principal, ByteBuffer.wrap(token.getPassword()))); if (context.getCredentials().getPrincipal().equals(principal)) { context.setCredentials(toChange); } }