InfoGrab Docs

데이터베이스 접근 FAQ

요약

이 페이지는 Teleport로 데이터베이스를 등록하는 것에 대한 일반적인 질문들의 답변을 제공합니다. Teleport 데이터베이스 서비스는 현재 다음 프로토콜을 지원합니다: PostgreSQL, Oracle, MySQL의 경우 자체 호스팅 배포 외에도 다음 클라우드 호스팅 버전이 지원됩니다:

이 페이지는 Teleport로 데이터베이스를 등록하는 것에 대한 일반적인 질문들의 답변을 제공합니다. Teleport 전반에 관한 자주 묻는 질문 목록은 자주 묻는 질문을 참조하세요.

Teleport 데이터베이스 서비스가 지원하는 데이터베이스 프로토콜은 무엇인가요?#

Teleport 데이터베이스 서비스는 현재 다음 프로토콜을 지원합니다:

  • Cassandra
  • ClickHouse
  • CockroachDB
  • DynamoDB
  • MariaDB
  • Microsoft SQL Server
  • MongoDB
  • MySQL
  • Oracle
  • OpenSearch
  • PostgreSQL
  • Redis and Valkey
  • Snowflake

PostgreSQL, Oracle, MySQL의 경우 자체 호스팅 배포 외에도 다음 클라우드 호스팅 버전이 지원됩니다:

  • Amazon RDS
  • Amazon Aurora (IAM 인증을 지원하지 않는 Amazon Aurora Serverless 제외)
  • Amazon Redshift
  • Google Cloud SQL
  • Azure Database
  • Oracle Exadata

지원되는 모든 구성에 대해서는 이용 가능한 가이드를 참조하세요.

지원되지 않는 PostgreSQL 프로토콜 기능은 무엇인가요?#

다음 PostgreSQL 프로토콜 기능은 현재 지원되지 않습니다:

  • 클라이언트 인증서 인증과 클라우드 데이터베이스의 IAM 인증을 제외한 모든 인증 방법

데이터베이스 세션이 기록된 세션 목록에 표시되나요?#

You can view database session activity in the audit log. After a session is uploaded, you can play back the audit data with the tsh play command.

Database session ID will be in a UUID format (ex: 307b49d6-56c7-4d20-8cf0-5bc5348a7101) See the audit log to get a database session ID with a key of sid.

PostgreSQL database recordings are available in interactive format:

$ tsh play 307b49d6-56c7-4d20-8cf0-5bc5348a7101
Session started to database "postgres-database" at Mon Jul 20 20:00 UTC

postgres=> SELECT * FROM products;
SUCCESS
(10 rows affected)

postgres=> INSERT INTO products (name, price) VALUES ('Phone', 150.00);
ERROR: permission denied for table products (SQLSTATE 42501)

Session ended at Mon Jul 20 20:30 UTC

All database protocols recordings are supported in JSON format (--format json):

$ tsh play --format json 307b49d6-56c7-4d20-8cf0-5bc5348a7101
{
    "cluster_name": "teleport.example.com",
    "code": "TDB02I",
    "db_name": "example",
    "db_origin": "dynamic",
    "db_protocol": "postgres",
    "db_query": "select * from sample;",
    "db_roles": [
        "access"
    ],
    "db_service": "example",
    "db_type": "rds",
    "db_uri": "databases-1.us-east-1.rds.amazonaws.com:5432",
    "db_user": "alice",
    "ei": 2,
    "event": "db.session.query",
    "sid": "307b49d6-56c7-4d20-8cf0-5bc5348a7101",
    "success": true,
    "time": "2023-10-06T10:58:32.88Z",
    "uid": "a649d925-9dac-44cc-bd04-4387c295580f",
    "user": "alice"
}

The audit log is viewable under Audit in the left-hand pane via the Web UI for users with permission to the event resources. Database sessions are listed on the session recordings page, but only PostgreSQL sessions are playable.

데이터베이스 클라이언트가 웹 공개 주소와 다른 공개 주소를 사용할 수 있나요?#

Teleport 프록시 서비스를 구성할 때 관리자는 postgres_public_addrmysql_public_addr 구성 필드를 각 데이터베이스 클라이언트가 연결해야 하는 공개 주소로 설정할 수 있습니다. 자세한 내용은 프록시 구성을 참조하세요.

이는 Teleport Web UI가 L7 로드 밸런서(예: AWS의 ALB) 뒤에서 실행될 때 유용하며, 이 경우 PostgreSQL/MySQL 프록시는 일반 TCP 로드 밸런서(예: AWS의 NLB)에 노출되어야 합니다.

Teleport 프록시 서비스에 TLS 라우팅을 사용하면 웹 공개 주소로 모든 데이터베이스 연결이 가능합니다.

Teleport Enterprise (Cloud)에서 데이터베이스 연결은 TLS 라우팅이 적용되므로 웹 공개 주소를 사용합니다.

X 데이터베이스 클라이언트를 지원하나요?#

Teleport는 인증에 클라이언트 인증서를 사용하므로, 이 인증 방법을 지원하고 최신 TLS(1.2+)를 사용하는 모든 데이터베이스 클라이언트가 작동해야 합니다.

