accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1041) Generic interface for arbitrary token handling
Date Sat, 09 Feb 2013 08:59:14 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-1041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13575122#comment-13575122
] 

Hudson commented on ACCUMULO-1041:
----------------------------------

Integrated in Accumulo-Trunk-Hadoop-2.0 #78 (See [https://builds.apache.org/job/Accumulo-Trunk-Hadoop-2.0/78/])
    ACCUMULO-1041 - Majority of the client interfaces tackled. CLI needs work, as does proxy.
Javadocs are a mess, as are some variable names, but it's functional. Except mapreduce APIs
need DistributedCache code reintegrated as discussed on JIRA (Revision 1444337)

     Result = FAILURE
vines : 
Files : 
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOnDefaultTable.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOnRequiredTable.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReader.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ClientService.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/InputConfigurator.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockUser.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/gc/thrift/GCMonitorService.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/master/thrift/MasterClientService.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/thrift/SecurityErrorCode.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateUserCommand.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/PasswdCommand.java
* /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/UserCommand.java
* /accumulo/trunk/core/src/main/thrift/client.thrift
* /accumulo/trunk/core/src/main/thrift/gc.thrift
* /accumulo/trunk/core/src/main/thrift/master.thrift
* /accumulo/trunk/core/src/main/thrift/security.thrift
* /accumulo/trunk/core/src/main/thrift/tabletserver.thrift
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormatTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
* /accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
* /accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/ReadWriteExample.java
* /accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java
* /accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
* /accumulo/trunk/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormatTest.java
* /accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/cli/ClientOnDefaultTable.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/cli/ClientOnRequiredTable.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/cli/ClientOpts.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/RootTabletStateStore.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/IndexMeta.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/AuditedSecurityOperation.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityConstants.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authorizor.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecurePermHandler.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/PermissionHandler.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/MasterMessage.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/SplitReportMessage.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/TabletStatusMessage.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Admin.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/CheckForMetadataProblems.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/RandomWriter.java
* /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/VerifyTabletAssignments.java
* /accumulo/trunk/server/src/test/java/org/apache/accumulo/server/gc/TestConfirmDeletes.java
* /accumulo/trunk/server/src/test/java/org/apache/accumulo/server/master/TestMergeState.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/QueryMetadataTable.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/TestIngest.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/FunctionalTest.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/PermissionsTest.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/VisibilityTest.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/State.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CreateUser.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/multitable/CopyTool.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/AlterTablePerm.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/Authenticate.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/ChangePass.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/CreateUser.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/DropTable.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/SecurityFixture.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/SetAuths.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java
* /accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/MapRedVerifyTool.java
* /accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java

                
> Generic interface for arbitrary token handling
> ----------------------------------------------
>
>                 Key: ACCUMULO-1041
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1041
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: client
>            Reporter: John Vines
>            Assignee: John Vines
>             Fix For: 1.5.0
>
>
> [~ctubbsii], [~kturner] and I hashed out details for best approach for generic tokens
which should work both for our API and the proxy.
> # Client requests the Authenticator class name
> # Client creates instance of Authenticator, calls login(Properties)
> # Properties are used to create the appropriate Token, which implements Writable, and
return it to user.
> # Client uses principal + Token with getConnector call
> # Token is immediately serialized to be used within client api and packaged into a Credential
object
> # Credential gets sent to server via thrift
> # Principal is checked, if !SYSTEM treated as a PasswordToken, otherwise deserialized
as a class defined by the Authenticator (Writable's readFields method called on said class)
> # Token us then passed through the SecurityOperations impl as well as the authenticator
api.
> This allows the authenticator API to use their requested tokens without confusion/code
injection issues with deserialization happening for unknown token classes.
> The exact same process for token creation can also be used by the Proxy, with a Map of
properties being passed it to create a token on the proxy.
> For backward support, the ZKAuthenticator will expect a PasswordToken, which is simply
a byte array.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message