Use the Google Drive Evaluator
Now that you have created your policy instance, you can test it out with the Evaluator. The Evaluator supports several requests, corresponding to Aserto's authorization APIs - is, decisiontree, and query. The default "Check" request, however, is specifically designed for policy-rebac. Using the Evaluator allows you to quickly verify whether a user has a relationship (or permission) on an object.
The Evaluator has two parts. The REQUEST part on the left is where you specify information about the action being performed, while the OUTPUT on the right displays the body of the request as well as the response.
The table below explains the selection fields.
| Field | Description |
|---|---|
| Subject | The user to evaluate. For Google Drive there are 5 Citadel users that you can select from. |
| Object Type | The type of object to evaluate. For Google Drive this will be Doc. |
| Object | The object instance to evaluate. |
| Relation | Which relation or permission to evaluate. |
Testing the policy
Now let's check a few different scenarios using the Evalator. First, a few important things to note about Rick and Morty:
- Rick is an
ownerof therickfolder, which contains therick.inventionsdoc. This means he has thecan_read,can_write, andcan_deletepermissions on therickfolder, which are inherited by therick.inventionsdoc. - Every user is a
viewerof thegroceriesdoc. This means that both Rick and Morty have thecan_readpermission on this doc, but they have no other permission.
Scenario 1 - can Rick read the rick.inventions doc?
- For Subject, select "Rick Sanchez".
- For Object Type, select "Doc".
- For Object, select "Rick's inventions".
- For Relation, select "can-read".
- Click the
Playbutton. - You should see
"is": trueunder results indicating the action will be permitted.
Scenario 2 - can Rick delete the rick.inventions doc?
- For Subject, select "Rick Sanchez".
- For Object Type, select "Doc".
- For Object, select "Rick's inventions".
- For Relation, select "can-delete".
- Click the
Playbutton. - You should see
"is": trueunder results indicating the action will be permitted.
Scenario 3 - can Morty read the rick.inventions doc?
- For Subject, select "Morty Smith".
- For Object Type, select "Doc".
- For Object, select "Rick's inventions".
- For Relation, select "can-read".
- Click the
Playbutton. - You should see
"is": falseunder results indicating the action will be denied.
Scenario 4 - can Rick read the groceries doc?
- For Subject, select "Rick Sanchez".
- For Object Type, select "Doc".
- For Object, select "Grocery list".
- For Relation, select "can-read".
- Click the
Playbutton. - You should see
"is": trueunder results indicating the action will be permitted.
Scenario 5 - can Rick delete the groceries doc?
- For Subject, select "Rick Sanchez".
- For Object Type, select "Doc".
- For Object, select "Grocery list".
- For Relation, select "can-delete".
- Click the
Playbutton. - You should see
"is": falseunder results indicating the action will be denied.
Next steps
Now that you have seen how the policy works, you'll use the Quickstart in the console to download and run the sample back-end API, which uses the gdrive policy for access control.
Click on the "Quickstart" tab on the left.
