[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2084: Commercial grids need an ability to disallow downloads without deleting data

Tahoe-LAFS trac at tahoe-lafs.org
Wed Jul 3 14:47:04 UTC 2019


#2084: Commercial grids need an ability to disallow downloads without deleting
data
-----------------------------+-----------------------------------
     Reporter:  esnyder      |      Owner:  daira
         Type:  enhancement  |     Status:  new
     Priority:  normal       |  Milestone:  undecided
    Component:  unknown      |    Version:  1.10.0
   Resolution:               |   Keywords:  accounting revocation
Launchpad Bug:               |
-----------------------------+-----------------------------------

Comment (by exarkun):

 So, trying to tie some of those thoughts back into this use-case...

 _If_ you have an access control system which can prevent arbitrary lease
 renewal then you can lean on lease expiration to disallow downloads.

 You don't even need to turn on the garbage collector in this case.  The
 shares will remain stored but unreadable.  You can authorize the renew
 lease operation based on your payment processing system to restore access
 to affected shares to users who pay their bill.

 If you _also_ want to be able to eventually garbage collect something then
 you do need some kind of two-tiered share expiration system.  You have
 some period of time when the share is retained and access is allowed.
 Then you have some period of time when the share is retained and access is
 denied.  Then you have a point in time when the share becomes fair game
 for garbage collection.

 You could define these periods in terms of intervals.  If a lease lasts 31
 days then perhaps a "storage grace period" extends for another 31 days
 beyond the end of the lease.  Then 62 days after a lease is taken on a
 share, the garbage collect may delete the data.

 Tahoe-LAFS already has a configuration option which can probably be
 (ab)used to provide part of what's required here:

 {{{
 [storage]
 expire.enabled = true
 expire.mode = age
 expire.override_lease_duration = 62days
 }}}

 With this configuration, a storage server will not consider garbage
 collecting shares until the associated lease is at least 62 days old.
 With an access control system (https://tahoe-lafs.org/trac/tahoe-
 lafs/milestone/storage%20economics%20plugins) that is separately
 configurable and enforces denial of operations (except for lease renewal)
 when the lease is older than some smaller age, the desired behavior is
 achieved.

 This might look like:

 {{{
 [storage]
 plugins = tahoelafs-simplepaymentsauthorizerexample-v1

 [storage.plugins.tahoelafs-simplepaymentsauthorizerexample-v1]
 expire.lease_duration_for_access = 31days
 }}}

 (https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3053)

 Thus, access is allowed for 31 days after a lease is added or renewed but
 the share is retained for 62 days after a lease is added or renewed.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2084#comment:4>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list