Boundary connect helpers
Boundary connect helpers
Boundary connect helpers는 호스트 키 프롬프트를 자동으로 수락하고 올바른 클라이언트 — psql, mongosh, kubectl 등 — 를 올바른 연결 파라미터로 호출해줘요. 그래서 Cassandra, HTTP, Kubernetes, MySQL, PostgreSQL, RDP, Redis, SSH 대상에 수동 설정 없이 연결할 수 있어요. 대상에 연결하는 모든 방법에 대한 개요는 연결 워크플로우를 참고하세요.
본문
이들은 boundary connect <subcommand>로 작성되며 다음 연결 유형을 지원해요:
- Cassandra
- HTTP
- Kubernetes
- Mongo
- MySQL
- PostgreSQL
- RDP
- Redis
- SSH
클라이언트에 추가 플래그를 전달하고 싶다면, 이중 대시로 구분해 명령줄에 추가하면 돼요. Boundary는 이중 대시 뒤의 모든 것을 실행되는 클라이언트에 전달해요. 예를 들어 다음 명령은 SSH connect helper를 사용해 -l some-other-user를 SSH 클라이언트에 전달해요:
$ boundary connect ssh -target-id ttcp_1234567890 -- -l some-other-user
Connect helpers는 기본 클라이언트를 재정의하고 다른 스타일로 인자를 구성할 수 있는 -style 플래그도 지원해요. 예를 들어 SSH connect helper는 기본 스타일 ssh 외에도 PuTTY에 연결 정보를 전달할 수 있는 -style putty 옵션을 지원해요. -exec 플래그에 대한 자세한 내용은 Exec flag 문서를 참고하세요.
스타일의 한 가지 장점은 Boundary가 클라이언트에 의미 있는 형식으로 정보를 제공할 수 있다는 거예요. 예를 들어 -username 플래그는 현재 로그인한 사용자와 다른 사용자 이름을 지정하는 데 사용해요. 이렇게 하면 어떤 -style을 선택하든 사용자 이름이 실행되는 클라이언트에 제대로 전달되므로, 문법을 직접 알아낼 필요가 없어요.
Cassandra connect helper
Cassandra connect helper는 대상에 대해 세션을 승인하고 cqlsh를 사용해 Cassandra 클라이언트를 호출해서 적절한 연결 파라미터와 크레덴셜로 자동 연결해요. 사용자 이름/비밀번호 크레덴셜과 Cassandra의 PasswordAuthenticator를 사용하는 구성만 지원돼요.
다음 예시는 Cassandra 클라이언트를 실행하고 ID ttcp_1234567890인 대상에 연결을 설정해요. admin 사용자 이름을 클라이언트로 전달해요.
$ boundary connect cassandra -target-id ttcp_1234567890 -username admin
Cassandra helper는 다음 플래그를 지원해요:
-keyspace(string: "") — 클라이언트로 전달하려는 키스페이스 이름.BOUNDARY_CONNECT_KEYSPACE환경 변수로도 지정할 수 있어요.-style(string: "") — CLI가 Cassandra 클라이언트를 호출하는 방식. 이 값은-exec를 지정하지 않았다면 그에 적합한 기본값도 설정해요. 기본값은cqlsh예요.BOUNDARY_CONNECT_CASSANDRA_STYLE환경 변수로도 지정할 수 있어요.-username(string: "") — 클라이언트로 전달하려는 사용자 이름. 크레덴셜 스토어에서 가져온 크레덴셜로 덮어쓸 수 있어요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect cassandra 명령 문서를 참고하세요.
HTTP connect helper
HTTP connect helper는 curl을 실행하고 HTTP 경로, 메서드, 동사 같은 정보를 전달해요. Boundary 프록시를 통해 API 엔드포인트를 호출할 때 유용할 수 있어요.
다음 예시는 뉴욕의 비 예보를 얻기 위해 날씨 API 엔드포인트를 호출해요:
$ boundary connect http -target-id ttcp_VlpkajEuuf -path '/v1/forecast?latitude=40.7143&longitude=-74.006&daily=precipitation_sum&timezone=America%2FNew_York'
HTTP helper는 다음 플래그를 지원해요:
-host— 사용할 host 값을 지정하고 세션 정보의 엔드포인트 주소를 재정의해요. Boundary는 지정된 호스트 이름을 클라이언트에 전달해 Host 헤더와 TLS SNI 값에 사용해요.BOUNDARY_CONNECT_HTTP_HOST환경 변수로도 지정할 수 있어요.-method— 사용할 메서드를 지정해요. 설정하지 않으면 helper는 클라이언트의 기본 메서드를 사용해요.BOUNDARY_CONNECT_HTTP_METHOD환경 변수로도 지정할 수 있어요.-path— Boundary가 생성된 URL에 추가하는 경로를 지정해요.BOUNDARY_CONNECT_HTTP_PATH환경 변수로도 지정할 수 있어요.-scheme— 사용할 스킴을 지정해요. 기본 스킴은https예요.BOUNDARY_CONNECT_HTTP_SCHEME환경 변수로도 지정할 수 있어요.-style— CLI가 HTTP 클라이언트를 호출하는 방식을 지정해요. HTTP helper의 유일하게 지원되는 스타일은curl이에요.BOUNDARY_CONNECT_HTTP_STYLE환경 변수로도 지정할 수 있어요.
자세한 내용은 connect http 명령 문서를 참고하세요.
Kubernetes connect helper
Kubernetes connect helper는 호출을 Boundary를 통해 프록시해서 kubectl을 실행해요. API 서버를 공개적으로 노출하지 않는 Kubernetes 클러스터에 접근할 때 유용할 수 있어요. kubectl에 서브커맨드를 전달하려면 -- 뒤에 전달할 명령을 넣으면 돼요.
다음 예시는 kubectl top node를 호출해요:
$ boundary connect kube -target-id ttcp_Yq0QCUMSe2 -- top node
Kubernetes helper는 다음 플래그를 지원해요:
-host— 사용할 host 값을 지정하고 세션 정보의 엔드포인트 주소를 재정의해요.BOUNDARY_CONNECT_KUBE_HOST환경 변수로도 지정할 수 있어요.-scheme— 사용할 스킴을 지정해요. 기본 스킴은https예요.BOUNDARY_CONNECT_KUBE_SCHEME환경 변수로도 지정할 수 있어요.-style— CLI가 Kubernetes 클라이언트를 호출하는 방식을 지정해요. Kubernetes helper의 유일하게 지원되는 스타일은kubectl이에요.BOUNDARY_CONNECT_KUBE_STYLE환경 변수로도 지정할 수 있어요.
자세한 내용은 connect kube 명령 문서를 참고하세요.
Mongo connect helper
Mongo connect helper는 대상에 대해 세션을 승인하고 mongosh를 사용해 MongoDB 클라이언트를 호출해서 적절한 연결 파라미터와 크레덴셜로 자동 연결해요.
다음 예시는 MongoDB 클라이언트를 실행하고 mongo라는 데이터베이스에 연결을 설정해요:
$ boundary connect mongo -target-id ttcp_1234567890 -dbname mongo
Mongo helper는 다음 플래그를 지원해요:
-authentication-database(string: "") — MongoDB의 인증 데이터베이스를 지정해요. 이 값을 생략하면mongosh가 authSource를dbname으로 기본 설정해요. 지정된dbname이 없으면admin으로 기본 설정돼요.BOUNDARY_CONNECT_MONGO_AUTHENTICATION_DATABASE환경 변수로도 지정할 수 있어요.-dbname(string: "") — 클라이언트로 전달할 데이터베이스 이름을 지정해요.BOUNDARY_CONNECT_DBNAME환경 변수로도 지정할 수 있어요.-style(string: "") — CLI가 MongoDB 클라이언트를 호출하는 방식을 지정해요. 현재mongosh만 지원돼요.BOUNDARY_CONNECT_MONGO_STYLE환경 변수로도 지정할 수 있어요.-username(string: "") — 클라이언트로 전달할 사용자 이름을 지정해요. 크레덴셜 스토어에서 가져온 크레덴셜로 덮어쓸 수 있어요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect mongo 명령 문서를 참고하세요.
MySQL connect helper
MySQL connect helper는 대상에 대해 세션을 승인하고 MySQL 클라이언트를 호출해서 적절한 연결 파라미터와 크레덴셜로 자동 연결해요.
다음 예시는 MySQL 클라이언트를 실행하고 Boundary를 통해 연결을 설정해요:
$ boundary connect mysql -target-id ttcp_1234567890
MySQL helper는 다음 플래그를 지원해요:
-dbname(string: "") — 클라이언트로 전달하려는 데이터베이스 이름.BOUNDARY_CONNECT_DBNAME환경 변수로도 지정할 수 있어요.-style(string: "") — CLI가 MySQL 클라이언트를 호출하는 방식. 이 값은-exec를 지정하지 않았다면 그에 적합한 기본값도 설정해요. 기본값이자 현재 이해되는 값은mysql이에요.BOUNDARY_CONNECT_MYSQL_STYLE환경 변수로도 지정할 수 있어요.-username(string: "") — 클라이언트로 전달하려는 사용자 이름. 크레덴셜 스토어에서 가져온 크레덴셜로 덮어쓸 수 있어요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect mysql 명령 문서를 참고하세요.
PostgreSQL connect helper
PostgreSQL helper는 psql을 실행하고 명령줄에서 사용자 이름과 데이터베이스 이름 같은 정보를 전달해요.
다음 예시는 boundary라는 PostgreSQL 데이터베이스에 연결해요:
$ boundary connect postgres -target-id ttcp_eTcZMueUYv -username admin -dbname postgres
PostgreSQL helper는 브로커링된 크레덴셜을 자동으로 주입해서, 사용자 이름과 비밀번호를 알지 않아도 PostgreSQL 인스턴스에 접근할 수 있게 해줘요.
$ boundary connect postgres -target-id ttcp_eTcZMueUYv -dbname postgres
PostgreSQL helper는 다음 플래그를 지원해요:
-dbname— 클라이언트로 전달하려는 데이터베이스 이름을 지정해요.BOUNDARY_CONNECT_DBNAME환경 변수로도 지정할 수 있어요.-style— CLI가 PostgreSQL 클라이언트를 호출하는 방식을 지정해요. PostgreSQL helper의 유일하게 지원되는 스타일은psql이에요.BOUNDARY_CONNECT_POSTGRES_STYLE환경 변수로도 지정할 수 있어요.-username— 클라이언트로 전달하려는 사용자 이름을 지정해요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect postgres 명령 문서를 참고하세요.
RDP connect helper
RDP(Remote Desktop Protocol) connect helper는 운영 체제에 따라 사용할 RDP 클라이언트를 결정해요. Windows에서는 mstsc.exe를, Mac에서는 open을 사용해요. 다른 운영 체제는 현재 지원되지 않아요.
다음 예시는 RDP 클라이언트를 실행하고 Boundary를 통해 연결을 설정해요:
$ boundary connect rdp -target-id ttcp_eTcZMueUYv
RDP helper는 다음 플래그를 지원해요:
-style— CLI가 RDP 클라이언트를 호출하는 방식을 지정해요. RDP helper는mstsc와open스타일을 지원해요. Windows 클라이언트에서는mstsc가 기본 스타일이고, Mac 클라이언트의 기본값은open이에요.BOUNDARY_CONNECT_RDP_STYLE환경 변수로도 지정할 수 있어요.
자세한 내용은 connect rdp 명령 문서를 참고하세요.
Redis connect helper
Redis connect helper는 대상에 대해 세션을 승인하고 Redis 클라이언트를 호출해서 적절한 연결 파라미터와 크레덴셜로 자동 연결해요. 사용자 이름/비밀번호 크레덴셜만 지원돼요.
다음 예시는 Redis 클라이언트를 실행하고 Boundary를 통해 연결을 설정해요:
$ boundary connect redis -target-id ttcp_1234567890
Redis helper는 다음 플래그를 지원해요:
-style(string: "") — CLI가 Redis 클라이언트를 호출하는 방식을 지정해요. 현재redis-cli만 지원돼요.BOUNDARY_CONNECT_REDIS_STYLE환경 변수로도 지정할 수 있어요.-username(string: "") — 클라이언트로 전달할 사용자 이름을 지정해요. 크레덴셜 스토어에서 가져온 크레덴셜로 덮어쓸 수 있어요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect redis 명령 문서를 참고하세요.
SSH connect helper
SSH connect helper는 SSH를 자동으로 실행하고 연결 정보를 전달해요. 다른 포트가 자동으로 할당될 때 향후 연결에서 경고가 발생하지 않도록 예상 호스트 ID가 설정돼요. 첫 연결 시에는 여전히 호스트 키를 수락해야 해요.
다음 예시는 ID ttcp_1234567890인 대상에 연결하고 로컬 주소와 포트를 자동으로 채워요:
$ boundary connect ssh -target-id ttcp_1234567890
SSH helper는 다음 플래그를 지원해요:
-remote-command— 원격 호스트에서 실행하려는 명령을 지정해요. 전체 명령줄을 지정하거나 추가 인자를 포함할 수 있어요. 추가 인자를 포함하면 명령에 덧붙이고 공백으로 구분해야 해요.-style— CLI가 SSH 클라이언트를 호출하는 방식을 지정해요. SSH helper는ssh와putty스타일을 지원해요. 기본 스타일은ssh예요.BOUNDARY_CONNECT_SSH_STYLE환경 변수로도 지정할 수 있어요.-username— 클라이언트로 전달하려는 사용자 이름을 지정해요.BOUNDARY_CONNECT_USERNAME환경 변수로도 지정할 수 있어요.
자세한 내용은 connect ssh 명령 문서를 참고하세요.