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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
apiVersion: socialweb.computer/v1alpha1
kind: OpenBaoServer
metadata:
name: bidder
spec:
asset:
name: bao
sha256: ""
clients:
- name: bidder
kvMount: bidder
policies: ["bidder-oidc-rotate", "bidder-guest-user-data-write", "bidder-session"]
- name: computevm
policies: ["computevm-guest-user-data", "computevm-guest-login"]
- name: guest-kcp
policies: ["bidder-guest-kcp"]
- name: pds
policies: ["bidder-repo-key"]
declared:
policies:
- name: bidder-guest-kcp
rules:
- path: bidder/data/relay-keypair/kcp
capabilities: ["create", "read", "update"]
- path: identity/oidc/config
capabilities: ["create", "read", "update"]
- path: auth/sshsig/role/*
capabilities: ["read"]
- name: bidder-repo-key
rules:
- path: bidder/data/identity/bidder/keys
capabilities: ["read"]
- name: bidder-session
rules:
- path: bidder/data/identity/bidder/pds-session
capabilities: ["create", "read", "update"]
- name: bidder-oidc-rotate
rules:
- path: identity/oidc/key/guest/rotate
capabilities: ["update"]
- name: bidder-guest-user-data-write
rules:
- path: bidder/data/guests/+/user-data
capabilities: ["create", "read", "update"]
- name: computevm-guest-user-data
rules:
- path: bidder/data/guests/+/user-data
capabilities: ["read"]
- name: computevm-guest-login
rules:
- path: auth/sshsig/role/*
capabilities: ["create", "read", "update", "delete"]
identityOIDC:
key: guest
plugins:
- name: sshsig
type: auth
asset:
name: openbao-plugin-auth-sshsig
sha256: ""
mountPath: sshsig
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bidder
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: bidder
rules:
- apiGroups: ["socialweb.computer"]
resources: ["openbaoservers"]
verbs: ["get", "list"]
- apiGroups: ["socialweb.computer"]
resources: ["computevms"]
verbs: ["get", "list", "watch", "create", "patch", "update", "delete"]
- apiGroups: ["socialweb.computer"]
resources: ["computevms/status"]
verbs: ["get", "patch", "update"]
- apiGroups: ["socialweb.computer"]
resources: ["bids"]
verbs: ["get", "list", "watch", "create", "patch", "delete"]
- apiGroups: ["socialweb.computer"]
resources: ["bids/status"]
verbs: ["get", "patch", "update"]
- apiGroups: ["socialweb.computer"]
resources: ["guestidentitygrants"]
verbs: ["get", "list", "watch", "create", "patch", "update", "delete"]
- apiGroups: ["socialweb.computer"]
resources: ["marketidentities"]
verbs: ["get", "list", "watch", "patch", "update"]
- apiGroups: ["socialweb.computer"]
resources: ["marketidentities/status"]
verbs: ["get", "patch", "update"]
- apiGroups: ["socialweb.computer"]
resources: ["atprotorecordwatches"]
resourceNames: ["association"]
verbs: ["get"]
- apiGroups: ["socialweb.computer"]
resources: ["marketbidders", "marketbidders/status"]
verbs: ["get", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: bidder
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: bidder
subjects:
- kind: ServiceAccount
name: bidder
namespace: default
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: guest-kcp
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: guest-kcp
rules:
- apiGroups: ["socialweb.computer"]
resources: ["openbaoservers"]
verbs: ["get", "list"]
- apiGroups: ["socialweb.computer"]
resources: ["computevms"]
verbs: ["get", "list", "watch"]
- apiGroups: ["socialweb.computer"]
resources: ["computevms/status"]
verbs: ["get", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: guest-kcp
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: guest-kcp
subjects:
- kind: ServiceAccount
name: guest-kcp
namespace: default