Skip to content

Commit 0da710f

Browse files
committed
app,rewrite: remove non-resource attrs
1 parent f6687ef commit 0da710f

File tree

3 files changed

+0
-156
lines changed

3 files changed

+0
-156
lines changed

cmd/kube-rbac-proxy/app/kube-rbac-proxy.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,6 @@ func setupAuthorizer(krbInfo *server.KubeRBACProxyInfo, delegatedAuthz *serverco
297297
attrsGenerator = rewrite.NewTemplatedResourceAttributesGenerator(
298298
krbInfo.Authorization.ResourceAttributes,
299299
)
300-
default:
301-
attrsGenerator = &rewrite.NonResourceAttributesGenerator{}
302300
}
303301

304302
if attrsGenerator != nil {

pkg/authorization/rewrite/attributes.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,6 @@ type AttributesGenerator interface {
3030
Generate(context.Context, authorizer.Attributes) []authorizer.Attributes
3131
}
3232

33-
// NonResourceAttributesGenerator reduces a given attribute to user and http based
34-
// attributes.
35-
type NonResourceAttributesGenerator struct{}
36-
37-
var _ AttributesGenerator = &NonResourceAttributesGenerator{}
38-
39-
// Generate reduces the original attributes to user and http based attributes.
40-
func (d *NonResourceAttributesGenerator) Generate(ctx context.Context, attr authorizer.Attributes) []authorizer.Attributes {
41-
return []authorizer.Attributes{
42-
authorizer.AttributesRecord{
43-
User: attr.GetUser(),
44-
Verb: attr.GetVerb(),
45-
ResourceRequest: false,
46-
Path: attr.GetPath(),
47-
},
48-
}
49-
}
50-
5133
// ResourceAttributesGenerator uses the given attributes' user, http verb and
5234
// verifies its authorization against a static kubernetes resource. The
5335
// authorization is bound to that given kubernetes resource.

pkg/authorization/rewrite/attributes_test.go

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -25,142 +25,6 @@ import (
2525
"k8s.io/apiserver/pkg/authorization/authorizer"
2626
)
2727

28-
func TestDefaultAttributesGenerator(t *testing.T) {
29-
generator := &rewrite.NonResourceAttributesGenerator{}
30-
testCases := []struct {
31-
name string
32-
attributes authorizer.AttributesRecord
33-
expected authorizer.AttributesRecord
34-
}{
35-
{
36-
name: "basic HTTP attributes",
37-
attributes: authorizer.AttributesRecord{
38-
User: &user.DefaultInfo{Name: "test user 0"},
39-
Verb: "post",
40-
Namespace: "",
41-
APIGroup: "",
42-
APIVersion: "",
43-
Resource: "",
44-
Subresource: "",
45-
Name: "",
46-
ResourceRequest: false,
47-
Path: "/api/v1/users",
48-
},
49-
expected: authorizer.AttributesRecord{
50-
User: &user.DefaultInfo{Name: "test user 0"},
51-
Verb: "post",
52-
Namespace: "",
53-
APIGroup: "",
54-
APIVersion: "",
55-
Resource: "",
56-
Subresource: "",
57-
Name: "",
58-
ResourceRequest: false,
59-
Path: "/api/v1/users",
60-
},
61-
},
62-
{
63-
name: "basic attributes",
64-
attributes: authorizer.AttributesRecord{
65-
User: &user.DefaultInfo{Name: "test user 1"},
66-
Verb: "get",
67-
Namespace: "default",
68-
APIGroup: "",
69-
APIVersion: "",
70-
Resource: "pods",
71-
Subresource: "",
72-
Name: "",
73-
ResourceRequest: false,
74-
Path: "/api/v1/namespaces/default/pods",
75-
},
76-
expected: authorizer.AttributesRecord{
77-
User: &user.DefaultInfo{Name: "test user 1"},
78-
Verb: "get",
79-
Namespace: "",
80-
APIGroup: "",
81-
APIVersion: "",
82-
Resource: "",
83-
Subresource: "",
84-
Name: "",
85-
ResourceRequest: false,
86-
Path: "/api/v1/namespaces/default/pods",
87-
},
88-
},
89-
{
90-
name: "attributes with subresource",
91-
attributes: authorizer.AttributesRecord{
92-
User: &user.DefaultInfo{Name: "test user 2"},
93-
Verb: "update",
94-
Namespace: "default",
95-
APIGroup: "",
96-
APIVersion: "",
97-
Resource: "pods",
98-
Subresource: "status",
99-
Name: "pod1",
100-
ResourceRequest: false,
101-
Path: "/api/v1/namespaces/default/pods/pod1/status",
102-
},
103-
expected: authorizer.AttributesRecord{
104-
User: &user.DefaultInfo{Name: "test user 2"},
105-
Verb: "update",
106-
Namespace: "",
107-
APIGroup: "",
108-
APIVersion: "",
109-
Resource: "",
110-
Subresource: "",
111-
Name: "",
112-
ResourceRequest: false,
113-
Path: "/api/v1/namespaces/default/pods/pod1/status",
114-
},
115-
},
116-
{
117-
name: "resource request attributes",
118-
attributes: authorizer.AttributesRecord{
119-
User: &user.DefaultInfo{Name: "test user 3"},
120-
Verb: "get",
121-
Namespace: "default",
122-
APIGroup: "",
123-
APIVersion: "",
124-
Resource: "pods",
125-
Subresource: "",
126-
Name: "",
127-
ResourceRequest: true,
128-
Path: "/api/v1/namespaces/default/pods",
129-
},
130-
expected: authorizer.AttributesRecord{
131-
User: &user.DefaultInfo{Name: "test user 3"},
132-
Verb: "get",
133-
Namespace: "",
134-
APIGroup: "",
135-
APIVersion: "",
136-
Resource: "",
137-
Subresource: "",
138-
Name: "",
139-
ResourceRequest: false,
140-
Path: "/api/v1/namespaces/default/pods",
141-
},
142-
},
143-
}
144-
145-
for _, tc := range testCases {
146-
t.Run(tc.name, func(t *testing.T) {
147-
generatedAttributes := generator.Generate(context.Background(), tc.attributes)
148-
149-
if len(generatedAttributes) != 1 {
150-
t.Errorf("Expected 1 generated attribute, but got %d", len(generatedAttributes))
151-
}
152-
153-
generatedRecord := generatedAttributes[0]
154-
if !reflect.DeepEqual(generatedRecord, tc.expected) {
155-
t.Errorf(
156-
"Generated attribute does not match expected attribute.\nHave: %+v,\nWant: %+v",
157-
generatedRecord, tc.expected,
158-
)
159-
}
160-
})
161-
}
162-
}
163-
16428
func TestBoundAttributesGenerator(t *testing.T) {
16529
boundResource := &rewrite.ResourceAttributes{
16630
Namespace: "kube-system",

0 commit comments

Comments
 (0)