Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit399123e

Browse files
committed
test prebuilds poc
1 parent1f4a9d8 commit399123e

File tree

2 files changed

+49
-5
lines changed

2 files changed

+49
-5
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"action":"delete",
3+
"object": {
4+
"id":"9046b041-58ed-47a3-9c3a-de302577875a",
5+
"org_owner":"bf7b72bd-a2b1-4ef2-962c-1d698e0483f6",
6+
"type":"workspace",
7+
"acl_user_list": {},
8+
"acl_group_list": {}
9+
},
10+
"subject": {
11+
"id":"10d03e62-7703-4df5-a358-4f76577d4e2f",
12+
"roles": [
13+
{
14+
"name":"test",
15+
"display_name":"Test",
16+
"site": [
17+
{
18+
"negate":false,
19+
"resource_type":"workspace",
20+
"action":"delete"
21+
}
22+
],
23+
"org": {},
24+
"user": []
25+
}
26+
],
27+
"groups": ["b617a647-b5d0-4cbe-9e40-26f89710bf18"],
28+
"scope": {
29+
"name":"Scope_all",
30+
"display_name":"All operations",
31+
"site": [
32+
{
33+
"negate":false,
34+
"resource_type":"*",
35+
"action":"*"
36+
}
37+
],
38+
"org": {},
39+
"user": [],
40+
"allow_list": ["*"]
41+
}
42+
}
43+
}

‎coderd/rbac/policy.rego

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,19 @@ bool_flip(b) := flipped if {
4545
# -1: {false, true} or {false}
4646
# 0: {}
4747
# 1: {true}
48+
# Return 0 if the set is empty (no matching permissions)
4849
number(set):= c if{
4950
count(set)==0
5051
c:=0
5152
}
5253

54+
# Return -1 if the set contains any 'false' (i.e., an explicit deny)
5355
number(set):= c if{
5456
false inset
5557
c:=-1
5658
}
5759

60+
# Return 1 if the set is non-empty and contains no 'false' (i.e., only allows)
5861
number(set):= c if{
5962
notfalse inset
6063
set[_]
@@ -79,17 +82,15 @@ site := num if {
7982
num:=site_allow(input.subject.roles, default_object_set)
8083
}
8184

85+
# test := number({1, 1, -1})
86+
prebuild_object_set:= ["*", prebuild_workspace_type]
8287
site:= num if{
8388
is_prebuild_workspace
84-
num:=number([
85-
site_allow(input.subject.roles, default_object_set),
86-
site_allow(input.subject.roles, [prebuild_workspace_type])
87-
])
89+
num:=site_allow(input.subject.roles, prebuild_object_set)
8890
}
8991

9092
defaultscope_site:=0
9193

92-
9394
scope_site:= num if{
9495
notis_prebuild_workspace
9596
num:=site_allow(input.subject.scope, default_object_set)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp