Created
September 4, 2019 10:22
-
-
Save RogWilco/6b143e915e19cc404c15f2adfba6f855 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"$id":"https://github.com/proxyco/api-manage-models/blob/master/etc/Policy.document.schema.json","$schema":"http://json-schema.org/draft-07/schema#","title":"Proxy Authz Policy Document","description":"Defines the structure of the JSON document used to describe an access control policy.","required":["Version","Statement"],"type":"object","definitions":{"identifier":{"type":"string","description":"A Proxy entity identifier, namespaced by colons (i.e. device:4afe819b-31db-47f9-b84d-bee7d746ea23).","pattern":"^([A-Za-z]*:)+[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"RFC-5545":{"type":"string","description":"The Proxy-supported subset of RFC-5545 calendar scheduling syntax.","pattern":"^(DTSTART(;TZID=.*)?:[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?)(\\n(RRULE:(FREQ=(SECONDLY|MINUTELY|HOURLY|DAILY|WEEKLY|MONTHLY|YEARLY)|UNTIL=[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?|COUNT=[0-9]|INTERVAL=[0-9]|BYWEEKNO=[+-]?([0-4]?[0-9]|5[0-3])|WKST=(SU|MO|TU|WE|TH|FR|SA)|BYSECOND=[0-5][0-9](,[0-5][0-9])*|BYMINUTE=[0-5][0-9](,[0-5][0-9])*|BYHOUR=([01][0-9]|2[0-3])(,([01][0-9]|2[0-3]))*|BYDAY=[+-]?([0-4]?[0-9]|5[0-3])(SU|MO|TU|WE|TH|FR|SA)|BYMONTHDAY=[+-]?([12]?[0-9]|3[01])(,[+-]?([12]?[0-9]|3[01]))|BYYEARDAY=[+-]?([12]?[0-9]|3[0-6])[0-9](,[+-]?([12]?[0-9]|3[0-6])[0-9])|BYMONTH=(1?[0-2]|[0-9])(,(1?[0-2]|[0-9]))|BYSETPOS=[+-]?([12]?[0-9]|3[0-6])[0-9](,[+-]?([12]?[0-9]|3[0-6])[0-9]))(;(FREQ=(SECONDLY|MINUTELY|HOURLY|DAILY|WEEKLY|MONTHLY|YEARLY)|UNTIL=[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?|COUNT=[0-9]|INTERVAL=[0-9]|BYWEEKNO=[+-]?([0-4]?[0-9]|5[0-3])|WKST=(SU|MO|TU|WE|TH|FR|SA)|BYSECOND=[0-5][0-9](,[0-5][0-9])*|BYMINUTE=[0-5][0-9](,[0-5][0-9])*|BYHOUR=([01][0-9]|2[0-3])(,([01][0-9]|2[0-3]))*|BYDAY=[+-]?([0-4]?[0-9]|5[0-3])(SU|MO|TU|WE|TH|FR|SA)|BYMONTHDAY=[+-]?([12]?[0-9]|3[01])(,[+-]?([12]?[0-9]|3[01]))|BYYEARDAY=[+-]?([12]?[0-9]|3[0-6])[0-9](,[+-]?([12]?[0-9]|3[0-6])[0-9])|BYMONTH=(1?[0-2]|[0-9])(,(1?[0-2]|[0-9]))|BYSETPOS=[+-]?([12]?[0-9]|3[0-6])[0-9](,[+-]?([12]?[0-9]|3[0-6])[0-9])))*|RDATE(;TZID=.*)?:[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?|EXDATE(;TZID=.*)?:[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?))*(\\nDTEND(;TZID=.*)?:[0-9]{4}(1[0-2]|0[1-9])(3[0-1]|[0-2][1-9])T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z?)?$","examples":["DTSTART:20120201T023000Z","DTSTART:20120201T023000Z\nRRULE:FREQ=MONTHLY;COUNT=5","DTSTART:20120201T023000Z\nRDATE:20120701T023000Z,20120702T023000Z","EXRULE:FREQ=MONTHLY;COUNT=2","EXDATE:20120601T023000Z"]}},"properties":{"$schema":{"type":"string"},"Version":{"type":"string","description":"The document version, formatted as a date (YYYY-MM-DD).","format":"date"},"Statement":{"type":"object","required":["Effect","Action","Grant","Resource"],"properties":{"Effect":{"type":"string","description":"The effect of the policy when it is matched.","enum":["Allow","Deny"]},"Action":{"type":"array","description":"The desired action(s) to be taken.","items":{"type":"string"}},"Grant":{"type":"array","description":"The subject(s) for which the policy applies.","items":{"$ref":"#/definitions/identifier"}},"Resource":{"type":"array","description":"The resource(s) on which to take the specified action.","items":{"$ref":"#/definitions/identifier"}},"Ruleset":{"type":"object","description":"Defines additional conditions under which the policy applies.","properties":{"mode":{"type":"string","description":"Defines the conditions under which the policy is in effect."},"schedule":{"type":"array","description":"Defines a schedule under which the policy is in effect.","items":{"$ref":"#/definitions/RFC-5545"}}}}}}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment