You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
18
17
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`.)
19
18
20
19

@@ -28,44 +27,43 @@ To connect to the initial EC2 Instances target:
28
27
1. Open a terminal session. Export the Boundary **Cluster URL** as an environment
29
28
variable.
30
29
31
-
```shell-session
32
-
$ export BOUNDARY_ADDR=<boundary-cluster-url>
33
-
```
30
+
```shell-session
31
+
$ export BOUNDARY_ADDR=<boundary-cluster-url>
32
+
```
34
33
35
34
1. Connect to the target.
36
35
37
-
```shell-session
38
-
$ boundary connect -target-id ttcp_eTcZMueUYv
39
-
```
36
+
```shell-session
37
+
$ boundary connect -target-id ttcp_eTcZMueUYv
38
+
```
40
39
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.
43
41
44
42
The `boundary connect` command has a number of notable options, such as
45
43
`-listen-port` to choose the port on which the connect command will listen for
46
44
an incoming connection. This is convenient for allowing Boundary to work with
47
45
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
49
47
is why connect helpers can be useful.
50
48
51
49
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.
54
52
55
53
## Select targets
56
54
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:
60
60
61
61
-`target-name`: The name of the target
62
62
-`target-scope-id`: The ID of the scope in which the target lives
63
63
-`target-scope-name`: The name of the scope in which the target lives
64
64
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.
Copy file name to clipboardExpand all lines: website/content/docs/install-boundary/configure-controllers.mdx
+29-28Lines changed: 29 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,52 +7,54 @@ description: >-
7
7
8
8
# Configure controllers
9
9
10
-
Refer to the sections below to configure your Boundary controllers.
10
+
Refer to the following sections to configure your Boundary controllers.
11
11
12
12
## Prepare TLS certificates
13
13
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.
16
16
17
17
To use TLS, you must have two files on each Boundary controller node.
18
18
You may have to create a new directory to store the certificate material at `/etc/boundary.d/tls`.
19
19
Place the files in the following paths:
20
20
21
21
-`/etc/boundary.d/tls/boundary-cert.pem`
22
22
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
+
24
25
-`/etc/boundary.d/tls/boundary-key.pem`
25
26
26
-
In this path, place the Boundary TLS certificate's private key.
27
+
Place the Boundary TLS certificate's private key in this path.
27
28
28
29
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.
29
30
30
31
## Prepare KMS keys
31
32
32
33
Boundary controllers require the two following different cryptographic keys:
33
34
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.
40
42
41
43
The following keys are optional:
42
44
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.
46
48
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.
48
50
49
51
There are other optional KMS keys that you can configure for different encryption scenarios.
50
52
These scenarios include Boundary worker PKI auth encryption and Boundary worker or controller configuration encryption.
51
53
Refer to [Data security in Boundary](/boundary/docs/concepts/security/data-encryption) for more information.
52
54
53
55
<Note>
54
56
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.
56
58
You use the Worker-auth key listed above to enable KMS worker authentication.
57
59
</Note>
58
60
@@ -95,12 +97,12 @@ Run the following commands to rename the example configuration files:
95
97
1.`sudo mv controller.hcl controller.hcl.old`
96
98
1.`sudo mv worker.hcl worker.hcl.old`
97
99
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.
100
102
101
103
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:
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
310
311
resources, however, are not required. You can add the following flags to skip creating these initial resources:
311
312
312
313
```shell-session
@@ -318,7 +319,7 @@ boundary database init \
318
319
-config /etc/boundary.d/controller.hcl
319
320
```
320
321
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:
322
323
323
324
```shell-session
324
325
boundary database init -h
@@ -335,7 +336,7 @@ Run the following commands to start the service:
335
336
## Authenticate and manage resources
336
337
337
338
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.
339
340
340
341
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.
341
342
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