Skip to content

Capabilities

Capabilities

Summary

A mytoken can only be used for the actions allowed by its capabilities.

While the primary usage of a mytoken is to obtain access tokens, it can also be used for other actions. Similar to OIDC scopes the capabilities of a mytoken define the allowed actions for that token.

These are the defined capabilities and the actions they allow:

AT

This can be considered the 'standard' capability. A mytoken with the AT capability can be used to obtain access tokens.

create_mytoken

A mytoken with the create_mytoken capability can be used to create a new (sub-)mytoken. The new mytoken cannot be more powerful than the original token.

Example

  • If the original token expires in 7 days, the new sub-token cannot be valid for a longer period.
  • A created sub-mytoken can only have capabilities that the original mytoken already has.

tokeninfo

The tokeninfo capability is a "parent"-capability for all capabilities that start with tokeninfo:, i.e. the following three ones. A mytoken with the tokeninfo capability can be used for all actions that are allowed by any of these capabilities.

tokeninfo:introspect:

A mytoken with the tokeninfo:history capability can be used to obtain basic information about itself. This includes the token's content (useful for short tokens) and if restrictions are defined that limit the number of usages this also allows to query how often the mytoken was already used. Introspection calls are not counted as usages with regard to the restriction.

tokeninfo:history

A mytoken with the tokeninfo:history capability can be used to obtain the event history for that token, i.e. this allows you to see how / when this token was used.

tokeninfo:subtokens

A mytoken with the tokeninfo:subtokens capability can be used to get information about all subtokens (and their subtokens and so on).

list_mytokens

A mytoken with the list_mytokens capability can be used to list the revocation id and some basic information about all your existing mytokens.

revoke_any_token

A mytoken with the revoke_any_token capability can revoke any mytoken by its revocation id. Normally, a mytoken can only revoke itself or a subtoken. This capability allows to also revoke other tokens.

settings

A mytoken with the settings capability can be used to change user settings, in particular it allows control over your so called grant types - these are the methods how you authorize.

Hint

At the moment the settings capability is primarily allows control over the ssh grant type. In future versions the power of this capability might be extended.

Important

The settings capability is - like the tokeninfo capability - a capability that has sub-capabilities. A mytoken with the settings capability will also have all its sub-capabilities (and theirs). Therefore, and because these capabilities are sensitive the settings capability is a really powerful one.

read@settings

Allows read access to all user settings, i.e. it includes all capabilities starting with read@settings:.

settings:grants

A Mytoken with the settings:grants capability can be used to make changes to the user grants. This means that additional grant types (ways to obtain mytokens) can be enabled, disabled, and configured.

Currently, only the ssh user grant is available.

read@settings:grants

Allows read access to the user grants.

settings:grants:ssh

A mytoken with the settings:grants:ssh capability can be used to enable, disable, and configure the ssh user grant.

read@settings:grants:ssh

Allows read access to the ssh user grant, i.e. it allows to query the list of enabled ssh keys and if the grant type itself is enabled or not.


Last update: September 2, 2022 09:18:24
Back to top