Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NamedRoleBinding ¶
type NamedRoleBinding struct { Name string `json:"name"` RoleBinding RoleBinding `json:"roleBinding"` }
type Policy ¶
type Policy struct { kapi.TypeMeta `json:",inline"` kapi.ObjectMeta `json:"metadata,omitempty"` // LastModified is the last time that any part of the Policy was created, updated, or deleted LastModified kutil.Time `json:"lastModified"` // Roles holds all the Roles held by this Policy, mapped by Role.Name Roles []NamedRole `json:"roles"` }
Policy is a object that holds all the Roles for a particular namespace. There is at most one Policy document per namespace.
func (*Policy) IsAnAPIObject ¶
func (*Policy) IsAnAPIObject()
type PolicyBinding ¶
type PolicyBinding struct { kapi.TypeMeta `json:",inline"` kapi.ObjectMeta `json:"metadata,omitempty"` // LastModified is the last time that any part of the PolicyBinding was created, updated, or deleted LastModified kutil.Time `json:"lastModified"` // PolicyRef is a reference to the Policy that contains all the Roles that this PolicyBinding's RoleBindings may reference PolicyRef kapi.ObjectReference `json:"policyRef"` // RoleBindings holds all the RoleBindings held by this PolicyBinding, mapped by RoleBinding.Name RoleBindings []NamedRoleBinding `json:"roleBindings"` }
PolicyBinding is a object that holds all the RoleBindings for a particular namespace. There is one PolicyBinding document per referenced Policy namespace
func (*PolicyBinding) IsAnAPIObject ¶
func (*PolicyBinding) IsAnAPIObject()
type PolicyBindingList ¶
type PolicyBindingList struct { kapi.TypeMeta `json:",inline"` kapi.ListMeta `json:"metadata,omitempty"` Items []PolicyBinding `json:"items"` }
PolicyBindingList is a collection of PolicyBindings
func (*PolicyBindingList) IsAnAPIObject ¶
func (*PolicyBindingList) IsAnAPIObject()
type PolicyList ¶
type PolicyList struct { kapi.TypeMeta `json:",inline"` kapi.ListMeta `json:"metadata,omitempty"` Items []Policy `json:"items"` }
PolicyList is a collection of Policies
func (*PolicyList) IsAnAPIObject ¶
func (*PolicyList) IsAnAPIObject()
type PolicyRule ¶
type PolicyRule struct { // Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. Verbs []string `json:"verbs"` // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. AttributeRestrictions kruntime.RawExtension `json:"attributeRestrictions"` // ResourceKinds is a list of resources this rule applies to. ResourceAll represents all resources. // DEPRECATED ResourceKinds []string `json:"resourceKinds,omitempty"` // Resources is a list of resources this rule applies to. ResourceAll represents all resources. Resources []string `json:"resources"` // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. ResourceNames []string `json:"resourceNames,omitempty"` }
PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.
type ResourceAccessReview ¶ added in v0.3.1
type ResourceAccessReview struct { kapi.TypeMeta `json:",inline"` // Verb is one of: get, list, watch, create, update, delete Verb string `json:"verb"` // Resource is one of the existing resource types Resource string `json:"resource"` // Content is the actual content of the request for create and update Content kruntime.RawExtension `json:"content,omitempty"` // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" ResourceName string `json:"resourceName,omitempty"` }
ResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec
func (*ResourceAccessReview) IsAnAPIObject ¶ added in v0.3.1
func (*ResourceAccessReview) IsAnAPIObject()
type ResourceAccessReviewResponse ¶ added in v0.3.1
type ResourceAccessReviewResponse struct { kapi.TypeMeta `json:",inline"` // Namespace is the namespace used for the access review Namespace string `json:"namespace,omitempty"` // Users is the list of users who can perform the action Users []string `json:"users"` // Groups is the list of groups who can perform the action Groups []string `json:"groups"` }
ResourceAccessReviewResponse describes who can perform the action
func (*ResourceAccessReviewResponse) IsAnAPIObject ¶ added in v0.3.1
func (*ResourceAccessReviewResponse) IsAnAPIObject()
type Role ¶
type Role struct { kapi.TypeMeta `json:",inline"` kapi.ObjectMeta `json:"metadata,omitempty"` // Rules holds all the PolicyRules for this Role Rules []PolicyRule `json:"rules"` }
Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings.
func (*Role) IsAnAPIObject ¶
func (*Role) IsAnAPIObject()
type RoleBinding ¶
type RoleBinding struct { kapi.TypeMeta `json:",inline"` kapi.ObjectMeta `json:"metadata,omitempty"` // UserNames holds all the usernames directly bound to the role UserNames []string `json:"userNames"` // GroupNames holds all the groups directly bound to the role GroupNames []string `json:"groupNames"` // Since Policy is a singleton, this is sufficient knowledge to locate a role // RoleRefs can only reference the current namespace and the global namespace // If the RoleRef cannot be resolved, the Authorizer must return an error. RoleRef kapi.ObjectReference `json:"roleRef"` }
RoleBinding references a Role, but not contain it. It adds who and namespace information. It can reference any Role in the same namespace or in the global namespace.
func (*RoleBinding) IsAnAPIObject ¶
func (*RoleBinding) IsAnAPIObject()
type SubjectAccessReview ¶ added in v0.3.1
type SubjectAccessReview struct { kapi.TypeMeta `json:",inline"` // Verb is one of: get, list, watch, create, update, delete Verb string `json:"verb"` // Resource is one of the existing resource types Resource string `json:"resource"` // User is optional. If both User and Groups are empty, the current authenticated user is used. User string `json:"user"` // Groups is optional. Groups is the list of groups to which the User belongs. Groups []string `json:"groups"` // Content is the actual content of the request for create and update Content kruntime.RawExtension `json:"content,omitempty"` // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" ResourceName string `json:"resourceName"` }
SubjectAccessReview is an object for requesting information about whether a user or group can perform an action
func (*SubjectAccessReview) IsAnAPIObject ¶ added in v0.3.1
func (*SubjectAccessReview) IsAnAPIObject()
type SubjectAccessReviewResponse ¶ added in v0.3.1
type SubjectAccessReviewResponse struct { kapi.TypeMeta `json:",inline"` // Namespace is the namespace used for the access review Namespace string `json:"namespace,omitempty"` // Allowed is required. True if the action would be allowed, false otherwise. Allowed bool `json:"allowed"` // Reason is optional. It indicates why a request was allowed or denied. Reason string `json:"reason,omitempty"` }
SubjectAccessReviewResponse describes whether or not a user or group can perform an action
func (*SubjectAccessReviewResponse) IsAnAPIObject ¶ added in v0.3.1
func (*SubjectAccessReviewResponse) IsAnAPIObject()