Skip to content

Commit ca123f9

Browse files
mister-kenjohanbrandhorstDan-Heath
authored
docs/update two pages (#5601)
* update two pages * Apply suggestions from code review Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> * docs: Minor updates to connect to target * docs: Edits * docs: Edits * docs: Edits --------- Co-authored-by: Johan Brandhorst-Satzkorn <[email protected]> Co-authored-by: Dan Heath <[email protected]>
1 parent 84c626a commit ca123f9

File tree

2 files changed

+54
-55
lines changed

2 files changed

+54
-55
lines changed

website/content/docs/hcp/get-started/connect-to-target.mdx

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ is the fastest way to onboard a target to HCP Boundary.
1313

1414
![Setup Wizard](/img/setup-wizard-address-target.png)
1515

16-
The Quick setup wizard creates a default `tcp` target with the port `22` (the default SSH port using TCP).
17-
The target is created with the address `127.0.0.1`.
16+
The Quick setup wizard creates a default `tcp` target with the address `127.0.0.1` and the port `22` (the default SSH port using TCP).
1817
When you execute `boundary connect` against this target, Boundary establishes a local, authenticated proxy to the address on the target's default port (`127.0.0.1:22`.)
1918

2019
![Setup Wizard](/img/quick-start-targets.png)
@@ -28,44 +27,43 @@ To connect to the initial EC2 Instances target:
2827
1. Open a terminal session. Export the Boundary **Cluster URL** as an environment
2928
variable.
3029

31-
```shell-session
32-
$ export BOUNDARY_ADDR=<boundary-cluster-url>
33-
```
30+
```shell-session
31+
$ export BOUNDARY_ADDR=<boundary-cluster-url>
32+
```
3433

3534
1. Connect to the target.
3635

37-
```shell-session
38-
$ boundary connect -target-id ttcp_eTcZMueUYv
39-
```
36+
```shell-session
37+
$ boundary connect -target-id ttcp_eTcZMueUYv
38+
```
4039

41-
The output displays the address and port that your SSH client must use.
42-
In the next section the `ssh` connect helper is used to make it easier to connect to the target with a client.
40+
The output displays the address and port that your SSH client must use.
4341

4442
The `boundary connect` command has a number of notable options, such as
4543
`-listen-port` to choose the port on which the connect command will listen for
4644
an incoming connection. This is convenient for allowing Boundary to work with
4745
applications that allow you to select the connection address, but not the port.
48-
For many applications there are still some extra hurdles that can exist, which
46+
For some applications there are still some extra hurdles that can exist, which
4947
is why connect helpers can be useful.
5048

5149
The dev-mode default target allows you to make as many connections as you want
52-
within the authorized session. When you are finished making connections, simply
53-
`Ctrl-C/Command-C` the `boundary connect` process to shut down the session.
50+
within the authorized session. When you finish making connections, a
51+
`Ctrl-C/Command-C` to the `boundary connect` process shuts down the session.
5452

5553
## Select targets
5654

57-
When using `boundary connect` you must identify the target used for connecting.
58-
Convention in this documentation is to use the target ID because it refers to a
59-
single explicit value, however other flags are supported:
55+
When you use `boundary connect`, you must identify the target used for connecting.
56+
The convention in this documentation is to use the target ID because it refers to a
57+
single explicit value.
58+
59+
Other supported flags include:
6060

6161
- `target-name`: The name of the target
6262
- `target-scope-id`: The ID of the scope in which the target lives
6363
- `target-scope-name`: The name of the scope in which the target lives
6464

65-
Note however that these are not uniquely identifying, as names can be reused
66-
across scopes. As a result, when not using the target ID, you must use the
67-
target's name in conjunction with the scope name or scope ID so that Boundary
68-
can correctly identify the desired target.
65+
Note however that these other flags are not uniquely identifying, as you may reuse names
66+
across scopes. Therefore, if you don't use the target ID, you must use the target's name in conjunction with the scope name or scope ID so that Boundary can identify the correct target.
6967

7068
Here is an SSH example in dev-mode:
7169

@@ -75,9 +73,9 @@ $ boundary connect ssh -target-name "Generated target" -target-scope-name "Gener
7573

7674
## Connect helpers
7775

78-
Boundary includes connect helpers that automatically accept host SSH key prompts
79-
for you.
80-
These are written as `boundary connect <subcommand>` and are supported for the following connection types:
76+
Connect helpers automatically accept host SSH key prompts for you.
77+
The connect helper format is `boundary connect <subcommand>`.
78+
Boundary includes connect helpers for the following connection types:
8179

8280
- HTTP
8381
- Kubernetes
@@ -87,11 +85,11 @@ These are written as `boundary connect <subcommand>` and are supported for the f
8785

8886
Refer to the [Connect helpers](/boundary/docs/concepts/connection-workflows/connect-helpers) documentation for more information.
8987

90-
## Built-in vs. exec
88+
## Exec flag
9189

9290
In addition to the built-in connect helpers, `boundary connect`
9391
can accommodate executing clients even when there is no built-in support
94-
for a specific client using `-exec`. The `-exec` flag is a very powerful
92+
for a specific client using `-exec`. The `-exec` flag is a powerful
9593
tool, allowing you to wrap Boundary TCP sessions in your preferred
9694
client. You can use this flag to create an authenticated proxy to almost
9795
anything.
@@ -108,7 +106,7 @@ Refer to the [SSH ProxyCommand](/boundary/docs/concepts/connection-workflows/wor
108106

109107
## Desktop client
110108

111-
While using the desktop client, choose the target and connect to retrieve local
109+
While you use the desktop client, choose the target and connect to retrieve local
112110
proxy details.
113111

114112
<video
@@ -130,6 +128,6 @@ Refer to the [Connect to your First Target](/boundary/tutorials/hcp-getting-star
130128

131129
## Next steps
132130

133-
Refer to our [basic administration
131+
Refer to the [basic administration
134132
workflows](/boundary/tutorials/hcp-administration) tutorial series
135133
for in depth discussions on managing scopes, targets, identities, and sessions.

website/content/docs/install-boundary/configure-controllers.mdx

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,54 @@ description: >-
77

88
# Configure controllers
99

10-
Refer to the sections below to configure your Boundary controllers.
10+
Refer to the following sections to configure your Boundary controllers.
1111

1212
## Prepare TLS certificates
1313

14-
HashiCorp recommends that the Boundary controller nodes handle TLS via PKI for user connections.
15-
Further, we strongly recommend that you use certificates that are generated and signed by an appropriate certificate authority (CA).
14+
HashiCorp recommends that the Boundary controller nodes handle TLS using PKI for user connections.
15+
Further, we strongly recommend that you use certificates that an appropriate certificate authority (CA) generated and signed.
1616

1717
To use TLS, you must have two files on each Boundary controller node.
1818
You may have to create a new directory to store the certificate material at `/etc/boundary.d/tls`.
1919
Place the files in the following paths:
2020

2121
- `/etc/boundary.d/tls/boundary-cert.pem`
2222

23-
In this path, place the Boundary TLS certificate with a Common Name (CN) and Subject Alternate Name (SAN) that matches your planned primary DNS record for accessing the Boundary controllers and any additional SANs as necessary.
23+
Place the Boundary TLS certificate with a Common Name (CN) and Subject Alternate Name (SAN) that matches your planned primary DNS record in this path so that the Boundary controllers and any SANs can access it.
24+
2425
- `/etc/boundary.d/tls/boundary-key.pem`
2526

26-
In this path, place the Boundary TLS certificate's private key.
27+
Place the Boundary TLS certificate's private key in this path.
2728

2829
If you do not generate unique TLS key material for each node, you should securely distribute the key material to each of the Boundary controller nodes.
2930

3031
## Prepare KMS keys
3132

3233
Boundary controllers require the two following different cryptographic keys:
3334

34-
- **Root key**: The root KMS key acts as a KEK (Key Encrypting Key) for the scope-specific KEKs (also referred to as the scope's root key).
35-
The scope's root KEK and the various DEKs (Data Encryption Keys) are created when a scope is created.
36-
The DEKs are encrypted with the scope's root KEK, and this is in turn encrypted with the KMS key marked for the root purpose.
37-
- **Recovery key**: The recovery KMS key is used for rescue or recovery operations that can be used by a client to authenticate almost any Boundary operation.
38-
A nonce and creation time are included as an encrypted payload, formatted as a token, and sent to the controller.
39-
The time and nonce are used to ensure that a value cannot be replayed by an adversary, and also to ensure that each operation must be individually authenticated by a client, so that revoking access to the KMS has an immediate result.
35+
- **Root key**: The root KMS key acts as a KEK (Key Encrypting Key) for the scope-specific KEKs, which are also referred to as the scope's root keys.
36+
When you create a scope, Boundary also creates the root KEK and the various DEKs (Data Encryption Keys).
37+
It encrypts the DEKs using the scope's KEK, and then encrypts the KEK with the KMS key marked for the root purpose.
38+
- **Recovery key**: You use the recovery KMS key to authenticate Boundary client rescue and recovery operation workflows.
39+
The recovery key includes a nonce and creation time as an encrypted payload.
40+
Boundary formats the payload as a token and sends it to the controller.
41+
The time and nonce ensure that an adversary cannot replay a value, and also ensure that a client must individually authenticate each operation, so that revoking access to the KMS has an immediate result.
4042

4143
The following keys are optional:
4244

43-
- **Worker-auth key (Optional)**: The worker-auth KMS key is shared by the controller and worker to authenticate a worker to the controller.
44-
If a worker is used with PKI authentication, this is unnecessary.
45-
- **BSR key (Optional)**: The BSR KMS key is required for session recording.
45+
- **Worker-auth key (Optional)**: The controller and worker share the worker-auth KMS key to authenticate a worker to the controller.
46+
If a worker uses PKI authentication, this key is unnecessary.
47+
- **BSR key (Optional)**: Session recording requires the BSR KMS key.
4648
Boundary uses the BSR key for encrypting data and checking the integrity of recordings.
47-
If you do not add a BSR key to your controller configuration, you receive an error when you attempt to enable session recording.
49+
If you do not add a BSR key to your controller configuration, you receive an error when you try to enable session recording.
4850

4951
There are other optional KMS keys that you can configure for different encryption scenarios.
5052
These scenarios include Boundary worker PKI auth encryption and Boundary worker or controller configuration encryption.
5153
Refer to [Data security in Boundary](/boundary/docs/concepts/security/data-encryption) for more information.
5254

5355
<Note>
5456
There are two types of Boundary workers, distinguished by the method by which they authenticate with the Boundary controllers.
55-
One worker uses a PKI exchange to authenticate with the controllers, and the other uses a KMS key that can be used for authentication by both the worker and the controller.
57+
One worker uses a PKI exchange to authenticate with the controllers. The other uses a KMS key for authentication by both the worker and the controller.
5658
You use the Worker-auth key listed above to enable KMS worker authentication.
5759
</Note>
5860

@@ -95,12 +97,12 @@ Run the following commands to rename the example configuration files:
9597
1. `sudo mv controller.hcl controller.hcl.old`
9698
1. `sudo mv worker.hcl worker.hcl.old`
9799

98-
We recommend that you use either the `env://` or `file://` notation in the configuration files to securely provide secret configuration components to the Boundary controller binaries.
99-
In the following controller configuration example, we use `env://` to declare the PostgreSQL connection string, as well as secure the AWS KMS configuration items.
100+
HashiCorp recommends that you use either the `env://` or `file://` notation in the configuration files to securely provide secret configuration components to the Boundary controller binaries.
101+
The following controller configuration example uses `env://` to declare the PostgreSQL connect strings as well as secure the AWS KMS configuration items.
100102

101103
When you install the Boundary binary using a package manager, it includes a unit file that configures an environment file at `/etc/boundary.d/boundary.env`.
102-
You can use this file to set the sensitive values that are used to configure the Boundary controllers and workers.
103-
The following is an example of how this environment file could be configured:
104+
You can use this file to set the sensitive values used to configure the Boundary controllers and workers.
105+
The following is an example of a configuration using this environment file:
104106

105107
<CodeBlockConfig lineNumbers filename="/etc/boundary.d/boundary.env">
106108

@@ -262,9 +264,9 @@ kms "awskms" {
262264

263265
Refer to the list below for explanations of the parameters used in the example above:
264266

265-
- `disable mlock (bool: false)` - Disables the server from executing the `mlock` syscall, which prevents memory from being swapped to the disk.
266-
This is fine for local development and testing.
267-
However, it is not recommended for production unless the systems running Boundary use only encrypted swap or do not use swap at all.
267+
- `disable mlock (bool: false)` - Disables the server from executing the `mlock` syscall, which prevents memory swap to the disk.
268+
Preventing memory swap is fine for local development and testing.
269+
However, HashiCorp does not recommend using it for production unless the systems running Boundary use encrypted swap or do not use swap at all.
268270
Boundary only supports memory locking on UNIX-like systems that support `mlock()` syscall like Linux and FreeBSD.
269271

270272
On Linux, to give the Boundary executable the ability to use `mlock` syscall without running the process as root, run the following command:
@@ -299,14 +301,13 @@ Refer to the documentation for additional [top-level configuration options](/bou
299301
## Initialize the database
300302

301303
Before you can start Boundary, you must initialize the database from one Boundary controller.
302-
This operation is only required once; it will execute the required database migrations for the Boundary cluster to operate.
304+
Initialization is a one-time operation that executes the required database migrations for the Boundary cluster to operate.
303305

304306
```shell-session
305307
boundary database init -config /etc/boundary.d/controller.hcl
306308
```
307309

308-
Boundary automatically generates a number of resources to make getting started easier. Default scopes, auth methods,
309-
user, account, and targets are some of the resources Boundary automatically generates unless you configure it not to. These
310+
Unless you configure it not to, Boundary automatically generates a number of resources to make getting started easier. It automatically generates default scopes, auth methods, user, account, and targets. These
310311
resources, however, are not required. You can add the following flags to skip creating these initial resources:
311312

312313
```shell-session
@@ -318,7 +319,7 @@ boundary database init \
318319
-config /etc/boundary.d/controller.hcl
319320
```
320321

321-
Use the following command to view the help for additional options:
322+
Use the following command to view the help for additional initialization options:
322323

323324
```shell-session
324325
boundary database init -h
@@ -335,7 +336,7 @@ Run the following commands to start the service:
335336
## Authenticate and manage resources
336337

337338
Upon logging in to Boundary for the first time, HashiCorp recommends creating an admin user for the global and project level scopes to manage Boundary.
338-
This allows you to configure targets within those scopes and manage them.
339+
Creating an admin user allows you to configure targets within those scopes and manage them.
339340

340341
HashiCorp recommends that you use the [KMS recovery workflow](/boundary/docs/install-boundary/initialize#log-in-with-recovery-kms) to log in to Boundary for the first time.
341342
Refer to [Creating your first login account](/boundary/docs/install-boundary/initialize#create-your-first-login-account) to learn about setting up your first auth method, user, account, and role to log in to Boundary going forward without the recovery KMS workflow.

0 commit comments

Comments
 (0)