psql, mysql, mongo 또는 mongosh와 같은 표준 명령줄 클라이언트가 지원됩니다. 선택한 그래픽 클라이언트 구성에 대한 지침도 있습니다.

X 데이터베이스는 언제 지원될 예정인가요?#

저희는 고객 수요에 따라 향후 더 많은 데이터베이스를 지원할 계획입니다.

관심 있는 데이터베이스가 이미 GitHub 이슈에 요청되었는지 확인하거나 관심 등록을 위해 새 이슈를 열어주세요.

사용자 정의 CA 인증서를 제공할 수 있나요?#

네, 구성 파일을 사용하여 사용자 정의 CA 인증서를 전달할 수 있습니다(ca_cert_file 항목 참조).

Teleport가 생성한 CA에 사용자 정의 DNS 이름을 제공할 수 있나요?#

네, Teleport 구성 파일의 tls 섹션 아래 server_name을 사용하세요. 자세한 내용은 참조 구성 파일을 참조하세요.

데이터베이스 연결 시 CA 검증을 비활성화할 수 있나요?#

네, 권장하지는 않습니다. 인증서 검증은 중간자 공격을 방지하고 의도한 데이터베이스에 연결되어 있는지 확인합니다.

Teleport를 사용하면 구성 파일을 편집하여 사용자 정의 CA 인증서(ca_cert_file) 또는 사용자 정의 DNS 이름(server_name)을 제공할 수도 있으며, 이것이 더 안전합니다.

위 옵션 중 어느 것도 적합하지 않고 여전히 CA 확인을 비활성화하려면 Teleport 구성 파일의 tls 옵션 아래 mode를 사용할 수 있습니다.

자세한 내용은 참조 구성 파일을 참조하세요.

자동 검색된 데이터베이스에서 읽기 전용 및 사용자 정의 엔드포인트를 비활성화할 수 있나요?#

네, aws 매처에서 Teleport가 생성한 레이블 endpoint-type을 사용하여 엔드포인트를 필터링할 수 있습니다. 예를 들어, RDS 자동 검색에서 읽기 전용 및 사용자 정의 엔드포인트를 비활성화하려면 다른 엔드포인트 유형을 지정하여 매칭할 수 있습니다:

  aws:
  - types: ["rds"]
    regions: ["us-west-1"]
    tags:
      "env": "dev"
      "endpoint-type":
        - "primary"
        - "instance"

Teleport가 생성한 레이블과 값의 전체 목록은 레이블 참조를 참조하세요.

데이터베이스 접근 FAQ

원문 보기
요약

이 페이지는 Teleport로 데이터베이스를 등록하는 것에 대한 일반적인 질문들의 답변을 제공합니다. Teleport 데이터베이스 서비스는 현재 다음 프로토콜을 지원합니다: PostgreSQL, Oracle, MySQL의 경우 자체 호스팅 배포 외에도 다음 클라우드 호스팅 버전이 지원됩니다:

이 페이지는 Teleport로 데이터베이스를 등록하는 것에 대한 일반적인 질문들의 답변을 제공합니다. Teleport 전반에 관한 자주 묻는 질문 목록은 자주 묻는 질문을 참조하세요.

Teleport 데이터베이스 서비스가 지원하는 데이터베이스 프로토콜은 무엇인가요?#

Teleport 데이터베이스 서비스는 현재 다음 프로토콜을 지원합니다:

  • Cassandra
  • ClickHouse
  • CockroachDB
  • DynamoDB
  • MariaDB
  • Microsoft SQL Server
  • MongoDB
  • MySQL
  • Oracle
  • OpenSearch
  • PostgreSQL
  • Redis and Valkey
  • Snowflake

PostgreSQL, Oracle, MySQL의 경우 자체 호스팅 배포 외에도 다음 클라우드 호스팅 버전이 지원됩니다:

  • Amazon RDS
  • Amazon Aurora (IAM 인증을 지원하지 않는 Amazon Aurora Serverless 제외)
  • Amazon Redshift
  • Google Cloud SQL
  • Azure Database
  • Oracle Exadata

지원되는 모든 구성에 대해서는 이용 가능한 가이드를 참조하세요.

지원되지 않는 PostgreSQL 프로토콜 기능은 무엇인가요?#

다음 PostgreSQL 프로토콜 기능은 현재 지원되지 않습니다:

  • 클라이언트 인증서 인증과 클라우드 데이터베이스의 IAM 인증을 제외한 모든 인증 방법

데이터베이스 세션이 기록된 세션 목록에 표시되나요?#

You can view database session activity in the audit log. After a session is uploaded, you can play back the audit data with the tsh play command.

Database session ID will be in a UUID format (ex: 307b49d6-56c7-4d20-8cf0-5bc5348a7101) See the audit log to get a database session ID with a key of sid.

PostgreSQL database recordings are available in interactive format:

$ tsh play 307b49d6-56c7-4d20-8cf0-5bc5348a7101
Session started to database "postgres-database" at Mon Jul 20 20:00 UTC

