Class SecurityStore

java.lang.Object
org.yamcs.security.SecurityStore

public class SecurityStore extends Object
Responsible for Identity and Access Management (IAM).

Some security properties can be tweaked in security.yaml

  • Constructor Details

  • Method Details

    • isEnabled

      public boolean isEnabled()
      Returns true if security features are activated.
    • addSystemPrivilege

      public void addSystemPrivilege(SystemPrivilege privilege)
    • addObjectPrivilegeType

      public void addObjectPrivilegeType(ObjectPrivilegeType privilegeType)
    • getDirectory

      public Directory getDirectory()
    • getSessionManager

      public SessionManager getSessionManager()
    • getAuthModules

      public List<AuthModule> getAuthModules()
    • getAuthModule

      public <T extends AuthModule> T getAuthModule(Class<T> clazz)
    • getSystemPrivileges

      public Set<SystemPrivilege> getSystemPrivileges()
    • getObjectPrivilegeTypes

      public Set<ObjectPrivilegeType> getObjectPrivilegeTypes()
    • getAccessTokenLifespan

      public int getAccessTokenLifespan()
      Returns the lifespan of access tokens (in milliseconds)
    • getSystemUser

      public User getSystemUser()
      Returns the system user. This user object is only intended for internal use when actions require a user, yet cannot be linked to an actual user. The System user is granted all privileges.
    • getGuestUser

      public User getGuestUser()
    • login

      Performs the login process. Depending on how Yamcs is configured, this may involve reaching out to an external identity provider. If the login attempt is successful, the associated user is imported or resynchronized in the Yamcs internal user database.

      This method does not return a User object. Use getDirectory().

      Returns:
      a future that resolves to the AuthenticationInfo when the login was successful. This contains the username as well as any other principals or credentials specific to a custom identity provider.
    • getUserFromCache

      public User getUserFromCache(String username)
    • verifyValidity

      public boolean verifyValidity(AuthenticationInfo authenticationInfo)
    • getUsernameForApiKey

      public String getUsernameForApiKey(String apiKey)
    • generateApiKey

      public String generateApiKey(String username)
    • removeApiKey

      public void removeApiKey(String apiKey)