-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Update device trust docs #30821
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update device trust docs #30821
Changes from all commits
c939730
23738a0
dcac8da
c1944a1
ebc5f81
b253a4c
1efbf53
84877a3
d5ac270
5593d8d
b588320
deaa15e
5ca85df
74d0302
508f1c3
bffb276
25ab512
b6eceed
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,31 +1,97 @@ | ||
| --- | ||
| title: Device Trust (Preview) | ||
| description: Use and enforce trusted devices with Teleport | ||
| description: Teleport Device Trust Concepts | ||
|
flyinghermit marked this conversation as resolved.
|
||
| layout: tocless-doc | ||
| videoBanner: gBQyj_X1LVw | ||
| --- | ||
|
|
||
| <Admonition type="warning"> | ||
| Device Trust is currently in Preview mode. | ||
| Device Trust is currently in Preview mode and supports following components: | ||
|
|
||
| - User devices: macOS and Windows. | ||
| - Teleport client: `tsh` and Teleport connect. | ||
| - Resources: SSH, Database and Kubernetes. | ||
|
|
||
| Support for other operating systems, access from Web UI and application | ||
| access is planned for upcoming Teleport versions. | ||
| </Admonition> | ||
|
|
||
| ## Concepts | ||
|
|
||
| Device Trust allows Teleport admins to enforce the use of trusted devices. | ||
| Resources protected by the device mode "required" will enforce the use of a | ||
| trusted device, in addition to establishing the user's identity and enforcing | ||
| the necessary roles. Furthermore, users using a trusted device leave audit | ||
| trails that include the device's information. | ||
|
|
||
| The device trust preview works on macOS and Windows devices and supports the | ||
| following Teleport features: | ||
| Device Trust requires two of the following steps to have been configured: | ||
|
|
||
| - Trusted device registered and enrolled with Teleport. | ||
| - Device enforcement mode configured via either a role or a cluster-wide config. | ||
|
|
||
| Categorically, we define these two requirements as Trusted Device management | ||
| and Device Trust enforcement. | ||
|
Comment on lines
+32
to
+33
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could we either say "Trusted Device management/enforcement" or "Device Trust management/enforcement", so there's less difference between terms?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I hear you on this one. Between "Trusted Device management/enforcement" and "Device Trust management/enforcement", I prefer the first one as it is close to how device trust works(enrolling trusted devices, enforcing trusted device access). Though the Device Trust Enforcement also aligns with the configuration semantics as the rule to enforce device is Also tagging @zmb3 for more suggestions. |
||
|
|
||
| ## Trusted Device management | ||
|
|
||
| Device management is divided into two separate phases: inventory management and | ||
| device enrollment. | ||
|
|
||
| **Inventory management** is performed by a device admin. In this step, devices | ||
| are registered or removed from Teleport. For example, this happens when the IT | ||
| department of your company acquires new devices, or retires devices from use. | ||
|
|
||
| Inventory management can be manually operated using `tctl` or automatically synced | ||
| with a Mobile Device Management (MDM) solution such as Jamf Pro. | ||
|
|
||
| **Device enrollment** is performed either by a device admin or by the end-user, | ||
| at your discretion. This is the step that creates the Secure Enclave private key | ||
| in the device and registers its public key counterpart with the Teleport Auth | ||
| Server. Enrollment has to run on the actual device that you want to enroll. For | ||
| example, this happens when a user gets a new device for the first time, or when | ||
| IT prepares a new device for a user. Enrollment only needs to happen once per | ||
| user/device combination. | ||
|
|
||
| Enrollment exchanges an enrollment token, created by a | ||
| device admin, for the opportunity to enroll the corresponding device. | ||
|
|
||
| ### How trust is established with the device | ||
|
|
||
| Device Trust leverages dedicated secure hardware in devices to store device credentials | ||
| and perform device challenges. The specific implementation varies between types of devices. | ||
|
|
||
| On macOS devices, Device Trust uses the Secure Enclave in order to store a | ||
| device private key. That key is used to solve device challenges issued by the | ||
| Teleport Auth Service, proving the identity of the trusted device. | ||
|
|
||
| On Windows devices, a Trusted Platform Module (TPM) is used to perform an | ||
| attestation as to the state of the device. This attestation is signed by a | ||
| private key that is also protected by the TPM. | ||
|
|
||
| The signed attestation ensures that the Teleport Auth Service knows both the state | ||
| of the device and that the request has come from the device. | ||
|
|
||
| That said, a device is as "trustworthy" as the enrollment process. If enrollment operator | ||
| enrolls a malicious device to Teleport, establishing trust with Secure Enclave or TPM is | ||
| already defeated at this point. The more trusted the enrollment environment and operator, | ||
| the better the ongoing guarantees that the device itself is trustworthy. | ||
|
|
||
| ## Device Trust enforcement | ||
|
|
||
| Enforcing Device Trust means configuring Teleport with device trust mode, i.e. applying | ||
| `device_trust_mode: required` rule, which tells Teleport Auth Service to only allow access | ||
|
flyinghermit marked this conversation as resolved.
|
||
| with a trusted and an authenticated device, in addition to establishing the user's identity and enforcing | ||
| the necessary roles. | ||
|
|
||
| - SSH access enforcement | ||
| - Database access enforcement | ||
| - Kubernetes access enforcement | ||
| Teleport supports two methods for device enforcement: Role-based | ||
| enforcement and Cluster-wide enforcement. | ||
|
|
||
| Support for other operating systems and access features is planned for upcoming | ||
| Teleport versions. | ||
| - **Role-based enforcement** can be used to enforce Device Trust at role level, using RBAC. | ||
| - **Cluster-wide enforcement** can be used to enforce Device Trust at cluster level. | ||
|
|
||
| ## Guides | ||
|
|
||
| - [Set Up Device Trust](./device-trust/guide.mdx) | ||
| - [Set Up Auto-Enrollment](./device-trust/auto-enrollment.mdx) | ||
| - [Getting Started with Device Trust](./device-trust/guide.mdx) | ||
| - [Device Management](./device-trust/device-management.mdx) | ||
| - [Enforcing Device Trust](./device-trust/enforcing-device-trust.mdx) | ||
| - [Jamf Pro Integration](./device-trust/jamf-integration.mdx) | ||
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.