A more complex scenario
In this section we extend the previous scenario with a new requirement: Alice is not permitted to see her part of the output without Bob's permission. This is typically the case if Bob will need several iterations of the job to get the output correct. Once Bob is happy with the results, he will allow Alice to see hers. Bob still never actually sees Alice's results, however.
A more complex scenario.
The challenge here is to allow Bob to grant Alice read access to her results, without also allowing Bob to give himself read access. We can do this by introducing a new role and a couple of new PBAC states: empty-locked and full-locked. The sequence will now look like this:
- Bob creates the job as before.
- Bob adds a rule to Output-A granting himself the unlocker role and puts it into the empty-locked state.
- Bob then transfers control of the manager role to Alice, as before.
- When the job finishes, Output-A moves from empty-locked to full-locked. No-one can read the data while it is locked.
- Bob checks Output-B. When he is happy with the results, he unlocks Output-A, allowing Alice to read it.
operations instead.
We need to ensure that:
- When a stager is locked, no-one can read it until it is unlocked.
- When a stager is locked, no-one else can be granted the unlocker role (otherwise Alice can just make herself an unlocker).
Here is a suitable policy, which you can upload as before: lockable-data-policy.xml.
