* docs: Aliases overview, domain model, CLI docs (#4705) * docs: Aliases overview and domain model * docs: Add new topics to TOC * docs: Updates * docs: Update CLI topics, add usage * docs: Edits to value description * docs: Add how-to for creating new target * docs: Add procedure to update existing alias from CLI * docs: Update targets domain model topic * Apply batch suggestions from code review Co-authored-by: Adam Bouhmad <adbouhmad@gmail.com> Co-authored-by: Todd <github@quaddi.com> * docs: Fix spelling * docs: Remove ferry references * docs: Remove note about aliases not working with generic commands * docs: Updates to naming conventions * switches Tabs order and adds tab groups * fixes shell-session line breaks * Apply batch of suggestions from code review Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com> * docs: Delete redundant sentence * docs: Fix jump links --------- Co-authored-by: Adam Bouhmad <adbouhmad@gmail.com> Co-authored-by: Todd <github@quaddi.com> Co-authored-by: Robin Beck <stellarsquall@protonmail.ch> Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com> * rerun tests --------- Co-authored-by: Adam Bouhmad <adbouhmad@gmail.com> Co-authored-by: Todd <github@quaddi.com> Co-authored-by: Robin Beck <stellarsquall@protonmail.ch> Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
This commit is contained in:
12 files changed
+685
No files matched your search
@@ -0,0 +1,78 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases create - Command
|
||||
description: |-
|
||||
The "aliases create" command lets you create a new alias.
|
||||
---
|
||||
|
||||
# aliases create
|
||||
|
||||
Command: `aliases create`
|
||||
|
||||
The `aliases create` command lets you create a new alias.
|
||||
|
||||
## Example
|
||||
|
||||
This example creates an alias for the target `prod-ops.example` with the name `prodops` and the description `Target alias for ProdOps`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases create target -value prod-ops.example -name prodops
|
||||
-description "Target alias for ProdOps"
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases create [type] [sub command] [options] [args]
|
||||
|
||||
Please see the typed subcommand help for detailed usage information.
|
||||
|
||||
Subcommands:
|
||||
target Create a target type alias
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
### Usages by type
|
||||
|
||||
At this time, you can only create aliases for targets.
|
||||
|
||||
The `aliases create target` command lets you create aliases for targets.
|
||||
|
||||
#### Example
|
||||
|
||||
This example creates an alias for the target `-prod-ops.example` with the name `prodops` and the description `Target alias for ProdOps`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases create target -value prod-ops.example -name prodops
|
||||
-description "Target alias for ProdOps"
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases create target [options] [args]
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
#### Command options
|
||||
|
||||
- `-description=<string>` - Specifies the optional description you want to use to describe the alias for identification purposes.
|
||||
- `-destination-id=<string>` - Specifies the ID of the target that the alias points to.
|
||||
- `-name=<string>` - Specifies the optional name you want to use to describe the alias for identification purposes.
|
||||
- `-scope-id=<string>` - Scope in which to create the alias. The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-value=<string>` - The string that you want to use as the alias to represent the target.
|
||||
The `value` must comply with DNS naming rules.
|
||||
|
||||
#### Target alias options
|
||||
|
||||
- `-authorize-session-host-id=<string>` - Indicates the host ID to use when you use the alias to authorize a session.
|
||||
|
||||
@include 'cmd-option-note.mdx'
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases delete - Command
|
||||
description: |-
|
||||
The "aliases delete" command lets you delete an alias.
|
||||
---
|
||||
|
||||
# aliases delete
|
||||
|
||||
Command: `aliases delete`
|
||||
|
||||
The `aliases delete` command lets you delete a target.
|
||||
|
||||
## Example
|
||||
|
||||
This example deletes an alias with the ID `alt_1234567890`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases delete -id alt_1234567890
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases delete [options] [args]
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
### Command options
|
||||
|
||||
- `-id=<string>` - The ID of the alias you want to delete.
|
||||
|
||||
@include 'cmd-option-note.mdx'
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases - Command
|
||||
description: |-
|
||||
The "aliases" command lets Boundary admin create and manage alias resources.
|
||||
---
|
||||
|
||||
# aliases
|
||||
|
||||
Command: `boundary aliases`
|
||||
|
||||
The `aliases` command lets you create and manage alias resources in Boundary.
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
The following example retrieves alias information for a given alias ID, `alt_1234567890`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases read -id alt_1234567890
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
Usage: boundary aliases [sub command] [options] [args]
|
||||
|
||||
# ...
|
||||
|
||||
Subcommands:
|
||||
create Create an alias
|
||||
delete Delete an alias
|
||||
list List an alias
|
||||
read Read an alias
|
||||
update Update an alias
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
For more information, examples, and usage, click on the name
|
||||
of the subcommand in the sidebar or one of the links below:
|
||||
|
||||
- [create](/boundary/docs/commands/aliases/create)
|
||||
- [delete](/boundary/docs/commands/aliases/delete)
|
||||
- [list](/boundary/docs/commands/aliases/list)
|
||||
- [read](/boundary/docs/commands/aliases/read)
|
||||
- [update](/boundary/docs/commands/aliases/update)
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases list - Command
|
||||
description: |-
|
||||
The "aliases list" command lists the aliases within a given scope or resource.
|
||||
---
|
||||
|
||||
# aliases list
|
||||
|
||||
Command: `aliases list`
|
||||
|
||||
The `aliases list` command lets you list the aliases within a given scope or resource.
|
||||
|
||||
## Example
|
||||
|
||||
This example lists all aliases within the global scope.
|
||||
At this time, you can only create aliases in the global scope.
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases list
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases list [options] [args]
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
### Command options
|
||||
|
||||
- `-filter=<string>` - If set, Boundary filters the list operation before the results are returned.
|
||||
The filter operates against each item in the list.
|
||||
We recommend that you use single quotes, because the filters contain double quotes.
|
||||
Refer to the [Filter resource listings documentation](/boundary/docs/concepts/filtering/resource-listing) for more details.
|
||||
- `recursive` - If set, runs the list operation recursively on any child scopes, if the type supports it.
|
||||
The default value is `false`.
|
||||
- `scope-id=<string>` - The scope from which to list the aliases.
|
||||
The default value is `global`.
|
||||
You can also specify this value using the **BOUNDARY_SCOPE_ID** environment variable.
|
||||
|
||||
@include 'cmd-option-note.mdx'
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases read - Command
|
||||
description: |-
|
||||
The "aliases read" command reads an alias with a given ID.
|
||||
---
|
||||
|
||||
# aliases read
|
||||
|
||||
Command: `aliases read`
|
||||
|
||||
The `aliases read` command lets you read the details of an alias with a given ID.
|
||||
|
||||
## Example
|
||||
|
||||
This example reads the details of an alias with the ID `alt_1234567890`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases read -id alt_1234567890
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases read [options] [args]
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
### Command options
|
||||
|
||||
- `-id=<string>` - The ID of the alias you want to read.
|
||||
|
||||
@include 'cmd-option-note.mdx'
|
||||
@@ -0,0 +1,76 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: aliases update - Command
|
||||
description: |-
|
||||
The "aliases update" command lets you update an alias.
|
||||
---
|
||||
|
||||
# aliases update
|
||||
|
||||
Command: `aliases update`
|
||||
|
||||
The `aliases update` command lets you update an alias.
|
||||
|
||||
## Example
|
||||
|
||||
This example updates a target-type alias with the ID `alt_1234567890` to add the name `devops`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases update target -id alt_1234567890 -name devops
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases update [type] [sub command] [options] [args]
|
||||
|
||||
Please see the typed subcommand help for detailed usage information.
|
||||
|
||||
Subcommands:
|
||||
target Update a target type alias
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
### Usages by type
|
||||
|
||||
At this time, you can only create aliases for targets.
|
||||
|
||||
The `aliases update target` command lets you update aliases for targets.
|
||||
|
||||
#### Example
|
||||
|
||||
This example updates a target-type alias with the ID `alt_1234567890` to add the name `devops`:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases update target -id alt_1234567890 -name devops
|
||||
```
|
||||
|
||||
#### Usage
|
||||
|
||||
<CodeBlockConfig hideClipboard>
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases update target [options] [args]
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
||||
#### Command options
|
||||
|
||||
- `-description=<string>` - Specifies the optional description you want to use to describe the alias for identification purposes.
|
||||
- `-destination-id=<string>` - Specifies the ID of the target that the alias points to.
|
||||
- `-name=<string>` - Specifies the optional name you want to use to describe the alias for identification purposes.
|
||||
- `-scope-id=<string>` - Scope in which the alias resides. The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-value=<string>` - The string that you want to use as the alias to represent the target.
|
||||
The `value` must comply with DNS naming rules.
|
||||
|
||||
#### Target alias options
|
||||
|
||||
- `-authorize-session-host-id=<string>` - Indicates the host ID to use when you use the alias to authorize a session.
|
||||
|
||||
@include 'cmd-option-note.mdx'
|
||||
@@ -255,6 +255,10 @@ client options. Some notable options include the following:
|
||||
file that contains the information necessary to access a KMS configured to be
|
||||
used for the recovery workflow within a Boundary controller. You can also specify the configuration file using the **BOUNDARY_RECOVERY_CONFIG** environment variable.
|
||||
|
||||
- `-skip-cache-daemon` - If set, skips starting the caching daemon or sending the current used or retrieved token to the caching daemon.
|
||||
The default is `false`.
|
||||
You can also specify this value using the BOUNDARY_SKIP_CACHE_DAEMON environment variable.
|
||||
|
||||
- `-token` `(string: "")` - A URL that points to a file on disk `(file://)` or an environment variable `(env://)` from which the token is read. This value overrides the `token-name` parameter.
|
||||
|
||||
- `-token-name` `(string: "")` - The name of the token. When the CLI authenticates, it stores the token
|
||||
@@ -318,6 +322,11 @@ to the Boundary controller. If you set the path, you must also specify a client
|
||||
The path on the local disk to a single PEM-encoded private key that matches the client certificate
|
||||
specified by the `BOUNDARY_CLIENT_CERT` variable or the `-client-cert` connection option.
|
||||
|
||||
### `BOUNDARY_SKIP_CACHE_DAEMON`
|
||||
|
||||
Prevents Boundary from starting the caching demon or sending the current used or retrieved token to the caching daemon.
|
||||
You can use the `BOUNDARY_SKIP_CACHE_DAEMON` variable or the `-skip-cache-daemon` connection option.
|
||||
|
||||
### `BOUNDARY_TLS_INSECURE`
|
||||
|
||||
If set, disables verification of TLS certificates. Using this option is highly discouraged as it
|
||||
|
||||
@@ -77,6 +77,12 @@ A value of `-1` means the connections are unlimited.
|
||||
- `-session-max-seconds=<string>` - The maximum lifetime of the session, including all connections.
|
||||
You can specify an integer number of seconds or a duration string.
|
||||
- `-storage-bucket-id=<string>` - The public ID of the storage bucket to associate with the target.
|
||||
- `-with-alias-authorize-session-host-id=<string>` - The host ID that an alias uses to authorize sessions for the target.
|
||||
- `-with-alias-scope-id=<string>` - The scope ID that you want to create the target and alias in.
|
||||
The default is `global`.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-with-alias-value=<string>` - The value of the alias that you want to use to represent the target.
|
||||
Use this parameter to create the alias and target, and associate them with each other, at the same time.
|
||||
|
||||
|
||||
</Tab>
|
||||
@@ -115,6 +121,12 @@ If you do not specify a default port, Boundary uses port 22.
|
||||
A value of `-1` means the connections are unlimited.
|
||||
- `-session-max-seconds=<string>` - The maximum lifetime of the session, including all connections.
|
||||
You can specify an integer number of seconds or a duration string.
|
||||
- `-with-alias-authorize-session-host-id=<string>` - The host ID that an alias uses to authorize sessions for the target.
|
||||
- `-with-alias-scope-id=<string>` - The scope ID that you want to create the alias in at target creation time.
|
||||
The default is `global`.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-with-alias-value=<string>` - The value of the alias that you want to use to represent the target.
|
||||
Use this parameter to create the alias and target, and associate them with each other, at the same time.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
@@ -0,0 +1,260 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: Aliases
|
||||
description: |-
|
||||
Aliases let you associate a string with a Boundary resource. Learn how to use an alias instead of a target ID when you connect.
|
||||
---
|
||||
|
||||
# Aliases
|
||||
|
||||
An alias is a globally unique, DNS-like string that is associated with a destination resource.
|
||||
You can establish a session to a target by referencing its alias, instead of having to provide a target ID or target name and scope ID.
|
||||
For example, if you have an alias `boundary.dev`, you can use it to connect to a target with the following command: `boundary connect ssh boundary.dev`.
|
||||
|
||||
## Background
|
||||
|
||||
When you create a resource in Boundary, it assigns the resource a randomly generated identifier.
|
||||
You must use those IDs to perform actions in Boundary.
|
||||
|
||||
When you connect to a target using the terminal, you must reference the target ID or target name and scope name. As an example, to SSH to a target, you can execute the command `boundary connect ssh -target-id ttcp_123456789`.
|
||||
Since it can be difficult to remember the unique IDs, users frequently have to look up the identifiers for any resources they want to operate on.
|
||||
|
||||
Aliases simplify this process.
|
||||
When you create an alias and associate it with a target, you can later use the alias `value` instead of the target ID in commands.
|
||||
Boundary automatically resolves to the target that the alias references.
|
||||
|
||||
## Permissions
|
||||
|
||||
The existence of an alias for a Boundary resource does not change how permissions function.
|
||||
Anyone can attempt to use an alias to access a target, but if you do not have permission to access the target, the attempt fails.
|
||||
You can create an alias for a target, even if you do not have permission to access the target.
|
||||
|
||||
Separating the permissions from aliases and destination resources means a different set of people can manage the aliases than the people who have permission to operate on targets.
|
||||
For example, you may have a project with a sensitive set of targets.
|
||||
You can configure Boundary to allow a select few users to manage those targets, while a different group of users manage the aliases.
|
||||
|
||||
## Naming conventions
|
||||
|
||||
An alias is a globally unique, DNS-like string that is associated with a destination resource. The alias `value` parameter does not have to be delimited by a suffix, and can be just a hostname.
|
||||
|
||||
Examples of valid aliases include `webserver` and `webserver.boundary`.
|
||||
|
||||
## Scopes
|
||||
|
||||
At this time, you can only create aliases in the `global` scope.
|
||||
The destination target for an alias can be in any scope, however.
|
||||
If you delete a project, Boundary clears the `destination_id` parameter for any aliases that resolve to targets in that project, so that they no longer function.
|
||||
|
||||
## Connect to a target using an alias
|
||||
|
||||
Whenever you could use the `-id` flag or `-target` flag in the CLI, you can substitute an alias.
|
||||
|
||||
For example, you can use the following command to connect to an SSH target with the ID `ttcp_1234567890`:
|
||||
|
||||
```shell-session
|
||||
$ boundary connect ssh -target -id ttcp_1234567890
|
||||
```
|
||||
|
||||
If you configured an alias named `example.alias.boundary` for the target, you could alternatively use the following command to connect to the target:
|
||||
|
||||
```shell-session
|
||||
$ boundary connect ssh example.alias.boundary
|
||||
```
|
||||
|
||||
## Create aliases
|
||||
|
||||
There are multiple ways that you can create aliases and associate them with targets in Boundary.
|
||||
|
||||
You can:
|
||||
|
||||
- [Create an alias for an existing target](#create-an-alias-for-an-existing-target)
|
||||
- [Create an alias during target creation](#create-an-alias-during-target-creation)
|
||||
- [Associate an existing alias with a target](#associate-an-existing-alias-with-a-target)
|
||||
|
||||
### Create an alias for an existing target
|
||||
|
||||
You can create a new alias and associate it with an existing target at the same time.
|
||||
Complete the following steps to create a new alias and associate it with a target:
|
||||
|
||||
<Tabs>
|
||||
<Tab heading="UI" group="ui">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Select **Aliases** in the navigation pane.
|
||||
1. Click **New Alias**.
|
||||
1. Complete the following fields:
|
||||
- **Name**: (Optional) Enter an optional name for the alias to use for identification purposes.
|
||||
- **Description**: (Optional) Enter an optional description for the alias to use for identification purposes.
|
||||
- **Type**: Select **Target**.
|
||||
At this time, targets are the only Boundary resources that supports aliasing.
|
||||
- **Alias Value**: Enter the string that you want to use as the alias to represent the target.
|
||||
An alias's value can be a hostname or a DNS-like string.
|
||||
- **Target ID**: (Optional) Specify any targets you want to associate with the alias.
|
||||
- **Host ID**: (Optional) Enter an optional host ID, if you would like to specify that the alias always uses the same host when you use it to connect to a target.
|
||||
1. Click **Save**.
|
||||
|
||||
</Tab>
|
||||
<Tab heading="CLI" group="cli">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Use the following command to create an alias:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases create target \
|
||||
-description 'This is an example alias for target tcp_1234567890' \
|
||||
-destination-id tcp_1234567890 \
|
||||
-name Example Boundary alias \
|
||||
-scope-id global \
|
||||
-value example.alias.boundary \
|
||||
-authorize-session-host-id hst_1234567890
|
||||
```
|
||||
|
||||
You can use any of the following [attributes](/boundary/docs/concepts/domain-model/aliases) when you create an alias:
|
||||
|
||||
- `-description=<string>` - Specifies the optional description you want to use for identification purposes.
|
||||
- `-destination-id=<string>` - Specifies the ID of the target that the alias references.
|
||||
- `-name=<string>` - Specifies the optional name you want to use to describe the alias for identification purposes.
|
||||
- `-scope-id=<string>` - Scope in which to create the alias. The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-value=<string>` - Specifies the string that you want to use as the alias to represent the target.
|
||||
The alias `value` can be a hostname or a DNS-like string.
|
||||
- `-authorize-session-host-id=<string>` - Optionally indicates the host ID to use when you use the alias to authorize a session.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
### Create an alias during target creation
|
||||
|
||||
You can create a new target and new alias at the same time and associate the two.
|
||||
|
||||
Complete the following steps to create a new target and new alias at the same time:
|
||||
|
||||
<Tabs>
|
||||
<Tab heading="UI" group="ui">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Select **Targets** in the navigation pane.
|
||||
1. Click **New Target**.
|
||||
1. Complete the following fields:
|
||||
- **Name**: Enter the target name for identification purposes.
|
||||
- **Description**: (Optional) Enter an optional description for identification purposes.
|
||||
- **Type**: Select the target type.
|
||||
You can create SSH or TCP targets.
|
||||
- **Target Address**: (Optional) Enter a valid IP address or DNS name.
|
||||
Alternatively, you can configure host catalogs and host sets.
|
||||
- **Default Port**: (Optional) Enter an optional default port for the target to use for connections.
|
||||
- **Default Client Port**: (Optional) Enter an optional local proxy port on which to listen when a session is started on a client.
|
||||
- **Maximum Duration**: (Optional) Enter an optional maximum duration for sessions on this target, in seconds.
|
||||
- **Maximum Connection**: (Optional) Enter the maximum number of connections allowed per session on this target.
|
||||
For unlimited connections, enter `-1`.
|
||||
- **Workers**: (Optional) Select whether you want the worker to function as an ingress and/or egress worker.
|
||||
- **Aliases**: (Optional) Enter the value fpr any aliases you want to associate with this target, and then click **Add**.
|
||||
An alias's value can be a hostname or a DNS-like string.
|
||||
You can associate multiple aliases with a target.
|
||||
1. Click **Save**.
|
||||
|
||||
</Tab>
|
||||
<Tab heading="CLI" group="cli">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Use the following command to create a target:
|
||||
|
||||
```shell-session
|
||||
$ boundary targets create ssh \
|
||||
-description 'This is an example ssh target' \
|
||||
-name Example Boundary SSH target \
|
||||
-scope-id global \
|
||||
-with-alias-authorize-session-host-id hst_1234567890 \
|
||||
-with-alias-scope-id global \
|
||||
-with-alias-value example.alias.boundary
|
||||
```
|
||||
|
||||
You can use any of the following [attributes](/boundary/docs/concepts/domain-model/targets) when you create a target:
|
||||
|
||||
- `description` - (optional)
|
||||
An optional description that you can use for identification purposes.
|
||||
- `name` - (required)
|
||||
The `name` must be unique within the target's project.
|
||||
- `scope-id` - (required)
|
||||
The scope in which to create the target.
|
||||
The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
- `-address=<string>` - An optional valid network address for the target to connect to.
|
||||
You cannot use an address alongside host sources.
|
||||
- `-default-client-port=<string>` - The default client port on the target.
|
||||
- `-default-port=<string>` - The default port on the target.
|
||||
If you do not specify a default port, Boundary uses port 22.
|
||||
- `-egress-worker-filter=<string>` - A Boolean expression that filters which egress workers can process sessions for the target.
|
||||
- `-enable-session-recording=<string>` - A Boolean expression you can use to enable session recording for the target.
|
||||
- `-ingress-worker-filter=<string>` - A Boolean expression that filters which ingress workers can process sessions for the target.
|
||||
- `-session-connection-limit=<string>` - The maximum number of connections allowed for a session.
|
||||
A value of `-1` means the connections are unlimited.
|
||||
- `-session-max-seconds=<string>` - The maximum lifetime of the session, including all connections.
|
||||
You can specify an integer number of seconds or a duration string.
|
||||
- `-storage-bucket-id=<string>` - The public ID of the storage bucket to associate with the target.
|
||||
- `-with-alias-authorize-session-host-id=<string>` - The host ID that an alias uses to authorize sessions for the target.
|
||||
- `-with-aliasscope-id=<string>` - The scope ID that you want to create the target and alias in.
|
||||
The default is `global`.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-with-alias-value=<string>` - The value of the alias that you want to use to represent the target.
|
||||
Use this parameter to create the alias and target, and associate them with each other, at the same time.
|
||||
|
||||
Note that you can create SSH or TCP [target types](/boundary/docs/concepts/domain-model/targets#target-types).
|
||||
The example command in this section creates an SSH target.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
### Associate an existing alias with a target
|
||||
|
||||
If you already created an alias, you can update it with an existing target.
|
||||
Complete the following steps to add an alias to a target:
|
||||
|
||||
<Tabs>
|
||||
<Tab heading="UI" group="ui">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Select **Targets** in the navigation pane.
|
||||
1. Select the target you want to add an alias to.
|
||||
1. Under the **Aliases** heading in the right sidebar, click **Add an alias**.
|
||||
1. Complete the following fields:
|
||||
- **Name**: (Optional) Enter an optional name for the alias to use for identification purposes.
|
||||
- **Description**: (Optional) Enter an optional description for the alias to use for identification purposes.
|
||||
- **Type**: Select **Target**.
|
||||
At this time, targets are the only Boundary resources that supports aliasing.
|
||||
- **Alias Value**: Enter the alias value you want to use in commands to represent the target.
|
||||
An alias's value can be a hostname or a DNS-like string.
|
||||
- **Target ID**: This field contains the ID of the target you selected to add an alias to.
|
||||
It is read only.
|
||||
- **Host ID**: (Optional) Enter an optional host ID, if you would like to specify that the alias always uses the same host when you use it to connect to a target.
|
||||
1. Click **Save**.
|
||||
|
||||
</Tab>
|
||||
<Tab heading="CLI" group="cli">
|
||||
|
||||
1. Log in to Boundary.
|
||||
1. Use the following command to create an alias:
|
||||
|
||||
```shell-session
|
||||
$ boundary aliases update target \
|
||||
-destination-id tcp_1234567890 \
|
||||
-id alt_1234567890 \
|
||||
-authorize-session-host-id hst_1234567890
|
||||
```
|
||||
|
||||
You can use any of the following [attributes](/boundary/docs/concepts/domain-model/aliases) when you update an alias:
|
||||
|
||||
- `-description=<string>` - Specifies the optional description you want to use for identification purposes.
|
||||
- `-destination-id=<string>` - Specifies the ID of the target that the alias references.
|
||||
- `id=<string>` - Specifies the ID of the alias you want to update.
|
||||
- `-name=<string>` - Specifies the optional name you want to use to describe the alias for identification purposes.
|
||||
- `-scope-id=<string>` - Scope in which to create the alias. The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-value=<string>` - Specifies the string that you want to use as the alias to represent the target.
|
||||
The alias `value` must comply with DNS naming rules.
|
||||
- `-authorize-session-host-id=<string>` - Optionally indicates the host ID to use when you use the alias to authorize a session.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: docs
|
||||
page_title: Domain model - aliases
|
||||
description: |-
|
||||
The anatomy of a Boundary alias
|
||||
---
|
||||
|
||||
# Aliases
|
||||
|
||||
An alias is a globally unique, DNS-like string that is associated wtih a destination resource.
|
||||
Examples of valid aliases are `webserver` and `webserver.boundary`.
|
||||
You can establish a session to a target by referencing its alias, instead of having to provide a target ID or target name and scope ID.
|
||||
For example, if you have an alias `boundary.dev`, you can use it to connect to a target with the following command: `boundary connect ssh boundary.dev`.
|
||||
|
||||
## Attributes
|
||||
|
||||
Aliases have the following attributes:
|
||||
|
||||
- `-description=<string>` - Specifies the optional description you want to use to describe the alias for identification purposes.
|
||||
- `-destination-id=<string>` - Specifies the ID of the target that the alias points to.
|
||||
- `-name=<string>` - Specifies the optional name you want to use to describe the alias for identification purposes.
|
||||
- `-scope-id=<string>` - Scope in which to create the alias. The default is `global`.
|
||||
You can also specify the scope using the BOUNDARY_SCOPE_ID environment variable.
|
||||
At this time, aliases are only supported for the global scope.
|
||||
- `-value=<string>` - Specifies the string that you want to use as the alias to represent the target.
|
||||
The `value` must comply with DNS naming rules.
|
||||
|
||||
### Target subtypes
|
||||
|
||||
The target subtype has the following additional attributes:
|
||||
|
||||
- `-authorize-session-host-id=<string>` - Indicates the host ID to use when you use the alias to authorize a session.
|
||||
|
||||
## More information
|
||||
|
||||
- [Aliases](/boundary/docs/concepts/aliases)
|
||||
@@ -38,6 +38,7 @@ A target has the following configurable attributes:
|
||||
The `name` must be unique within the target's [project][].
|
||||
|
||||
- `description` - (optional)
|
||||
An optional description of the target for identificaiton purposes.
|
||||
|
||||
- `address` - (optional)
|
||||
This value represents a network resource address and is used when establishing a session.
|
||||
@@ -74,6 +75,16 @@ A target has the following configurable attributes:
|
||||
The default is 8 hours (28800 seconds).
|
||||
This value must be greater than 0.
|
||||
|
||||
- `with-alias-authorize-session-host-id` (Optional)
|
||||
The authorize session host ID flag that an alias uses when you create the alias at the same time as you create the target.
|
||||
|
||||
- `with-alias-scope-id` (Optional)
|
||||
The scope ID for the alias to be created in, when you create it at the same time as you create the target.
|
||||
The default scope is global.
|
||||
|
||||
- `with-alias-value` (Optional)
|
||||
The string that you want to use as the alias to represent the target, when you create an alias at the same time as you create the target.
|
||||
|
||||
## Target types
|
||||
|
||||
Boundary supports TCP and SSH target types.
|
||||
|
||||
@@ -191,6 +191,10 @@
|
||||
"title": "Credential management",
|
||||
"path": "concepts/credential-management"
|
||||
},
|
||||
{
|
||||
"title": "Aliases",
|
||||
"path": "concepts/aliases"
|
||||
},
|
||||
{
|
||||
"title": "Auditing",
|
||||
"path": "concepts/auditing"
|
||||
@@ -291,6 +295,10 @@
|
||||
"title": "Accounts",
|
||||
"path": "concepts/domain-model/accounts"
|
||||
},
|
||||
{
|
||||
"title": "Aliases",
|
||||
"path": "concepts/domain-model/aliases"
|
||||
},
|
||||
{
|
||||
"title": "Auth methods",
|
||||
"path": "concepts/domain-model/auth-methods"
|
||||
@@ -728,6 +736,35 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "aliases",
|
||||
"routes": [
|
||||
{
|
||||
"title": "Overview",
|
||||
"path": "commands/aliases"
|
||||
},
|
||||
{
|
||||
"title": "create",
|
||||
"path": "commands/aliases/create"
|
||||
},
|
||||
{
|
||||
"title": "delete",
|
||||
"path": "commands/aliases/delete"
|
||||
},
|
||||
{
|
||||
"title": "list",
|
||||
"path": "commands/aliases/list"
|
||||
},
|
||||
{
|
||||
"title": "read",
|
||||
"path": "commands/aliases/read"
|
||||
},
|
||||
{
|
||||
"title": "update",
|
||||
"path": "commands/aliases/update"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "auth-methods",
|
||||
"routes": [
|
||||
|
||||
Reference in new issue
Block a user