@@ -34,34 +34,75 @@ func checkRemoteCollectorRBAC(ctx context.Context, clientConfig *rest.Config, ti
3434
3535 var forbidden []error
3636
37- spec := authorizationv1.SelfSubjectAccessReviewSpec {
38- ResourceAttributes : & authorizationv1.ResourceAttributes {
39- Namespace : namespace ,
40- Verb : "create,delete" ,
41- Group : "" ,
42- Version : "" ,
43- Resource : "pods,configmap" ,
44- Subresource : "" ,
45- Name : "" ,
37+ resourceAttributesList := []authorizationv1.ResourceAttributes {
38+ {
39+ Namespace : namespace ,
40+ Verb : "get" ,
41+ Resource : "pods" ,
42+ },
43+ {
44+ Namespace : namespace ,
45+ Verb : "create" ,
46+ Resource : "pods" ,
47+ },
48+ {
49+ Namespace : namespace ,
50+ Verb : "delete" ,
51+ Resource : "pods" ,
52+ },
53+ {
54+ Namespace : namespace ,
55+ Verb : "get" ,
56+ Resource : "pods/log" ,
57+ },
58+ {
59+ Verb : "list" ,
60+ Resource : "nodes" ,
61+ },
62+ {
63+ Namespace : namespace ,
64+ Verb : "get" ,
65+ Resource : "configmaps" ,
66+ },
67+ {
68+ Namespace : namespace ,
69+ Verb : "create" ,
70+ Resource : "configmaps" ,
71+ },
72+ {
73+ Namespace : namespace ,
74+ Verb : "delete" ,
75+ Resource : "configmaps" ,
76+ },
77+ {
78+ Namespace : namespace ,
79+ Verb : "get" ,
80+ Resource : "serviceaccounts" ,
4681 },
47- NonResourceAttributes : nil ,
4882 }
4983
50- sar := & authorizationv1.SelfSubjectAccessReview {
51- Spec : spec ,
52- }
53- resp , err := client .AuthorizationV1 ().SelfSubjectAccessReviews ().Create (ctx , sar , metav1.CreateOptions {})
54- if err != nil {
55- return errors .Wrap (err , "failed to run subject review" )
56- }
84+ for _ , resourceAttributes := range resourceAttributesList {
85+ spec := authorizationv1.SelfSubjectAccessReviewSpec {
86+ ResourceAttributes : & resourceAttributes ,
87+ }
88+
89+ sar := & authorizationv1.SelfSubjectAccessReview {
90+ Spec : spec ,
91+ }
92+
93+ resp , err := client .AuthorizationV1 ().SelfSubjectAccessReviews ().Create (ctx , sar , metav1.CreateOptions {})
94+ if err != nil {
95+ return errors .Wrap (err , "failed to run subject review" )
96+ }
5797
58- if ! resp .Status .Allowed {
59- forbidden = append (forbidden , collect.RBACError {
60- DisplayName : title ,
61- Namespace : spec .ResourceAttributes .Namespace ,
62- Resource : spec .ResourceAttributes .Resource ,
63- Verb : spec .ResourceAttributes .Verb ,
64- })
98+ if ! resp .Status .Allowed {
99+ forbidden = append (forbidden , collect.RBACError {
100+ DisplayName : title ,
101+ Namespace : spec .ResourceAttributes .Namespace ,
102+ Resource : spec .ResourceAttributes .Resource ,
103+ Verb : spec .ResourceAttributes .Verb ,
104+ })
105+ }
65106 }
66107
67108 if len (forbidden ) > 0 {
0 commit comments