Commit c5df0bf2 authored by k8s-merge-robot's avatar k8s-merge-robot

Merge pull request #24502 from cjcullen/subresource

Automatic merge from submit-queue Add Subresource & Name to webhook authorizer. Pass through the Subresource and Name fields from the `authorization.Attributes` to the `SubjectAccessReviewSpec.ResourceAttributes`.
parents 39f62240 e53aa938
...@@ -151,10 +151,13 @@ func (w *WebhookAuthorizer) Authorize(attr authorizer.Attributes) (err error) { ...@@ -151,10 +151,13 @@ func (w *WebhookAuthorizer) Authorize(attr authorizer.Attributes) (err error) {
} }
if attr.IsResourceRequest() { if attr.IsResourceRequest() {
r.Spec.ResourceAttributes = &v1beta1.ResourceAttributes{ r.Spec.ResourceAttributes = &v1beta1.ResourceAttributes{
Namespace: attr.GetNamespace(), Namespace: attr.GetNamespace(),
Verb: attr.GetVerb(), Verb: attr.GetVerb(),
Group: attr.GetAPIGroup(), Group: attr.GetAPIGroup(),
Resource: attr.GetResource(), Version: attr.GetAPIVersion(),
Resource: attr.GetResource(),
Subresource: attr.GetSubresource(),
Name: attr.GetName(),
} }
} else { } else {
r.Spec.NonResourceAttributes = &v1beta1.NonResourceAttributes{ r.Spec.NonResourceAttributes = &v1beta1.NonResourceAttributes{
......
...@@ -435,7 +435,10 @@ func TestWebhook(t *testing.T) { ...@@ -435,7 +435,10 @@ func TestWebhook(t *testing.T) {
Verb: "GET", Verb: "GET",
Namespace: "kittensandponies", Namespace: "kittensandponies",
APIGroup: "group3", APIGroup: "group3",
APIVersion: "v7beta3",
Resource: "pods", Resource: "pods",
Subresource: "proxy",
Name: "my-pod",
ResourceRequest: true, ResourceRequest: true,
Path: "/foo", Path: "/foo",
}, },
...@@ -445,10 +448,13 @@ func TestWebhook(t *testing.T) { ...@@ -445,10 +448,13 @@ func TestWebhook(t *testing.T) {
User: "jane", User: "jane",
Groups: []string{"group1", "group2"}, Groups: []string{"group1", "group2"},
ResourceAttributes: &v1beta1.ResourceAttributes{ ResourceAttributes: &v1beta1.ResourceAttributes{
Verb: "GET", Verb: "GET",
Namespace: "kittensandponies", Namespace: "kittensandponies",
Group: "group3", Group: "group3",
Resource: "pods", Version: "v7beta3",
Resource: "pods",
Subresource: "proxy",
Name: "my-pod",
}, },
}, },
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment