package filters
import "k8s.io/kubernetes/pkg/apiserver/filters"
Package filters contains all the http handler chain filters which _are_ api related.
Index ¶
- func WithAudit(handler http.Handler, attributeGetter RequestAttributeGetter, out io.Writer) http.Handler
- func WithAuthorization(handler http.Handler, getAttribs RequestAttributeGetter, a authorizer.Authorizer) http.Handler
- func WithImpersonation(handler http.Handler, requestContextMapper api.RequestContextMapper, a authorizer.Authorizer) http.Handler
- func WithRequestInfo(handler http.Handler, resolver *request.RequestInfoFactory, requestContextMapper api.RequestContextMapper) http.Handler
- type RequestAttributeGetter
Functions ¶
func WithAudit ¶
func WithAudit(handler http.Handler, attributeGetter RequestAttributeGetter, out io.Writer) http.Handler
WithAudit decorates a http.Handler with audit logging information for all the requests coming to the server. If out is nil, no decoration takes place. Each audit log contains two entries: 1. the request line containing:
- unique id allowing to match the response line (see 2)
- source ip of the request
- HTTP method being invoked
- original user invoking the operation
- impersonated user for the operation
- namespace of the request or <none>
- uri is the full URI as requested
2. the response line containing:
- the unique id from 1
- response code
func WithAuthorization ¶
func WithAuthorization(handler http.Handler, getAttribs RequestAttributeGetter, a authorizer.Authorizer) http.Handler
WithAuthorizationCheck passes all authorized requests on to handler, and returns a forbidden error otherwise.
func WithImpersonation ¶
func WithImpersonation(handler http.Handler, requestContextMapper api.RequestContextMapper, a authorizer.Authorizer) http.Handler
WithImpersonation is a filter that will inspect and check requests that attempt to change the user.Info for their requests
func WithRequestInfo ¶
func WithRequestInfo(handler http.Handler, resolver *request.RequestInfoFactory, requestContextMapper api.RequestContextMapper) http.Handler
WithRequestInfo attaches a RequestInfo to the context.
Types ¶
type RequestAttributeGetter ¶
type RequestAttributeGetter interface { GetAttribs(req *http.Request) (authorizer.Attributes, error) }
RequestAttributeGetter is a function that extracts authorizer.Attributes from an http.Request
func NewRequestAttributeGetter ¶
func NewRequestAttributeGetter(requestContextMapper api.RequestContextMapper) RequestAttributeGetter
NewAttributeGetter returns an object which implements the RequestAttributeGetter interface.
Source Files ¶
audit.go authorization.go doc.go errors.go impersonation.go requestinfo.go
- Version
- v1.5.4
- Published
- Mar 7, 2017
- Platform
- js/wasm
- Imports
- 19 packages
- Last checked
- 9 seconds ago –
Tools for package owners.