Documentation
¶
Overview ¶
Package access provides the services for managing users and permissions in Juju. The users side is mainly concerned with authentication and the permissions side with authorization.
External users (i.e. users with an external domain in their user name e.g. someone@external) can inherit permissions from the everyone@external user.
The permissions for everyone@external act like a group for external users. When any external users permissions are read the users access level will be compared against the access level of everyone@external. If everyone@external user has a higher access level then the external user will inherit the higher level. This check is performed every time an external users permissions are read.
If an external user inherits its login permission from everyone@external then it should be created as a user in the database on login.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CredentialOwnerModelAccess ¶
type CredentialOwnerModelAccess struct { ModelName string `db:"model_name"` OwnerAccess permission.Access `db:"access_type"` }
CredentialOwnerModelAccess stores cloud credential model information for the credential owner or an error retrieving it.
type UpdatePermissionArgs ¶
type UpdatePermissionArgs struct { // AccessSpec is what the permission access should change to // combined with the target the subject's permission to is being // updated on. AccessSpec permission.AccessSpec // What type of change to access is needed, grant or revoke? Change permission.AccessChange // Subject is the subject of the permission, e.g. user. Subject user.Name }
UpdatePermissionArgs are necessary arguments to run UpdatePermissionOnTarget.
func (UpdatePermissionArgs) Validate ¶
func (args UpdatePermissionArgs) Validate() error