--- layout: docs page_title: Domain Model - Credentials description: |- The anatomy of a Boundary credential --- # Credentials A credential is a data structure containing one or more secrets that binds an identity to a set of permissions or capabilities on a [host][] for a [session][]. ## Credential types Optionally, credentials can be typed to indicate compliance with a specific format. The following credential types are supported in Boundary: - [Username password](#username-password) - [SSH private key](#ssh-private-key) - [SSH certificate](#ssh-certificate) - [JSON](#json) ### Username password `username_password` credentials contain the following fields: - `username` - The username field associated with the credential. - `password` - The password field associated with the credential. ### SSH private key `ssh_private_key` credentials contain the following fields: - `username` - The username field associated with the credential. - `private_key` - The private key field associated with the credential. ### SSH certificate `ssh_certificate` credentials contain the following fields: - `username` - The username field associated with the credential. - `ssh_certificate` - The SSH certificate associated with the credential. ### JSON As of Boundary 0.11.0, you can provide credentials using a JSON blob. There is no required structure for the JSON blob, other than it must be a key value map. JSON credentials are only brokered to users that connect to machines. ## Referenced by - [Credential Store][] - [Credential Library][] - [Session][] - [Target][] [credential library]: /boundary/docs/concepts/domain-model/credential-libraries [credential libraries]: /boundary/docs/concepts/domain-model/credential-libraries [credential store]: /boundary/docs/concepts/domain-model/credential-stores [credential stores]: /boundary/docs/concepts/domain-model/credential-stores [host]: /boundary/docs/concepts/domain-model/hosts [session]: /boundary/docs/concepts/domain-model/sessions [target]: /boundary/docs/concepts/domain-model/targets