authz

package
v0.0.0-...-bf7e782 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ActionReadAll  = Action("read")
	ActionWriteAll = Action("write")
	ActionAdminAll = Action("admin")

	ActionGetProject                   = Action("GetProject")
	ActionGetRole                      = Action("GetRole")
	ActionListRoles                    = Action("ListRoles")
	ActionGetMembership                = Action("GetMembership")
	ActionListMembershipsByProject     = Action("ListMembershipsByProject")
	ActionGetMembershipRoleBinding     = Action("GetMembershipRoleBinding")
	ActionListMembershipRoleBindings   = Action("ListMembershipRoleBindings")
	ActionGetServiceAccount            = Action("GetServiceAccount")
	ActionListServiceAccounts          = Action("ListServiceAccounts")
	ActionGetConnection                = Action("GetConnection")
	ActionListConnections              = Action("ListConnections")
	ActionGetApplication               = Action("GetApplication")
	ActionListApplications             = Action("ListApplications")
	ActionGetLatestRelease             = Action("GetLatestRelease")
	ActionGetRelease                   = Action("GetRelease")
	ActionListReleases                 = Action("ListReleases")
	ActionPreviewApplicationScheduling = Action("PreviewApplicationScheduling")
	ActionGetDevice                    = Action("GetDevice")
	ActionListDevices                  = Action("ListDevices")
	ActionGetImagePullProgress         = Action("GetImagePullProgress")
	ActionGetMetrics                   = Action("GetMetrics")
	ActionGetServiceMetrics            = Action("GetServiceMetrics")
	ActionGetDeviceRegistrationToken   = Action("GetDeviceRegistrationToken")
	ActionListDeviceRegistrationTokens = Action("ListDeviceRegistrationTokens")
	ActionGetProjectConfig             = Action("GetProjectConfig")

	ActionCreateConnection                                 = Action("CreateConnection")
	ActionUpdateConnection                                 = Action("UpdateConnection")
	ActionDeleteConnection                                 = Action("DeleteConnection")
	ActionCreateApplication                                = Action("CreateApplication")
	ActionUpdateApplication                                = Action("UpdateApplication")
	ActionDeleteApplication                                = Action("DeleteApplication")
	ActionCreateRelease                                    = Action("CreateRelease")
	ActionUpdateDevice                                     = Action("UpdateDevice")
	ActionDeleteDevice                                     = Action("DeleteDevice")
	ActionSSH                                              = Action("SSH")
	ActionConnect                                          = Action("Connect")
	ActionReboot                                           = Action("Reboot")
	ActionListAllDeviceLabels                              = Action("ListAllDeviceLabels")
	ActionSetDeviceLabel                                   = Action("SetDeviceLabel")
	ActionDeleteDeviceLabel                                = Action("DeleteDeviceLabel")
	ActionSetDeviceEnvironmentVariable                     = Action("SetDeviceEnvironmentVariable")
	ActionDeleteDeviceEnvironmentVariable                  = Action("DeleteDeviceEnvironmentVariable")
	ActionCreateDeviceRegistrationToken                    = Action("CreateDeviceRegistrationToken")
	ActionUpdateDeviceRegistrationToken                    = Action("UpdateDeviceRegistrationToken")
	ActionDeleteDeviceRegistrationToken                    = Action("DeleteDeviceRegistrationToken")
	ActionSetDeviceRegistrationTokenLabel                  = Action("SetDeviceRegistrationTokenLabel")
	ActionDeleteDeviceRegistrationTokenLabel               = Action("DeleteDeviceRegistrationTokenLabel")
	ActionSetDeviceRegistrationTokenEnvironmentVariable    = Action("SetDeviceRegistrationTokenEnvironmentVariable")
	ActionDeleteDeviceRegistrationTokenEnvironmentVariable = Action("DeleteDeviceRegistrationTokenEnvironmentVariable")

	ActionUpdateProject                   = Action("UpdateProject")
	ActionDeleteProject                   = Action("DeleteProject")
	ActionCreateRole                      = Action("CreateRole")
	ActionUpdateRole                      = Action("UpdateRole")
	ActionDeleteRole                      = Action("DeleteRole")
	ActionCreateMembership                = Action("CreateMembership")
	ActionDeleteMembership                = Action("DeleteMembership")
	ActionCreateMembershipRoleBinding     = Action("CreateMembershipRoleBinding")
	ActionDeleteMembershipRoleBinding     = Action("DeleteMembershipRoleBinding")
	ActionCreateServiceAccount            = Action("CreateServiceAccount")
	ActionUpdateServiceAccount            = Action("UpdateServiceAccount")
	ActionDeleteServiceAccount            = Action("DeleteServiceAccount")
	ActionCreateServiceAccountAccessKey   = Action("CreateServiceAccountAccessKey")
	ActionGetServiceAccountAccessKey      = Action("GetServiceAccountAccessKey")
	ActionListServiceAccountAccessKeys    = Action("ListServiceAccountAccessKeys")
	ActionDeleteServiceAccountAccessKey   = Action("DeleteServiceAccountAccessKey")
	ActionCreateServiceAccountRoleBinding = Action("CreateServiceAccountRoleBinding")
	ActionGetServiceAccountRoleBinding    = Action("GetServiceAccountRoleBinding")
	ActionListServiceAccountRoleBinding   = Action("ListServiceAccountRoleBinding")
	ActionDeleteServiceAccountRoleBinding = Action("DeleteServiceAccountRoleBinding")
	ActionSetProjectConfig                = Action("SetProjectConfig")
)
View Source
const (
	EffectAllow = Effect("allow")
	EffectDeny  = Effect("deny")
)
View Source
const (
	ResourceAny = Resource("*")

	ResourceProjects                                    = Resource("projects")
	ResourceRoles                                       = Resource("roles")
	ResourceMemberships                                 = Resource("memberships")
	ResourceMembershipRoleBindings                      = Resource("membershiprolebindings")
	ResourceServiceAccounts                             = Resource("serviceaccounts")
	ResourceServiceAccountAccessKeys                    = Resource("serviceaccountaccesskeys")
	ResourceServiceAccountRoleBindings                  = Resource("serviceaccountrolebindings")
	ResourceConnections                                 = Resource("connection")
	ResourceApplications                                = Resource("applications")
	ResourceReleases                                    = Resource("releases")
	ResourceDevices                                     = Resource("devices")
	ResourceDeviceLabels                                = Resource("devicelabels")
	ResourceDeviceEnvironmentVariables                  = Resource("deviceenvironmentvariables")
	ResourceDeviceRegistrationTokens                    = Resource("deviceregistrationtokens")
	ResourceDeviceRegistrationTokenLabels               = Resource("deviceregistrationtokenlabels")
	ResourceDeviceRegistrationTokenEnvironmentVariables = Resource("deviceregistrationtokenenvironmentvariables")
	ResourceProjectConfigs                              = Resource("projectconfigs")
)

Variables

View Source
var (
	ReadAllRole = Config{
		Rules: []Rule{
			{
				Resources: []Resource{ResourceAny},
				Actions:   []Action{ActionReadAll},
			},
		},
	}
	WriteAllRole = Config{
		Rules: []Rule{
			{
				Resources: []Resource{ResourceAny},
				Actions:   []Action{ActionWriteAll},
			},
		},
	}
	AdminAllRole = Config{
		Rules: []Rule{
			{
				Resources: []Resource{ResourceAny},
				Actions:   []Action{ActionAdminAll},
			},
		},
	}
)

Functions

func Evaluate

func Evaluate(requestedResource Resource, requestedAction Action, configs []Config) bool

Types

type Action

type Action string

type Config

type Config struct {
	Rules []Rule `yaml:"rules,omitempty"`
}

type Effect

type Effect string

type Resource

type Resource string

type Rule

type Rule struct {
	Resources []Resource `yaml:"resources,omitempty"`
	Actions   []Action   `yaml:"actions,omitempty"`
	Effect    Effect     `yaml:"effect,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL