package identity
Identity management inspired by Hashicorp Vault's secret storage model. com.cisco.streambed.identity.Principal objects represent a entity that has attempted to authenticate. An authenticated entity yields a com.cisco.streambed.identity.Principal.AuthenticationToken by which secrets can then be requested against a com.cisco.streambed.identity.SecretStore. Secret stores can come in many forms and are selected by using a com.cisco.streambed.identity.SecretStore.Provider. See the streambed.identity.iox package for one such implementation.
- Alphabetic
- By Inheritance
- identity
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
- package iox
Provides a com.cisco.streambed.identity.SecretStore implementation integrated with the IOx Secret Storage Service.
- package model
The DAO model of the streambed identity package
- package noop
- package vault
Type Members
- final class Principal extends AnyRef
Holds functions that can be used to interact with the authentication and authorization systems, allowing you to authenticate and manage secrets.
- abstract class SecretStore extends AnyRef
A
SecretStore
contains four methods,authenticate
,getAuthenticatedSecret
,putAuthenticatedSecret
, and 'removeAuthenticatedSecret' that are used to manage secrets. - final class UserpassSecretStore extends SecretStore
A proxy secret store that uses another secret store to authenticate users from a secrets.users path.
A proxy secret store that uses another secret store to authenticate users from a secrets.users path. If a user can be authenticated with information available at the secrets.users path then the user can act as a proxy for subsequent secret access. For example, config and SSS secret stores require this proxy as they do not hold the notion of user principals beyond applications, yet we need to manage such users in the system. Secret stores such as Vault do not require this class. For example, Vault already provides its own user-password authentication method.
Passwords are assumed to be hashed using SHA-512 and stored as hex string values in the secret store.
Value Members
- object Crypto
Provides functions to encrypt/decrypt data having first obtained a secret successfully
- object Principal
- object SecretStore
- object UserManagement
Describes types for managing users, i.e.
Describes types for managing users, i.e. adding/updating/deleting them given usernames and passwords.
- object UserpassSecretStore