Infograb logo
데이터베이스 액세스 FAQ

Teleport 데이터베이스 서비스는 어떤 데이터베이스 프로토콜을 지원하나요?

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

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

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

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

모든 지원되는 구성에 대한 가이드를 참조하십시오.

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

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

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

데이터베이스 세션은 기록된 세션에 나열되나요?

감사 로그에서 데이터베이스 세션 활동을 볼 수 있습니다. 세션이 업로드된 후에는 tsh play 명령어를 사용하여 감사 데이터를 재생할 수 있습니다.

데이터베이스 세션 ID는 UUID 형식으로 제공됩니다 (예: 307b49d6-56c7-4d20-8cf0-5bc5348a7101). sid 키를 사용하여 감사 로그에서 데이터베이스 세션 ID를 확인하세요.

예시:

tsh play --format json database.session
    {
        "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"
    }

웹 UI에서 Management 아래의 Activity에서 event 리소스에 대한 권한이 있는 사용자는 감사 로그를 볼 수 있습니다. 데이터베이스 세션은 세션 녹화 페이지에 나타나지 않습니다.

데이터베이스 클라이언트는 웹 퍼블릭 주소와 다른 퍼블릭 주소를 사용할 수 있나요?

Teleport 프록시 서비스를 구성할 때, 관리자는 postgres_public_addrmysql_public_addr 구성 필드를 설정하여 각 데이터베이스 클라이언트가 연결해야 하는 퍼블릭 주소를 지정할 수 있습니다. 자세한 내용은 프록시 구성를 참조하십시오.

이것은 Teleport 웹 UI가 L7 로드 밸런서 뒤에서 실행되고 있는 경우 유용합니다 (예: AWS의 ALB), 이 경우 PostgreSQL/MySQL 프록시를 평범한 TCP 로드 밸런서에서 노출해야 합니다 (예: AWS의 NLB).

Teleport Enterprise Cloud에서는 Proxy 서비스가 데이터베이스 서비스 클라이언트 트래픽을 위해 다음 포트를 사용합니다:

구성 설정포트
mysql_public_addr3036
postgres_public_addr443
mongo_public_addr443

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

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

psql, mysql, mongo 또는 mongosh와 같은 표준 커맨드라인 클라이언트는 지원됩니다. 또한 선택한 GUI 클라이언트 구성에 대한 지침도 있습니다.

X 데이터베이스를 언제 지원하나요?

우리는 고객 수요에 따라 미래에 더 많은 데이터베이스를 지원할 계획입니다.

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

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

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

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

네, Teleport 구성 파일의 tls 섹션 아래에 server_name을 사용하십시오. 자세한 내용은 우리의 참조 구성 파일을 참조하십시오.

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

네, 가능하지만 권장되지 않습니다. 인증서 검증은 중간자 공격을 방지하고 연결하려는 데이터베이스에 연결되었는지 확인합니다.

Teleport는 또한 구성 파일을 편집하여 사용자 정의 CA 인증서(ca_cert_file) 또는 사용자 정의 DNS 이름(server_name)을 제공할 수 있도록 허용합니다.

위의 옵션 중 어떤 것도 작동하지 않고 여전히 CA 체크를 비활성화하려는 경우, Teleport 구성 파일의 tls 옵션 아래에 mode를 사용할 수 있습니다.

자세한 내용은 참조 구성 파일을 참조하십시오.

자동 발견된 데이터베이스에서 읽기 전용 및 사용자 정의 끝점 비활성화할 수 있나요?

네, Teleport에서 생성한 레이블 endpoint-type을 사용하여 aws 매처에서 끝점을 필터링할 수 있습니다. 예를 들어, RDS 자동 발견을 위해 읽기 전용 및 사용자 정의 끝점을 비활성화하려면 다른 끝점 유형을 지정하여 일치시킬 수 있습니다:

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

Teleport에서 생성한 레이블 및 값의 전체 목록은 레이블 참조를 참조하십시오.

Teleport 원문 보기