Documentation
¶
Index ¶
- Constants
- type AccessRequest
- func (a *AccessRequest) Admit() *AccessRequest
- func (s *AccessRequest) GetApprovalRule() ApprovalRule
- func (s *AccessRequest) GetProviderUsername(provider string) string
- func (s *AccessRequest) GetRole(roles []AccessRole) (AccessRole, error)
- func (s *AccessRequest) HasPermissions(user string, groups []string, utype string) bool
- func (s *AccessRequest) SetApprovalRule(rule ApprovalRule) *AccessRequest
- func (s *AccessRequest) SetExpiration(ctx context.Context) *AccessRequest
- func (s *AccessRequest) SetProviderStatusError(provider string, details string, err string) *AccessRequest
- func (s *AccessRequest) SetProviderStatusGranted(provider string, details string, err string) *AccessRequest
- func (s *AccessRequest) SetProviderStatusRevoked(provider string, details string, err string) *AccessRequest
- func (s *AccessRequest) SetProviderUsername(provider string, value string) *AccessRequest
- func (s *AccessRequest) SetProviderUsernames(usernames map[string]string) *AccessRequest
- func (a *AccessRequest) SetRequester(requester string) *AccessRequest
- func (a *AccessRequest) SetStatusApprove(approvedBy string) *AccessRequest
- func (a *AccessRequest) SetStatusDenied(approvedBy string) *AccessRequest
- func (a *AccessRequest) SetStatusExpired() *AccessRequest
- func (a *AccessRequest) SetStatusPending() *AccessRequest
- func (s *AccessRequest) SetTraceId(ctx context.Context) *AccessRequest
- type AccessRequestDetails
- type AccessRequestStatus
- type AccessRole
- type AccessRoleRef
- type ApprovalRule
- type ApprovalRuleRef
- type ClaimsMap
- func (c ClaimsMap) GetMap(key string) map[string]interface{}
- func (c ClaimsMap) GetProviderUsernamesFromClaim(claim string) map[string]string
- func (c ClaimsMap) GetString(key string) string
- func (c ClaimsMap) GetStringSlice(key string) []string
- func (c ClaimsMap) MarshalJSON() ([]byte, error)
- func (c *ClaimsMap) UnmarshalJSON(data []byte) error
- func (c ClaimsMap) Valid() error
- type Credential
- type CredentialFromSecret
- type CredentialRef
- type Health
- type ProviderConfig
- type ProviderStatus
- type ProviderUsernames
- type UserProfile
- type UserProfileSettings
Constants ¶
View Source
const ( AccessRequestPending = "Pending" AccessRequestApproved = "Approved" AccessRequestDenied = "Denied" AccessRequestExpired = "Expired" ProviderStatusGranted = "Granted" ProviderStatusRevoked = "Revoked" ProviderStatusError = "Error" )
Access request status constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessRequest ¶
type AccessRequest struct { Id string `gorm:"primaryKey" json:"id"` CreatedAt time.Time `gorm:"index" swaggerignore:"true" json:"createdAt"` UpdatedAt time.Time `swaggerignore:"true" json:"updatedAt"` DeletedAt *time.Time `gorm:"index" swaggerignore:"true" json:"deletedAt,omitempty"` RoleRef AccessRoleRef `gorm:"embedded;embeddedPrefix:roleRef_" json:"roleRef"` Details AccessRequestDetails `gorm:"embedded;embeddedPrefix:details_" json:"details"` Status AccessRequestStatus `swaggerignore:"true" gorm:"embedded;embeddedPrefix:status_" json:"status"` }
Access request
func (*AccessRequest) Admit ¶
func (a *AccessRequest) Admit() *AccessRequest
func (*AccessRequest) GetApprovalRule ¶
func (s *AccessRequest) GetApprovalRule() ApprovalRule
func (*AccessRequest) GetProviderUsername ¶
func (s *AccessRequest) GetProviderUsername(provider string) string
func (*AccessRequest) GetRole ¶
func (s *AccessRequest) GetRole(roles []AccessRole) (AccessRole, error)
func (*AccessRequest) HasPermissions ¶
func (s *AccessRequest) HasPermissions(user string, groups []string, utype string) bool
func (*AccessRequest) SetApprovalRule ¶
func (s *AccessRequest) SetApprovalRule(rule ApprovalRule) *AccessRequest
func (*AccessRequest) SetExpiration ¶
func (s *AccessRequest) SetExpiration(ctx context.Context) *AccessRequest
func (*AccessRequest) SetProviderStatusError ¶
func (s *AccessRequest) SetProviderStatusError(provider string, details string, err string) *AccessRequest
func (*AccessRequest) SetProviderStatusGranted ¶
func (s *AccessRequest) SetProviderStatusGranted(provider string, details string, err string) *AccessRequest
func (*AccessRequest) SetProviderStatusRevoked ¶
func (s *AccessRequest) SetProviderStatusRevoked(provider string, details string, err string) *AccessRequest
func (*AccessRequest) SetProviderUsername ¶
func (s *AccessRequest) SetProviderUsername(provider string, value string) *AccessRequest
func (*AccessRequest) SetProviderUsernames ¶
func (s *AccessRequest) SetProviderUsernames(usernames map[string]string) *AccessRequest
func (*AccessRequest) SetRequester ¶
func (a *AccessRequest) SetRequester(requester string) *AccessRequest
func (*AccessRequest) SetStatusApprove ¶
func (a *AccessRequest) SetStatusApprove(approvedBy string) *AccessRequest
Method to approve the access request
func (*AccessRequest) SetStatusDenied ¶
func (a *AccessRequest) SetStatusDenied(approvedBy string) *AccessRequest
Method to deny the access request
func (*AccessRequest) SetStatusExpired ¶
func (a *AccessRequest) SetStatusExpired() *AccessRequest
Method to expire the access request
func (*AccessRequest) SetStatusPending ¶
func (a *AccessRequest) SetStatusPending() *AccessRequest
Method to set the access request to pending
func (*AccessRequest) SetTraceId ¶
func (s *AccessRequest) SetTraceId(ctx context.Context) *AccessRequest
type AccessRequestDetails ¶
type AccessRequestStatus ¶
type AccessRequestStatus struct { Status string `json:"status"` ApprovedBy string `json:"approvedBy"` RequestedBy string `json:"requestedBy"` ApprovalRule ApprovalRule `json:"approvalRule" gorm:"serializer:json"` ProviderUsernames map[string]string `json:"providerUsernames" gorm:"serializer:json"` ProviderStatuses map[string]ProviderStatus `json:"providerStatuses" gorm:"serializer:json"` ExpiresAt *time.Time Trace string `json:"trace"` }
type AccessRole ¶
type AccessRole struct { Id string `gorm:"primaryKey" json:"id,omitempty" example:"3b7af992-5a30-4ce1-821b-cac8194a230b"` Name string `json:"name"` Description string `json:"description"` Tags []string `json:"tags" gorm:"serializer:json"` Providers []ProviderConfig `json:"providers" gorm:"serializer:json"` // Multiple access mappings for the role ApprovalRuleRef ApprovalRuleRef `json:"approvalRuleRef" gorm:"embedded;embeddedPrefix:approvalRuleRef_"` }
Access role
func (*AccessRole) GetApprovalRule ¶
func (a *AccessRole) GetApprovalRule(rules []ApprovalRule) ApprovalRule
func (*AccessRole) HasAccessRolePermissions ¶
func (a *AccessRole) HasAccessRolePermissions(user string, groups []string, rules []ApprovalRule) bool
HasApprovalPermission checks if a user is allowed to approve based on the approval rule.
type AccessRoleRef ¶
type AccessRoleRef struct {
Name string `json:"name" example:"SRE-PU-ACCESS"`
}
type ApprovalRule ¶
type ApprovalRuleRef ¶
type ApprovalRuleRef struct {
Name string `json:"name"`
}
type ClaimsMap ¶
type ClaimsMap struct { Claims map[string]interface{} `json:"-"` *jwt.RegisteredClaims `swaggerignore:"true"` }
ClaimsMap wraps a map[string]interface{} to represent dynamic claims
func NewClaimsMap ¶
func NewClaimsMap() ClaimsMap
func NewUnauthenticatedUserClaims ¶
func NewUnauthenticatedUserClaims() ClaimsMap
func (ClaimsMap) GetProviderUsernamesFromClaim ¶
func (ClaimsMap) GetStringSlice ¶
GetStringSlice extracts a string slice from ClaimsMap.
func (ClaimsMap) MarshalJSON ¶
func (*ClaimsMap) UnmarshalJSON ¶
type Credential ¶
type Credential struct { Name string `json:"name"` FromSecret CredentialFromSecret `json:"fromSecret"` Data map[string]string `json:"data" gorm:"serializer:json"` }
func (*Credential) GetString ¶
func (c *Credential) GetString(key string) string
type CredentialFromSecret ¶
type CredentialFromSecret struct {
Name string `json:"name"`
}
type CredentialRef ¶
type CredentialRef struct {
Name string `json:"name,omitempty"`
}
type ProviderConfig ¶
type ProviderStatus ¶
type ProviderUsernames ¶
type UserProfile ¶
type UserProfile struct { Id string `gorm:"primaryKey" json:"id"` Username string `json:"username"` Settings UserProfileSettings `json:"settings" gorm:"embedded;embeddedPrefix:settings_"` }
func (*UserProfile) Validate ¶
func (p *UserProfile) Validate() error
type UserProfileSettings ¶
type UserProfileSettings struct {
ProviderUsernames
}
Click to show internal directories.
Click to hide internal directories.