Documentation ¶
Index ¶
- Constants
- func IsPersonalAccessReviewFromSAR(sar *authorizationapi.SubjectAccessReview) bool
- func RuleMatches(a authorizer.Attributes, rule authorizationapi.PolicyRule) (bool, error)
- func ToDefaultAuthorizationAttributes(user user.Info, namespace string, in authorizationapi.Action) authorizer.Attributes
- type AuthorizationAttributeBuilder
- type ForbiddenMessageMaker
- type ForbiddenMessageResolver
- type RequestInfoFactory
- func NewBrowserSafeRequestInfoResolver(contextMapper apirequest.RequestContextMapper, authenticatedGroups sets.String, ...) RequestInfoFactory
- func NewPersonalSARRequestInfoResolver(infoFactory RequestInfoFactory) RequestInfoFactory
- func NewProjectRequestInfoResolver(infoFactory RequestInfoFactory) RequestInfoFactory
- type SubjectLocator
Constants ¶
View Source
const DefaultProjectRequestForbidden = "You may not request a new project via this API."
Variables ¶
This section is empty.
Functions ¶
func IsPersonalAccessReviewFromSAR ¶
func IsPersonalAccessReviewFromSAR(sar *authorizationapi.SubjectAccessReview) bool
IsPersonalAccessReviewFromSAR this variant handles the case where we have an SAR
func RuleMatches ¶
func RuleMatches(a authorizer.Attributes, rule authorizationapi.PolicyRule) (bool, error)
func ToDefaultAuthorizationAttributes ¶
func ToDefaultAuthorizationAttributes(user user.Info, namespace string, in authorizationapi.Action) authorizer.Attributes
ToDefaultAuthorizationAttributes coerces Action to authorizer.Attributes.
Types ¶
type AuthorizationAttributeBuilder ¶
type AuthorizationAttributeBuilder interface {
GetAttributes(request *http.Request) (authorizer.Attributes, error)
}
func NewAuthorizationAttributeBuilder ¶
func NewAuthorizationAttributeBuilder(contextMapper apirequest.RequestContextMapper, infoFactory RequestInfoFactory) AuthorizationAttributeBuilder
type ForbiddenMessageMaker ¶
type ForbiddenMessageMaker interface {
MakeMessage(attrs authorizer.Attributes) (string, error)
}
ForbiddenMessageMaker creates a forbidden message from Attributes
type ForbiddenMessageResolver ¶
type ForbiddenMessageResolver struct {
// contains filtered or unexported fields
}
func NewForbiddenMessageResolver ¶
func NewForbiddenMessageResolver(projectRequestForbiddenTemplate string) *ForbiddenMessageResolver
func (*ForbiddenMessageResolver) MakeMessage ¶
func (m *ForbiddenMessageResolver) MakeMessage(attrs authorizer.Attributes) (string, error)
type RequestInfoFactory ¶
type RequestInfoFactory interface {
NewRequestInfo(req *http.Request) (*apirequest.RequestInfo, error)
}
func NewBrowserSafeRequestInfoResolver ¶
func NewBrowserSafeRequestInfoResolver(contextMapper apirequest.RequestContextMapper, authenticatedGroups sets.String, infoFactory RequestInfoFactory) RequestInfoFactory
func NewPersonalSARRequestInfoResolver ¶
func NewPersonalSARRequestInfoResolver(infoFactory RequestInfoFactory) RequestInfoFactory
func NewProjectRequestInfoResolver ¶
func NewProjectRequestInfoResolver(infoFactory RequestInfoFactory) RequestInfoFactory
type SubjectLocator ¶
type SubjectLocator interface {
GetAllowedSubjects(attributes authorizer.Attributes) (sets.String, sets.String, error)
}
func NewAuthorizer ¶
func NewAuthorizer(ruleResolver rulevalidation.AuthorizationRuleResolver, forbiddenMessageMaker ForbiddenMessageMaker) (authorizer.Authorizer, SubjectLocator)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.