summaryrefslogtreecommitdiffstats
path: root/keystone-moon/examples/moon/policies/policy_authz/assignment.json
blob: 6482830c1b887f90340ea04f7815a94211b91f30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
    "subject_assignments": {
        "subject_security_level":{
			"admin": ["high"],
			"demo": ["medium"]
        },
		"domain":{
			"admin": ["ft"],
			"demo": ["xx"]
        },
		"role": {
			"admin": ["admin"],
			"demo": ["dev"]
		}
    },

    "action_assignments": {
        "resource_action":{
			"pause": ["vm_admin"],
			"unpause": ["vm_admin"],
			"start": ["vm_admin"],
			"stop": ["vm_admin"],
			"list": ["vm_access", "vm_admin"],
			"create": ["vm_admin"],
			"storage_list": ["storage_access"],
			"download": ["storage_access"],
			"post": ["storage_admin"],
			"upload": ["storage_admin"]
        },
		"access": {
			"pause": ["write"],
			"unpause": ["write"],
			"start": ["write"],
			"stop": ["write"],
			"list": ["read"],
			"create": ["write"],
			"storage_list": ["read"],
			"download": ["read"],
			"post": ["write"],
			"upload": ["write"]
		}
    },

    "object_assignments": {
        "object_security_level": {
            "servers": ["low"],
			"vm1": ["low"],
			"vm2": ["medium"],
			"file1": ["low"],
			"file2": ["medium"]
        },
		"type": {
			"servers": ["computing"],
			"vm1": ["computing"],
			"vm2": ["computing"],
			"file1": ["storage"],
			"file2": ["storage"]
		},
		"object_id": {
			"servers": ["servers"],
			"vm1": ["vm1"],
			"vm2": ["vm2"],
			"file1": ["file1"],
			"file2": ["file2"]
		}
    }
}