Files
threshold/website/content/docs/concepts/domain-model/index.mdx
T

152 lines
5.1 KiB
Plaintext

---
layout: docs
page_title: Domain Model Index
description: |-
Reference documentation for Boundary's domain model.
---
# Overview
Boundary has a rich domain model
consisting of resources that represent
[IAM][] principals,
infrastructure,
and the means to tie them together.
This section contains information about the various resources within the domain
and how they relate to each other.
![](/img/boundary-domain-model-overview.jpg)
## Resources
A resource is any element in Boundary
to which principals may be granted [permissions][].
All resources have an ID which is unique within Boundary.
### Summary of Resources
- **[Account][]** :
An account is a resource
that represents a unique set of credentials
issued from a configured [authentication method][]
which can be used to establish the identity of a [user][].
- **[Credential][]** :
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 Library][]** :
A credential library is a resource
that provides [credentials][]
of the same type and same access level
from a single [credential store][].
- **[Credential Store][]** :
A credential store is a resource
that can retrieve, store, and potentially generate [credentials][]
of differing types and differing access levels.
It may also contain [credential libraries][].
- **[Authentication Method][]** :
An authentication method is a resource
that provides a mechanism
for [users][] to authenticate to Boundary.
- **[Group][]** :
A group is a resource
that represents a collection of [users][]
which can be treated equally
for the purposes of access control.
- **[Host][]** :
A host is a resource
that represents a computing element with a network address
reachable from Boundary.
- **[Host Catalog][]** :
A host catalog is a resource
that contains [hosts][] and [host sets][].
- **[Host Set][]** :
A host set is a resource
that represents a collection of [hosts][]
which are considered equivalent
for the purposes of access control.
- **[Managed Group][]** :
A managed group is a resource that groups [accounts][] based on criteria
established by a third-party service backing the [authentication method][]. It
can be used as a principal in [roles][].
- **[Role][]** :
A role is a resource
that contains a collection of [permissions][]
which are granted to any principal assigned to the role.
- **[Session][]** :
A session is a set of related connections between a [user][] and a [host][].
A session may include a set of [credentials][]
which define the permissions granted to the [user][] on the [host][] for the duration
of the session.
- **[Scope][]** :
A scope is a [permission][] boundary modeled as a container.
- **[Target][]** :
A target is a resource
that represents a networked service
with an associated set of permissions
a [user][] can connect to
and interact with
through Boundary
by way of a [session][].
- **[User][]** :
A user is a resource
that represents an individual person or entity
for the purposes of access control.
## Next Steps
When getting started with Boundary,
the first resource to look at should probably be [Scopes][].
Every other resources is either contained within a scope,
or contained within another resource
that is itself contained within a scope.
That page can help you understand the structure of resources within Boundary.
[iam]: https://en.wikipedia.org/wiki/Identity_management
[account]: /docs/concepts/domain-model/accounts
[accounts]: /docs/concepts/domain-model/accounts
[authentication method]: /docs/concepts/domain-model/auth-methods
[authentication methods]: /docs/concepts/domain-model/auth-methods
[credential library]: /docs/concepts/domain-model/credential-libraries
[credential libraries]: /docs/concepts/domain-model/credential-libraries
[credential store]: /docs/concepts/domain-model/credential-stores
[credential stores]: /docs/concepts/domain-model/credential-stores
[credential]: /docs/concepts/domain-model/credentials
[credentials]: /docs/concepts/domain-model/credentials
[group]: /docs/concepts/domain-model/groups
[groups]: /docs/concepts/domain-model/groups
[host catalog]: /docs/concepts/domain-model/host-catalogs
[host catalogs]: /docs/concepts/domain-model/host-catalogs
[host set]: /docs/concepts/domain-model/host-sets
[host sets]: /docs/concepts/domain-model/host-sets
[host]: /docs/concepts/domain-model/hosts
[hosts]: /docs/concepts/domain-model/hosts
[managed group]: /docs/concepts/domain-model/managed-groups
[role]: /docs/concepts/domain-model/roles
[roles]: /docs/concepts/domain-model/roles
[scope]: /docs/concepts/domain-model/scopes
[scopes]: /docs/concepts/domain-model/scopes
[project]: /docs/concepts/domain-model/scopes#projects
[session]: /docs/concepts/domain-model/sessions
[sessions]: /docs/concepts/domain-model/sessions
[target]: /docs/concepts/domain-model/targets
[targets]: /docs/concepts/domain-model/targets
[user]: /docs/concepts/domain-model/users
[users]: /docs/concepts/domain-model/users
[permission]: /docs/concepts/security/permissions
[permissions]: /docs/concepts/security/permissions