postgres=> SELECT * FROM products;
SUCCESS
(10 rows affected)

postgres=> INSERT INTO products (name, price) VALUES ('Phone', 150.00);
ERROR: permission denied for table products (SQLSTATE 42501)

Session ended at Mon Jul 20 20:30 UTC

All database protocols recordings are supported in JSON format (--format json):

$ tsh play --format json 307b49d6-56c7-4d20-8cf0-5bc5348a7101
{
    "cluster_name": "teleport.example.com",
    "code": "TDB02I",
    "db_name": "example",
    "db_origin": "dynamic",
    "db_protocol": "postgres",
    "db_query": "select * from sample;",
    "db_roles": [
        "access"
    ],
    "db_service": "example",
    "db_type": "rds",
    "db_uri": "databases-1.us-east-1.rds.amazonaws.com:5432",
    "db_user": "alice",
    "ei": 2,
    "event": "db.session.query",
    "sid": "307b49d6-56c7-4d20-8cf0-5bc5348a7101",
    "success": true,
    "time": "2023-10-06T10:58:32.88Z",
    "uid": "a649d925-9dac-44cc-bd04-4387c295580f",
    "user": "alice"
}

The audit log is viewable under Audit in the left-hand pane via the Web UI for users with permission to the event resources. Database sessions are listed on the session recordings page, but only PostgreSQL sessions are playable.

데이터베이스 클라이언트가 웹 공개 주소와 다른 공개 주소를 사용할 수 있나요?#

Teleport 프록시 서비스를 구성할 때 관리자는 postgres_public_addrmysql_public_addr 구성 필드를 각 데이터베이스 클라이언트가 연결해야 하는 공개 주소로 설정할 수 있습니다. 자세한 내용은 프록시 구성을 참조하세요.

이는 Teleport Web UI가 L7 로드 밸런서(예: AWS의 ALB) 뒤에서 실행될 때 유용하며, 이 경우 PostgreSQL/MySQL 프록시는 일반 TCP 로드 밸런서(예: AWS의 NLB)에 노출되어야 합니다.

Teleport 프록시 서비스에 TLS 라우팅을 사용하면 웹 공개 주소로 모든 데이터베이스 연결이 가능합니다.

Teleport Enterprise (Cloud)에서 데이터베이스 연결은 TLS 라우팅이 적용되므로 웹 공개 주소를 사용합니다.

X 데이터베이스 클라이언트를 지원하나요?#

Teleport는 인증에 클라이언트 인증서를 사용하므로, 이 인증 방법을 지원하고 최신 TLS(1.2+)를 사용하는 모든 데이터베이스 클라이언트가 작동해야 합니다.

psql, mysql, mongo 또는 mongosh와 같은 표준 명령줄 클라이언트가 지원됩니다. 선택한 그래픽 클라이언트 구성에 대한 지침도 있습니다.

X 데이터베이스는 언제 지원될 예정인가요?#

저희는 고객 수요에 따라 향후 더 많은 데이터베이스를 지원할 계획입니다.

관심 있는 데이터베이스가 이미 GitHub 이슈에 요청되었는지 확인하거나 관심 등록을 위해 새 이슈를 열어주세요.

사용자 정의 CA 인증서를 제공할 수 있나요?#

네, 구성 파일을 사용하여 사용자 정의 CA 인증서를 전달할 수 있습니다(ca_cert_file 항목 참조).

Teleport가 생성한 CA에 사용자 정의 DNS 이름을 제공할 수 있나요?#

네, Teleport 구성 파일의 tls 섹션 아래 server_name을 사용하세요. 자세한 내용은 참조 구성 파일을 참조하세요.

데이터베이스 연결 시 CA 검증을 비활성화할 수 있나요?#

네, 권장하지는 않습니다. 인증서 검증은 중간자 공격을 방지하고 의도한 데이터베이스에 연결되어 있는지 확인합니다.

Teleport를 사용하면 구성 파일을 편집하여 사용자 정의 CA 인증서(ca_cert_file) 또는 사용자 정의 DNS 이름(server_name)을 제공할 수도 있으며, 이것이 더 안전합니다.

위 옵션 중 어느 것도 적합하지 않고 여전히 CA 확인을 비활성화하려면 Teleport 구성 파일의 tls 옵션 아래 mode를 사용할 수 있습니다.

자세한 내용은 참조 구성 파일을 참조하세요.

자동 검색된 데이터베이스에서 읽기 전용 및 사용자 정의 엔드포인트를 비활성화할 수 있나요?#

네, aws 매처에서 Teleport가 생성한 레이블 endpoint-type을 사용하여 엔드포인트를 필터링할 수 있습니다. 예를 들어, RDS 자동 검색에서 읽기 전용 및 사용자 정의 엔드포인트를 비활성화하려면 다른 엔드포인트 유형을 지정하여 매칭할 수 있습니다:

  aws:
  - types: ["rds"]
    regions: ["us-west-1"]
    tags:
      "env": "dev"
      "endpoint-type":
        - "primary"
        - "instance"

Teleport가 생성한 레이블과 값의 전체 목록은 레이블 참조를 참조하세요.