Skip to content

Commit 4ffb21f

Browse files
Dan-Heathlearhyirenarindosjohanbrandhorst
authored
docs: Version 0.20.0 docs (#6085)
* Update documentation to include RDP in credential injection * Update FAQ on Boundary and Vault integration Fixed typo. * update documentation on credential stores and workflows for RDP * update static credential store documentation to include upd credential creation * update documentation for credential injection setup * Update 'credentials create' command documentation for upd credential type * fixed typo in UPD options * Update create.mdx with instructions for RDP targets * Create rdp-testing-and-compatibility-matrix.mdx * Update rdp-testing-and-compatibility-matrix.mdx * Update rdp-testing-and-compatibility-matrix.mdx * Update to mention ldap secrets engine * Update rdp-testing-and-compatibility-matrix.mdx to get rid of ticket number * updated to include mention of vault kv and chad suggestions Updated with Chad's suggestions and vault kv * Update rdp-testing-and-compatibility-matrix.mdx Found another place where I neglected the vault kv * docs: Style updates * docs: Clean up beta references, adds update commands * docs: Edits, update domain model topics * docs: Add target address caveats * docs: Edit network config section * docs: Use custom port number to connect * docs: Adds anchor link, beta tag * docs: Respond to feedback * docs: Cleanup for consistency, remove known issue * docs: Cleanup and minor fixes * docs: Add link to create issue * docs: Add direct address note to targets CLI topics * Update website/content/docs/concepts/credential-management.mdx Co-authored-by: Irena Rindos <[email protected]> * docs: Remove beta references from target and credentials * docs: Remove Vault cred store ID * docs: Remove SSH cert from brokered creds * docs: Remove session recording options * docs: Adds UPD to credential stores domain model topic * Update website/content/docs/credentials/rdp-testing-and-compatibility-matrix.mdx Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> * Update website/content/docs/credentials/rdp-testing-and-compatibility-matrix.mdx Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> * docs: Remove session recording options * docs: Update limitations and configuration * Update website/content/docs/credentials/configure-credential-injection.mdx Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> * docs: Update default port commands * docs: Add known issue for error * docs: Fix typo * Update website/content/docs/credentials/rdp-testing-and-compatibility-matrix.mdx Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> * docs: Add certificate acceptance to Windows * docs: Reorder UPD options * docs: Add NTLMV2 to cred management statement * docs: Update Windows Remote Desktop Connection error * docs: Clarify domain behavior * docs: Fix back ticks on command options * docs: Update command format in definition * docs: Clarify port conflict with Remote Desktop app * docs: Update RDP target address caveat * docs: Release notes 0.20.0 * docs: Minor edit * docs: Vercel build * docs: Deletes older important changes --------- Co-authored-by: Dan Rohan <[email protected]> Co-authored-by: Dan Rohan <[email protected]> Co-authored-by: Irena Rindos <[email protected]> Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]>
1 parent 8d158e7 commit 4ffb21f

19 files changed

+778
-64
lines changed

website/content/docs/commands/credentials/create.mdx

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: docs
33
page_title: credentials create - Command
44
description: >-
5-
The "credentials create" command creates new credential resources. You can create JSON, SSH private key, and username-password credentials.
5+
The "credentials create" command creates new credential resources. Available types are json, ssh-private-key, username-password, and username-password-domain.
66
---
77

88
# credentials create
@@ -76,7 +76,7 @@ You can also specify the credential store using the **BOUNDARY_CREDENTIAL_STORE_
7676

7777
#### Usages by type
7878

79-
The available types are `json`, `ssh-private-key`, and `username-password`.
79+
The available types are `json`, `ssh-private-key`, `username-password`, and `username-password-domain`.
8080

8181
<Tabs>
8282
<Tab heading="JSON">
@@ -199,6 +199,48 @@ The following options are specific to username password credentials in addition
199199
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
200200
- `-username` `(string: "")` - The username associated with the credential.
201201

202+
</Tab>
203+
<Tab heading="Username password domain">
204+
205+
The `credentials create username-password-domain` command lets you create a username password domain credential type for Active Directory authentication.
206+
207+
Username password domain credentials are primarily used with RDP targets for credential injection.
208+
209+
#### Example
210+
211+
The following example creates a username password domain credential in a credential store with the ID `csst_1234567890`:
212+
213+
```shell-session
214+
boundary credentials create username-password-domain \
215+
-credential-store-id csst_1234567890 \
216+
-username administrator \
217+
-password env://ADMIN_PASSWORD \
218+
-domain company.com
219+
```
220+
221+
#### Usage
222+
223+
<CodeBlockConfig hideClipboard>
224+
225+
```shell-session
226+
boundary credentials create username-password-domain [options] [args]
227+
```
228+
</CodeBlockConfig>
229+
230+
231+
#### Username password domain credential options
232+
233+
The following options are specific to username password domain credentials in addition to the command options:
234+
235+
- `domain` `(string: "")` - The Active Directory domain name. If you include the domain in the `username` field, Boundary automatically fills in the domain information.
236+
237+
For example, if you enter `admin@mydomain` or `mydomain\admin` in the `username` field, Boundary automatically completes the `domain` field with `mydomain`.
238+
239+
- `password` `(string: "")` - The password associated with the credential. This value can be a reference to a file on disk (file://) or an environment variable (env://) from which Boundary reads the value.
240+
241+
- `username` `(string: "")` - The username associated with the credential. This value can include domain information in `username@domain` or `domain\username` format.
242+
243+
202244
</Tab>
203245
</Tabs>
204246

website/content/docs/commands/credentials/update.mdx

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ If you don't specify a version, the command performs a check-and-set automatical
7777

7878
#### Usages by type
7979

80-
The available types are `json`, `ssh-private-key`, and `username-password`.
80+
The available types are `json`, `ssh-private-key`, `username-password`, and `username-password-domain`.
8181

8282
<Tabs>
8383
<Tab heading="JSON">
@@ -202,6 +202,45 @@ The following options are specific to username password credentials in addition
202202
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
203203
- `-username` `(string: "")` - The username associated with the credential.
204204

205+
</Tab>
206+
<Tab heading="Username password domain">
207+
208+
The `credentials update username-password-domain` command lets you update an existing username password domain credential type.
209+
210+
Username password domain credentials are primarily used with RDP targets for credential injection.
211+
212+
#### Example
213+
214+
The following example updates a username password domain credential with the ID `csst_1234567890`:
215+
216+
```shell-session
217+
boundary credentials update username-password-domain \
218+
-id csst_1234567890 \
219+
-name devops \
220+
-description "For DevOps usage" \
221+
```
222+
223+
#### Usage
224+
225+
<CodeBlockConfig hideClipboard>
226+
227+
```shell-session
228+
boundary credentials update username-password-domain [options] [args]
229+
```
230+
</CodeBlockConfig>
231+
232+
#### Username password domain credential options
233+
234+
The following options are specific to username password domain credentials in addition to the command options:
235+
236+
- `domain` `(string: "")` - The Active Directory domain name. If you include the domain in the `username` field, Boundary automatically fills in the domain information.
237+
238+
For example, if you enter `admin@mydomain` or `mydomain\admin` in the `username` field, Boundary automatically completes the `domain` field with `mydomain`.
239+
240+
- `password` `(string: "")` - The password associated with the credential. This value can be a reference to a file on disk (file://) or an environment variable (env://) from which Boundary reads the value.
241+
242+
- `username` `(string: "")` - The username associated with the credential. This value can include domain information in `username@domain` or `domain\username` format.
243+
205244
</Tab>
206245
</Tabs>
207246

website/content/docs/commands/targets/create.mdx

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,68 @@ $ boundary targets create [type] [sub command] [options] [args]
2929
Please see the typed subcommand help for detailed usage information.
3030
3131
Subcommands:
32-
ssh Create a ssh-type target (HCP only)
32+
rdp Create an rdp-type target (HCP & Boundary Enterprise only)
33+
ssh Create a ssh-type target (HCP & Boundary Enterprise only)
3334
tcp Create a tcp-type target
3435
```
3536

3637
</CodeBlockConfig>
3738

3839
### Usages by type
3940

40-
You can create SSH or TCP targets.
41+
You can create RDP, SSH, or TCP targets.
4142

4243
<Tabs>
44+
<Tab heading="RDP">
45+
46+
The `targets create rdp` command lets you create RDP targets.
47+
48+
#### Example
49+
50+
This example creates an RDP target with the name `admindc` and the description `RDP target for Admin Domain Controller`:
51+
52+
```shell-session
53+
$ boundary targets create rdp -name admindc -description "RDP target for Admin Domain Controller"
54+
```
55+
56+
#### Usage
57+
58+
<CodeBlockConfig hideClipboard>
59+
60+
```shell-session
61+
$ boundary targets create rdp [options] [args]
62+
```
63+
64+
</CodeBlockConfig>
65+
66+
#### RDP target options
67+
68+
- `-address=<string>` - An optional valid network address for the target to connect to.
69+
You cannot use an address alongside host sources.
70+
71+
If you set a target address for RDP targets that use Kerberos authentication, use the target's hostname and append the domain to it, for example `target-hostname.mydomain.com`. For RDP targets that use NTLM authentication, set the target address to the target's IP address.
72+
- `-default-client-port=<string>` - The default client port on the target.
73+
- `-default-port=<string>` - The default port on the target.
74+
Due to a port conflict on modern Windows operating systems (Windows 11+, Windows Server 2025), transparent sessions cannot use the default RDP port `3389`.
75+
You must configure a custom port to use transparent sessions with RDP targets.
76+
77+
Refer to [Using transparent sessions with RDP on Windows](/boundary/docs/credentials/rdp-testing-and-compatibility-matrix#using-transparent-sessions-with-rdp-on-windows) for more information about configuring a custom port for transparent sessions.
78+
- `-egress-worker-filter=<string>` - A Boolean expression that filters which egress workers can process sessions for the target.
79+
- `-ingress-worker-filter=<string>` - A Boolean expression that filters which ingress workers can process sessions for the target.
80+
- `-session-connection-limit=<string>` - The maximum number of connections allowed for a session.
81+
A value of `-1` means the connections are unlimited.
82+
- `-session-max-seconds=<string>` - The maximum lifetime of the session, including all connections.
83+
You can specify an integer number of seconds or a duration string.
84+
If you do not specfiy a maximum duration, Boundary uses the default value of 8 hours (28800 seconds).
85+
- `-with-alias-authorize-session-host-id=<string>` - The host ID that an alias uses to authorize sessions for the target.
86+
- `-with-alias-scope-id=<string>` - The scope ID that you want to create the target and alias in.
87+
The default is `global`.
88+
At this time, aliases are only supported for the global scope.
89+
- `-with-alias-value=<string>` - The value of the alias that you want to use to represent the target.
90+
Use this parameter to create the alias and target, and associate them with each other, at the same time.
91+
92+
93+
</Tab>
4394
<Tab heading="SSH">
4495

4596
The `targets create ssh` command lets you create SSH targets.
@@ -133,4 +184,4 @@ Use this parameter to create the alias and target, and associate them with each
133184
</Tab>
134185
</Tabs>
135186

136-
@include 'cmd-option-note.mdx'
187+
@include 'cmd-option-note.mdx'

website/content/docs/commands/targets/update.mdx

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,61 @@ $ boundary targets update [type] [sub command] [options] [args]
2929
Please see the typed subcommand help for detailed usage information.
3030
3131
Subcommands:
32-
ssh Update a ssh-type target (HCP only)
32+
rdp Update an rdp-type target (HCP & Boundary Enterprise only)
33+
ssh Update a ssh-type target (HCP & Boundary Enterprise only)
3334
tcp Update a tcp-type target
3435
```
3536

3637
</CodeBlockConfig>
3738

3839
### Usages by type
3940

40-
You can update SSH or TCP targets.
41+
You can update RDP, SSH, or TCP targets.
4142

4243
<Tabs>
44+
<Tab heading="RDP">
45+
46+
The `targets update rdp` command lets you update existing RDP targets.
47+
48+
#### Example
49+
50+
This example updates an RDP target with the id `rdp_1234567890` to add the name `devops` and the description `RDP target for DevOps`:
51+
52+
```shell-session
53+
$ boundary targets update rdp -id trdp_1234567890 -name "devops" -description "RDP target for DevOps"
54+
```
55+
56+
#### Usage
57+
58+
<CodeBlockConfig hideClipboard>
59+
60+
```shell-session
61+
$ boundary targets update rdp [options] [args]
62+
```
63+
64+
</CodeBlockConfig>
65+
66+
#### RDP target options
67+
68+
- `-address=<string>` - An optional valid network address for the target to connect to.
69+
You cannot use an address alongside host sources.
70+
71+
If you set a target address for RDP targets that use Kerberos authentication, use the target's hostname and append the domain to it, for example `target-hostname.mydomain.com`. For RDP targets that use NTLM authentication, set the target address to the target's IP address.
72+
- `-default-client-port=<string>` - The default client port on the target.
73+
- `-default-port=<string>` - The default port on the target.
74+
Due to a port conflict on modern Windows operating systems (Windows 11+, Windows Server 2025), transparent sessions cannot use the default RDP port `3389`.
75+
You must configure a custom port to use transparent sessions with RDP targets.
76+
77+
Refer to [Using transparent sessions with RDP on Windows](/boundary/docs/credentials/rdp-testing-and-compatibility-matrix#using-transparent-sessions-with-rdp-on-windows) for more information about configuring a custom port for transparent sessions.
78+
- `-egress-worker-filter=<string>` - A Boolean expression that filters which egress workers can process sessions for the target.
79+
- `-ingress-worker-filter=<string>` - A Boolean expression that filters which ingress workers can process sessions for the target.
80+
- `-session-connection-limit=<string>` - The maximum number of connections allowed for a session.
81+
A value of `-1` means the connections are unlimited.
82+
- `-session-max-seconds=<string>` - The maximum lifetime of the session, including all connections.
83+
You can specify an integer number of seconds or a duration string.
84+
If you do not specfiy a maximum duration, Boundary uses the default value of 8 hours (28800 seconds).
85+
86+
</Tab>
4387
<Tab heading="SSH">
4488

4589
The `targets update ssh` command lets you update SSH targets.

website/content/docs/concepts/credential-management.mdx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ The credential brokering process works as follows:
3333

3434
The user is authenticated to the target.
3535

36-
You can attach brokered credentials to either TCP targets or SSH targets.
37-
Brokered credentials can take the form of a token, username and password, SSH private key, certificate, JSON blob, or an unstructured secret stored in Vault, for example.
36+
You can attach brokered credentials to SSH, TCP, or RDP targets.
37+
Brokered credentials can take the form of a token, username password, username password domain, JSON blob, or an unstructured secret stored in Vault, for example.
3838

3939
### Security considerations
4040

@@ -87,7 +87,18 @@ The credential injection process works as follows:
8787
Then the controller passes credentials to the worker.
8888
The worker authenticates to the target, and the user is then authenticated to the target.
8989

90-
Credential injection is required for the SSH target type, allowing users to inject the following credential types when they access targets using SSH:
90+
### Target types
91+
92+
Credential injection is required for the RDP and SSH target types.
93+
94+
<Note>
95+
96+
RDP credential injection is currently in beta.
97+
For more information about known issues, configuration requirements, and compatibility with Windows, refer to [RDP credential injection compatibility](/boundary/docs/credentials/rdp-testing-and-compatibility-matrix).
98+
99+
</Note>
100+
101+
You can inject the following credential types when you access SSH targets:
91102

92103
- SSH certificates
93104
- Usernames and passwords
@@ -96,7 +107,9 @@ Credential injection is required for the SSH target type, allowing users to inje
96107
Keyboard-interactive authentication is not supported for credential injection.
97108
When you use Username password credentials, ensure that your SSH server is configured to allow password authentication.
98109

99-
You can broker additional credentials to SSH targets after the session is established using injected credentials.
110+
You can inject username password domain credentials when you access RDP targets in Windows environments that use Active Directory or NTLMv2 for authentication.
111+
112+
You can broker additional credentials to RDP or SSH targets after the session is established using injected credentials.
100113

101114
### Security considerations
102115

@@ -124,6 +137,8 @@ Refer to the [Manage SSH keys with HCP Boundary and Vault](/boundary/tutorials/h
124137

125138
## More information
126139

140+
Refer to [Credentials in Boundary](/boundary/docs/credentials) to learn more about how Boundary centralizes credential management to enhance security.
141+
127142
To configure credential brokering or credential injection with static credentials, refer to the following topics:
128143

129144
- [Create a static credential store](/boundary/docs/credentials/static-cred-boundary)

website/content/docs/credentials/configure-credential-injection.mdx

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,30 @@ description: >-
1010
<EnterpriseAlert product="boundary">This feature requires <a href="https://www.hashicorp.com/products/boundary">HCP Boundary or Boundary Enterprise</a></EnterpriseAlert>
1111

1212
The following section provides steps to configure your targets with credential injection.
13-
Credential injection provides end users with a passwordless experience when they connect to targets.
13+
Credential injection provides end users with a passwordless experience when they connect to targets by automatically injecting credentials without exposing them to the user.
14+
15+
Credential injection is supported for:
16+
- **SSH targets**: Protocol-aware SSH connections
17+
- **RDP targets**: Protocol-aware RDP connections (BETA)
18+
19+
@include 'alerts/beta.mdx'
1420

1521
## Requirements
1622

1723
- This feature requires either <a href="https://www.hashicorp.com/products/boundary">HCP Boundary or Boundary Enterprise</a>
18-
- You must have an existing target available. If you use the SSH target type, the target must be configured with an injected application credential.
19-
24+
- You must have an existing target available that supports credential injection:
25+
- **RDP targets**: Must be configured with at least one injected application credential
26+
- **SSH targets**: Must be configured with at least one injected application credential
27+
- **TCP targets**: Do not support credential injection
2028
- You must have configured either a static credential store or a Vault credential store:
2129

2230
- To configure a static credential store, refer to [Create static credential stores](/boundary/docs/credentials/static-cred-boundary).
2331
- To configure a Vault credential store and credential library, refer to [Create Vault credential stores](/boundary/docs/credentials/static-cred-vault).
2432

2533
- You must have a static credential saved in your static credential store or Vault credential store. The credential must correspond to the target to which you want to authenticate.
2634

27-
- Keyboard-interactive authentication is not supported. When you use Username password credentials, ensure that your SSH server is configured to allow password authentication.
35+
- **For RDP targets**: Network Level Authentication (NLA) is supported. Kerberos and NTLMv2 authentication methods are supported for domain-joined workers. NTLMv2 is supported for non-domain-joined workers.
36+
- **For SSH targets**: Keyboard-interactive authentication is not supported. When you use username-password credentials, ensure that your SSH server is configured to allow password authentication.
2837

2938
## Configuration
3039

@@ -34,14 +43,14 @@ Complete the following steps to configure targets with credential injection:
3443
<Tab heading="UI" group="ui">
3544

3645
1. Log in to Boundary.
37-
1. Select **Orgs** on the navigation pane.
38-
1. Select your desired org.
39-
1. Select the project where your target resides.
40-
1. Click **Targets** on the navigation pane.
41-
1. Click on your target you want to configure for credential injection.
42-
1. Click on the **Injected Application Credential** tab.
43-
1. Click **Managed** and select **Add Injected Application Credential** in the pull down menu.
44-
1. Do one of the following:
46+
2. Select **Orgs** on the navigation pane.
47+
3. Select your desired org.
48+
4. Select the project where your target resides.
49+
5. Click **Targets** on the navigation pane.
50+
6. Click on your target you want to configure for credential injection.
51+
7. Click on the **Injected Application Credential** tab.
52+
8. Click **Managed** and select **Add Injected Application Credential** in the pull down menu.
53+
9. Do one of the following:
4554
- **If you are using a static credential store**: Select the credential that corresponds to your target and click **Add Injected Application Credential**.
4655
- **If you are using a Vault credential store**: Select the credential library that corresponds to your target and click **Add Injected Application Credential**.
4756

@@ -56,11 +65,11 @@ Complete the following steps to configure targets with credential injection:
5665
Please enter the password (it will be hidden):
5766
```
5867

59-
1. Add credential injection to target.
68+
2. Add credential injection to target.
6069

6170
```shell-session
6271
$ boundary targets add-credential-sources \
63-
-id ttcp_vO60a7TwpI \
72+
-id trdp_vO60a7TwpI \
6473
-injected-application-credential-source csvlt_Xqa6V6QwfM
6574
```
6675

0 commit comments

Comments
 (0)