웹 TCP 대상 생성하기
웹 TCP 대상 생성하기
TCP 대상은 Boundary가 접근할 수 있는 어떤 서비스에든 연결할 수 있는 범용적인 방법을 제공해요. HTTP와 HTTPS 서비스도 그중 하나죠.
본문
TCP 대상을 사용해 HTTP 리다이렉트에 의존하는 웹 애플리케이션(SSO 흐름이나 OAuth 기반 ID 공급자 같은)에 접근한다면, 인증 흐름이 실패할 수 있어요. Boundary가 초기 TCP 연결을 프록시하지만, 리다이렉트가 클라이언트에게 새 호스트에 직접 연결하라고 지시하거든요. 그 호스트가 Boundary 프록시 밖에 있으면 연결이 실패해요.
아래 예시들은 단순함을 위해 직접 대상 주소(direct target address)를 사용하지만, HashiCorp는 확장된 프로덕션 배포에서는 호스트 카탈로그와 호스트 셋을 구성할 것을 권장해요.
웹 서비스에 연결할 TCP 대상을 만들려면 다음 단계를 따르세요. 이 예시는 HTTPS 서비스를 가정해요.
Admin UI로 생성:
- Boundary에 로그인해요.
- 조직을 선택하고, 대상을 만들 프로젝트를 선택해요.
- Project Actions 아래에서 Targets를 선택해요.
- New Target을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요.
- Description — (선택) 식별을 위한 대상 설명
- Type — (필수) TCP 대상을 만들려면 TCP를 선택해요.
- Target Address — (선택) 호스트 카탈로그와 호스트 셋을 사용하지 않는다면, 대상 주소를 입력해 대상을 단일 주소에 매핑할 수 있어요. 유효한 IP 주소나 DNS 이름이어야 해요.
- Default Port — (필수) 연결할 기본 포트. 예:
443 - Aliases — (선택) 대상의 유일한 식별자로, CLI나 투명 세션으로 대상에 더 쉽게 연결하게 해줘요. 앨리어스를 만들려면 다음 필드를 작성하고 Add를 클릭해요:
- Select scope — 앨리어스를 만들 스코프를 선택해요. 대상의 프로젝트 스코프에 앨리어스를 만들려면 먼저 org와 project suffix를 만들어야 해요. 그렇지 않으면 글로벌 스코프에만 앨리어스를 만들 수 있어요. 스코프 suffix 생성 문서를 참고하세요.
- Alias value — 대상을 나타내는 앨리어스로 사용할 문자열을 입력해요. 앨리어스 값은 호스트 이름이나 DNS 형태의 문자열일 수 있어요.
- Save를 클릭해요.
CLI로 생성:
- Boundary에 로그인해요.
BOUNDARY_PROJECT_ID환경 변수를 설정하거나, 다음 단계에서 스코프 ID(예:p_1234567890)를 제공해요.- 직접 대상 주소
10.0.0.30, 기본 연결 포트443을 가진test-example-web-server라는 TCP 대상을 만들려면 다음 명령을 사용해요:
$ boundary targets create tcp \
-scope-id $BOUNDARY_PROJECT_ID \
-name "test-example-web-server" \
-with-alias-value "test.example.com" \
-address "10.0.0.30" \
-default-port 443
대상을 만들 때는 scope-id 필드를 반드시 제공해야 해요. TCP 대상을 만들 때 사용할 수 있는 속성은 다음과 같아요:
-description=<string>— 식별용 대상 설명(선택)-name=<string>— 식별용 대상 이름(선택)-scope-id=<string>— 대상을 만들 스코프. 기본값은global이에요.BOUNDARY_SCOPE_ID환경 변수로도 스코프를 지정할 수 있어요.-address=<string>— 대상이 연결할 유효한 네트워크 주소(선택). 호스트 소스와 함께 사용할 수 없어요.-default-client-port=<string>— 이 대상에 투명 세션을 설정할 때 Client Agent가 로컬 프록시 리스너를 바인딩하는 포트. 클라이언트 애플리케이션이 기본적으로 다이얼하는 포트와 일치하도록 설정해야 해요. 예를 들어 SSH 클라이언트는 22, RDP 클라이언트는 3389, HTTPS 클라이언트는 443을 다이얼해요. 이 값을 설정하지 않으면 Client Agent는-default-port로 폴백해요.-default-client-port가 클라이언트 애플리케이션과 일치하지 않으면 투명 세션이 실패해요.-default-port=<string>— 설정된 경우 대상의 기본 포트-egress-worker-filter=<string>— 대상의 세션을 처리할 수 있는 egress 워커를 필터링하는 부울 표현식-ingress-worker-filter=<string>— 대상의 세션을 처리할 수 있는 ingress 워커를 필터링하는 부울 표현식-session-connection-limit=<string>— 세션에서 허용되는 최대 연결 수.-1이면 무제한이에요.-session-max-seconds=<string>— 모든 연결을 포함한 세션의 최대 수명. 정수 초 또는 지속 시간 문자열로 지정할 수 있어요. 최대 기간을 지정하지 않으면 Boundary는 기본값인 8시간(28800초)을 사용해요.-with-alias-authorize-session-host-id=<string>— 앨리어스가 대상의 세션을 승인할 때 사용하는 호스트 ID-with-alias-scope-id=<string>— 대상 생성 시 앨리어스를 만들 스코프 ID. 기본값은global이에요. 앨리어스는 글로벌과 프로젝트 스코프에 만들 수 있어요. 대상의 프로젝트 스코프에 앨리어스를 만들려면 먼저 org와 project suffix를 만들어야 해요. 그렇지 않으면 글로벌 스코프에만 앨리어스를 만들 수 있어요. 스코프 suffix 생성 문서를 참고하세요.-with-alias-value=<string>— 대상을 나타내는 앨리어스 값. 이 파라미터로 앨리어스와 대상을 동시에 만들고 서로 연결할 수 있어요. 프로젝트 스코프에 있는 대상의 앨리어스를 만들 때는alias.projectsuffix.orgsuffix형식으로 org와 project suffix를 값에 붙여야 해요. 값은 DNS 네이밍 규칙을 따라야 해요.
Terraform으로 생성:
Boundary Terraform provider로 대상과 대상 앨리어스를 정의할 수 있어요:
resource "boundary_target" "example" {
name = "test-example-web-server"
description = "Apache web server for test.example.com"
type = "tcp"
address = "10.0.0.30"
default_port = "443"
scope_id = boundary_scope.project.id
}
resource "boundary_alias_target" "test.example.com" {
name = "test-example-web-server"
description = "Target alias for test-example-web-server"
scope_id = "global"
value = "test.example.com"
destination_id = boundary_target.example.id
}
브로커링된 애플리케이션 크레덴셜 구성하기
최종 사용자가 대상에 연결할 수 있도록 브로커링된 애플리케이션 크레덴셜(brokered application credential)을 구성할 수 있어요. 브로커링된 크레덴셜은 최종 사용자에게 노출되어, 대상에 수동으로 또는 connect helpers를 사용해 인증할 수 있게 해요.
TCP 대상에 크레덴셜을 구성하는 방법:
- Static 크레덴셜(
username_password또는ssh_private_key) - Vault generic credential library
크레덴셜 브로커링으로 대상 구성하는 방법은 Configure targets with credential brokering 문서를 참고하세요.
예시(Example)
다음 시나리오는 다음을 가정해요:
- 사설 네트워크에 웹 서버가 배포되어 있음(Nginx, Apache, IIS 등)
- 네트워크에 Boundary 워커가 배포되고 Boundary 컨트롤 플레인에 등록되어 있음
- 애플리케이션 도메인에 등록된 DNS A 레코드가 있고 네트워크의 인증된 사용자에게 해석 가능함
- 웹 서버에 SSL 서명 인증서가 설치되어 있고, 웹 대상에 연결할 클라이언트에게 루트 인증서를 배포했음. 클라이언트는 인증서를 키체인에 추가해 인증서를 생성한 CA를 신뢰해야 해요.
- 사용자가 수동으로 또는 OIDC, LDAP 같은 인증 방법으로 Boundary에 온보딩되어 있음
- 웹 대상을 설정할 org와 project를 만들었음. 이 예시는 org를
dev-projects, project를web-infrastructure라고 부르는데, UI/CLI/Terraform 워크플로우에 따라 ID(예:o_c2Ah7bPMj5,p_UXVxIgpZ8U)로 참조할 수도 있어요.
이 예시는 또한 다음 권한을 가진 접근 모델을 설정한다고 가정해요:
- 인증되지 않은 사용자는 주소 범위에 접근할 수 없음
- 인증됐지만 권한이 없는 사용자는 웹 대상을 볼 수 없음
- 인증되고 권한이 있는 사용자는 웹 대상에 세션을 시작할 수 있음
이 접근 모델은 Boundary를 통해 웹 대상에 연결된 사용자가 주소 범위에 접근할 수 있게 하지만, 사용자에게 대상 접근 권한을 부여하지 않으면 대상에 연결할 수는 없어요.
이런 전제 조건이 갖춰지면, 웹 대상 접근을 인증된 사용자로 제한하도록 권한과 대상을 설정할 수 있어요. 이 예시는 단일 사용자에게 접근을 부여하지만, 실제로는 인증된 사용자 그룹을 사용하는 것이 더 현실적이에요.
사용자와 권한 구성
서로 다른 접근 프로토콜을 모델링하려면 권한 있는(authorized) 사용자와 권한 없는(unauthorized) 사용자를 만들어야 해요. 이들은 대상에 호스팅된 웹 애플리케이션에 접근해야 하는 사용자와 접근하면 안 되는 사용자를 나타내요.
권한 없는 사용자와 권한 있는 사용자 만들기(Admin UI):
- Boundary에 로그인해요.
- 글로벌 스코프에 있는지 확인해요. 왼쪽 사이드바가 Global Level에 있음을 확인해 줄 거예요.
- Global IAM 아래에서 Users를 선택해요.
- 권한 없는 사용자를 만들어요: New User를 클릭하고 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 사용자를
unauthorized라고 불러요. - Description — (선택) 식별을 위한 설명
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 사용자를
- 권한 있는 사용자를 만들어요: Users 페이지로 돌아가 New User를 클릭하고 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 사용자를
authorized라고 불러요. - Description — (선택) 식별을 위한 설명
- Save를 클릭해요.
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 사용자를
글로벌 스코프에서 권한 없는 사용자에게 최소 권한 할당(Admin UI):
- 글로벌 스코프에 있는지 확인해요.
- 사이드바에서 Roles를 클릭하고 New Role을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
unauthorized_global_role이라고 불러요. - Description — (선택) 식별을 위한 설명
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
- Save를 클릭해요.
- 새 역할의 Principals 탭을 선택하고 Add Principals를 클릭해요.
- 글로벌 스코프에서 권한 없는 사용자 옆의 박스를 선택하고 Add Principals를 클릭해요.
- 역할의 Grants 탭을 선택해요.
- New Grant 필드에 grant 문자열
type=auth-token;ids=*;actions=read:self를 입력하고 Add를 클릭해요. - New Grant 필드에 또 다른 grant
type=user;actions=list-resolvable-aliases;ids=*를 추가하고 Add를 클릭해요. - Save를 클릭해요.
위 예시에는 두 개의 grant 문자열이 있어요:
"type=auth-token;ids=*;actions=read:self"— 이 grant는 투명 세션 워크플로우를 사용한다면 사용자가 Client Agent에 인증할 수 있게 해줘요."type=user;actions=list-resolvable-aliases;ids=*"— 이 grant는 투명 세션 워크플로우에서 사용자가 앨리어스를 읽을 수 있게 해줘요.
글로벌 스코프에서 권한 있는 사용자에게 읽기 권한 할당(Admin UI):
- 글로벌 스코프에 있는지 확인해요.
- 사이드바에서 Roles를 클릭하고 New Role을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
authorized_global_role이라고 불러요. - Description — (선택) 식별을 위한 설명
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
- Save를 클릭해요.
- 새 역할의 Principals 탭을 선택하고 Add Principals를 클릭해요.
- 글로벌 스코프에서 권한 있는 사용자 옆의 박스를 선택하고 Add Principals를 클릭해요.
- 역할의 Grants 탭을 선택해요.
- New Grant 필드에 grant 문자열
ids=*;type=*;actions=read를 입력하고 Add를 클릭해요. - New Grant 필드에 또 다른 grant
type=auth-token;ids=*;actions=read:self를 추가하고 Add를 클릭해요. - New Grant 필드에 또 다른 grant
type=user;actions=list-resolvable-aliases;ids=*를 추가하고 Add를 클릭해요. - Save를 클릭해요.
grant 문자열 "ids=*;type=*;actions=read"는 사용자가 글로벌 스코프의 모든 자원을 읽을 수 있게 해줘요.
org 스코프에서 권한 있는 사용자에게 전체 접근 권한 할당(Admin UI):
- 페이지 오른쪽 위의 Back to Global을 클릭해요.
- Orgs 페이지에서 org 이름(예:
dev-projects또는 IDo_c2Ah7bPMj5)을 선택해요. - 사이드바에서 Roles를 클릭하고 New Role을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
authorized_org_role이라고 불러요. - Description — (선택) 식별을 위한 설명
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
- Save를 클릭해요.
- 새 역할의 Principals 탭을 선택하고 Add Principals를 클릭해요.
- 글로벌 스코프에서 권한 있는 사용자 옆의 박스를 선택하고 Add Principals를 클릭해요.
- 역할의 Grants 탭을 선택해요.
- New Grant 필드에 grant 문자열
ids=*;type=*;actions=*를 입력하고 Add를 클릭해요. - Save를 클릭해요.
grant 문자열 "ids=*;type=*;actions=*"는 사용자가 스코프에서 모든 작업을 수행할 수 있게 해줘요.
project 스코프에서 권한 있는 사용자에게 전체 접근 권한 할당(Admin UI):
- 왼쪽 사이드바의 Org Level 아래에서 Projects를 선택해요.
- Projects 페이지에서 project 이름(예:
web-infrastructure또는 IDp_UXVxIgpZ8U)을 선택해요. - 사이드바에서 Roles를 클릭하고 New Role을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
authorized_project_role이라고 불러요. - Description — (선택) 식별을 위한 설명
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요. 이 예시에서는 역할을
- Save를 클릭해요.
- 새 역할의 Principals 탭을 선택하고 Add Principals를 클릭해요.
- 글로벌 스코프에서 권한 있는 사용자 옆의 박스를 선택하고 Add Principals를 클릭해요.
- 역할의 Grants 탭을 선택해요.
- New Grant 필드에 grant 문자열
ids=*;type=*;actions=*를 입력하고 Add를 클릭해요. - Save를 클릭해요.
권한 없는 사용자와 권한 있는 사용자 만들기(CLI):
권한 없는 사용자를 만들고 그 권한을 제한해요.
- Boundary에 로그인해요.
BOUNDARY_PROJECT_ID환경 변수를 설정하거나, 다음 단계에서 스코프 ID(예:p_1234567890)를 제공해요.- 권한 없는 사용자를 만들어요:
$ boundary users create -scope-id $BOUNDARY_PROJECT_ID -name "unauthorized"
User information:
Created Time: Thu, 15 Jan 2026 19:25:48 MST
ID: u_2pA1bPrvjl
Name: unauthorized
Updated Time: Thu, 15 Jan 2026 19:25:48 MST
Version: 1
Scope:
ID: o_c2Ah7bPMj5
Name:
Parent Scope ID: global
Type: org
Authorized Actions:
no-op
read
update
delete
add-accounts
set-accounts
remove-accounts
list-resolvable-aliases
- 사용자 ID(예:
u_2pA1bPrvjl)를 복사해요. - 권한 없는 사용자를 위한
unauthorized_global_role이라는 새 역할을 만들어요:
$ boundary roles create -scope-id global -name "unauthorized_global_role"
Role information:
Created Time: Thu, 15 Jan 2026 19:22:38 MST
ID: r_jOyos6VIZR
Name: unauthorized_global_role
Updated Time: Thu, 15 Jan 2026 19:22:38 MST
Version: 1
Scope:
ID: global
Name: global
Type: global
Authorized Actions:
add-grant-scopes
update
set-grant-scopes
no-op
add-principals
delete
remove-principals
remove-grant-scopes
read
set-principals
add-grants
set-grants
remove-grants
Grant Scope IDs:
ID: this
- 역할 ID(예:
r_jOyos6VIZR)를 복사해요. - 역할에 권한을 추가해요. 명령에 자신의 역할 ID를 사용하세요:
$ boundary roles add-grants -id r_jOyos6VIZR -grant "type=auth-token;ids=*;actions=read:self" -grant "type=user;actions=list-resolvable-aliases;ids=*"
위 예시에는 두 개의 grant 문자열이 있어요:
-
"type=auth-token;ids=*;actions=read:self"— 이 grant는 투명 세션 워크플로우를 사용한다면 사용자가 Client Agent에 인증할 수 있게 해줘요. -
"type=user;actions=list-resolvable-aliases;ids=*"— 이 grant는 투명 세션 워크플로우에서 사용자가 앨리어스를 읽을 수 있게 해줘요. -
권한 없는 사용자를 권한 없는 역할의 principal로 할당해요. 예시 역할 ID와 사용자 ID를 자신의 것으로 바꾸세요. 여기서 그룹을 사용할 수도 있다는 점에 유의하세요:
$ boundary roles add-principals -id r_jOyos6VIZR -principal u_2pA1bPrvjl
권한 있는 사용자 만들고 글로벌 스코프에서 읽기 권한 부여(CLI):
- 권한 있는 사용자를 만들어요:
$ boundary users create -scope-id $BOUNDARY_PROJECT_ID -name "authorized"
- 사용자 ID(예:
u_JogL5yWuKP)를 복사해요. - 권한 있는 사용자를 위한 글로벌 스코프의 새 역할을 만들어요:
$ boundary roles create -scope-id global -name "authorized_global_role"
- 역할 ID(예:
r_6MuGPBkg8d)를 복사해요. - 역할에 권한을 추가해요. 명령에 자신의 역할 ID를 사용하세요:
$ boundary roles add-grants -id r_6MuGPBkg8d -grant "ids=*;type=*;actions=read" -grant "type=auth-token;ids=*;actions=read:self" -grant "type=user;actions=list-resolvable-aliases;ids=*"
grant 문자열 "ids=*;type=*;actions=read"는 사용자가 글로벌 스코프의 모든 자원을 읽을 수 있게 해줘요.
org와 project 스코프에서 권한 있는 사용자에게 전체 접근 부여(CLI):
전체 접근 권한이 있는 authorized_org_role과 authorized_project_role을 만들어요.
- 권한 있는 사용자를 위한 org 스코프의
authorized_org_role이라는 새 역할을 만들어요. 자신의 org ID(예:o_c2Ah7bPMj5)를 제공하세요:
$ boundary roles create -scope-id o_c2Ah7bPMj5 -name "authorized_org_role"
- 역할 ID(예:
r_92hVjrgcEN)를 복사해요. - 역할에 전체 접근 권한을 추가해요. 명령에 자신의 역할 ID를 사용하세요:
$ boundary roles add-grants -id r_92hVjrgcEN -grant "ids=*;type=*;actions=*"
grant 문자열 "ids=*;type=*;actions=*"는 사용자가 스코프에서 모든 작업을 수행할 수 있게 해줘요.
- 권한 있는 사용자를
authorized_org_role의 principal로 할당해요. 예시 역할 ID와 사용자 ID를 자신의 것으로 바꾸세요:
$ boundary roles add-principals -id r_92hVjrgcEN -principal u_JogL5yWuKP
- 이 과정을 반복해 권한 있는 사용자를 위한 전체 접근 권한
"ids=*;type=*;actions=*"을 가진authorized_project_role을 만들어요.
Terraform으로 사용자와 권한 만들기:
Boundary Terraform provider로 Boundary 자원을 정의할 수 있어요.
권한 없는 사용자 만들기:
resource "boundary_account_password" "unauthorized_user" {
auth_method_id = boundary_auth_method.password.id
login_name = "unauthorized"
password = "unauthorized"
}
권한 없는 사용자에게 최소 권한 할당:
resource "boundary_role" "unauthorized" {
description = "Unauthorized user read-auth-token"
grant_strings = [
"type=auth-token;ids=*;actions=read:self",
"type=user;actions=list-resolvable-aliases;ids=*",
]
name = "unauthorized_global_role"
principal_ids = [boundary_user.unauthorized_user.id]
scope_id = "global"
}
위 예시에는 두 개의 grant 문자열이 있어요:
"type=auth-token;ids=*;actions=read:self"— 이 grant는 투명 세션 워크플로우를 사용한다면 사용자가 Client Agent에 인증할 수 있게 해줘요."type=user;actions=list-resolvable-aliases;ids=*"— 이 grant는 투명 세션 워크플로우에서 사용자가 앨리어스를 읽을 수 있게 해줘요.
권한 있는 사용자 만들기:
resource "boundary_account_password" "authorized_user" {
auth_method_id = boundary_auth_method.password.id
login_name = "authorized"
password = "authorized"
}
글로벌 스코프에서 권한 있는 사용자에게 읽기 권한을, org와 project 스코프에서 전체 접근 권한을 할당:
resource "boundary_role" "authorized_global_role" {
name = "authorized_global_role"
description = "Authorized Global Role"
scope_id = "global"
principal_ids = [boundary_user.authorized_user.id]
grant_strings = [
"ids=*;type=*;actions=read",
"type=auth-token;ids=*;actions=read:self",
"type=user;actions=list-resolvable-aliases;ids=*",
]
}
resource "boundary_role" "authorized_org_role" {
name = "authorized_org_role"
description = "Authorized Org Role"
scope_id = boundary_scope.org.id
principal_ids = [boundary_user.authorized_user.id]
grant_strings = ["ids=*;type=*;actions=*"]
}
resource "boundary_role" "authorized_project_role" {
name = "authorized_project_role"
description = "Authorized Project Role"
scope_id = boundary_scope.project.id
principal_ids = [boundary_user.authorized_user.id]
grant_strings = ["ids=*;type=*;actions=*"]
}
위 예시에는 두 개의 새 grant 문자열이 있어요:
"ids=*;type=*;actions=read"— 이 grant는 사용자가 할당된 스코프의 모든 자원을 읽을 수 있게 해줘요."ids=*;type=*;actions=*"— 이 grant는 사용자가 스코프에서 모든 작업을 수행할 수 있게 해줘요. 본질적으로 그 스코프에서 관리자 권한을 부여하죠.
웹 대상 구성
테스트 사용자가 생겼으니 웹 대상을 설정해요. 이 예시는 웹 대상의 호스트에 포트 443에서 실행되는 샘플 웹 애플리케이션이 있고, Boundary를 통해 연결했을 때 권한 있는 사용자가 접근할 수 있다고 가정해요.
웹 서버용 TCP 대상을 만들어요. 이 예시는 HTTPS용 포트 443을 가정해요.
Admin UI로 웹 대상 생성:
- Project Actions 아래에서 Targets를 선택해요.
- New Target을 클릭해요.
- 다음 필드를 작성해요:
- Name — (필수) 식별을 위한 이름. 이름은 유일해야 해요.
- Description — (선택) 식별을 위한 대상 설명
- Type — (필수) TCP 대상을 만들려면 TCP를 선택해요.
- Target Address — (선택) 호스트 카탈로그와 호스트 셋을 사용하지 않는다면, 대상 주소를 입력해 대상을 단일 주소에 매핑할 수 있어요. 유효한 IP 주소나 DNS 이름이어야 해요.
- Default Port — (필수) 연결할 기본 포트. 예:
443 - Aliases — (선택) 대상의 전역 범위 유일 식별자로, CLI나 투명 세션으로 대상에 더 쉽게 연결하게 해줘요. 앨리어스를 만들면 Add를 클릭해 할당해요.
- Save를 클릭해요.
CLI로 웹 대상 생성:
웹 서버용 TCP 대상을 만들어요. 이 예시는 HTTPS용 포트 443을 가정해요.
- 별칭
test.example.com, 직접 대상 주소10.0.0.30, 기본 연결 포트443을 가진test-example-web-server라는 TCP 대상을 만들려면 다음 명령을 사용해요:
$ boundary targets create tcp \
-scope-id $BOUNDARY_PROJECT_ID \
-name "test-example-web-server" \
-with-alias-value "test.example.com" \
-address "10.0.0.30" \
-default-port 443
대상을 만들 때는 scope-id 필드를 반드시 제공해야 해요. 대상 생성 시 사용할 수 있는 더 많은 필드는 targets 도메인 모델 문서를, 모든 CLI 옵션은 targets create 명령을 참고하세요.
Terraform으로 웹 대상 생성:
HTTPS용 포트 443을 가정한 TCP 대상을 만들어요:
resource "boundary_target" "example" {
name = "test-example-web-server"
description = "Apache web server for test.example.com"
type = "tcp"
address = "10.0.0.30"
default_port = "443"
scope_id = boundary_scope.project.id
}
선택한 연결 워크플로우에 유용하다면 앨리어스를 만들 수 있어요:
resource "boundary_alias_target" "test.example.com" {
name = "test-example-web-server"
description = "Target alias for test-example-web-server"
scope_id = "global"
value = "test.example.com"
destination_id = boundary_target.example.id
}
더 알아보기 (Learn more)
- HTTPS 웹 대상 구성에 대한 심층 예시는 HashiCorp 블로그의 Secure remote access to private HTTPS targets with HashiCorp Boundary 글을 참고하세요.
- 대상에 연결하는 방법은 Connection workflows 문서를 참고하세요.
- 대상 앨리어스를 사용해 대상에 연결하려면:
- 대상 앨리어스 생성
- 앨리어스로 대상에 연결
- 대상 앨리어스를 설정한 뒤에는 선택적으로 최종 사용자를 위한 투명 세션 구성을 할 수 있어요.