Hi Mike,
Alluxio is a good fit for the scenario you described.
With regard to multi-tenancy, Alluxio enforces files level permissions, so you could set the permissions to be the same as what you have in S3. Alluxio also supports automatically matching these permissions from the underlying storage (in this case S3), but because S3's permission model is not easily translated, you may not get the exact same semantics.
From a performance / resource isolation point of view, Alluxio supports ensuring certain files have higher priority than others through the pin feature. However, ensuring user A only uses a certain amount of total Alluxio storage and cannot cause user B's cached files from being evicted is not supported.
Hope this helps,
Calvin