/
rbac_types.go
37 lines (31 loc) · 1.44 KB
/
rbac_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package types
type RoleSpec struct {
RoleName string `json:"-"`
ClusterPermissions []string `json:"cluster_permissions,omitempty"`
IndexPermissions []IndexPermissionSpec `json:"index_permissions,omitempty"`
TenantPermissions []TenantPermissionsSpec `json:"tenant_permissions,omitempty"`
}
type IndexPermissionSpec struct {
IndexPatterns []string `json:"index_patterns,omitempty"`
DocumentLevelSecurity string `json:"dls,omitempty"`
FieldLevelSecurity []string `json:"fls,omitempty"`
AllowedActions []string `json:"allowed_actions,omitempty"`
}
type TenantPermissionsSpec struct {
TenantPatterns []string `json:"tenant_patterns,omitempty"`
AllowedActions []string `json:"allowed_actions,omitempty"`
}
type UserSpec struct {
UserName string `json:"-"`
Password string `json:"password,omitempty"`
Hash string `json:"hash,omitempty"`
OpendistroSecurityRoles []string `json:"opendistro_security_roles,omitempty"`
BackendRoles []string `json:"backend_roles,omitempty"`
Attributes map[string]string `json:"attributes,omitempty"`
}
type RoleMappingSpec struct {
BackendRoles []string `json:"backend_roles,omitempty"`
Hosts []string `json:"hosts,omitempty"`
Users []string `json:"users,omitempty"`
}
type RoleMappingReponse map[string]RoleMappingSpec