인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
데이터베이스 접근 FAQ
이 페이지는 Teleport와 데이터베이스 등록에 대한 일반적인 질문에 대한 답변을 제공합니다. Teleport에 대한 일반적인 자주 묻는 질문 목록은 자주 묻는 질문을 참조하십시오.
Teleport 데이터베이스 서비스는 어떤 데이터베이스 프로토콜을 지원하나요?
Teleport 데이터베이스 서비스는 현재 다음 프로토콜을 지원합니다:
- Cassandra
- ClickHouse
- CockroachDB
- DynamoDB
- MariaDB
- Microsoft SQL Server
- MongoDB
- MySQL
- Oracle
- OpenSearch
- 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"
}
감사 로그는 이벤트 리소스에 대한 권한이 있는 사용자가 Management의 Activity에서 확인할 수 있습니다.
데이터베이스 세션은 세션 녹화 페이지에 표시되지 않습니다.
데이터베이스 클라이언트가 웹 공개 주소와 다른 공개 주소를 사용할 수 있나요?
Teleport 프록시 서비스 구성 시, 관리자는 postgres_public_addr
및 mysql_public_addr
구성 필드를 설정하여 각 데이터베이스 클라이언트가 연결해야 하는 공개 주소를 지정할 수 있습니다. 자세한 내용은 프록시 구성을 참조하십시오.
이 설정은 Teleport 웹 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
을 참조하십시오).
사용자 지정 DNS 이름을 Teleport에서 생성한 CA에 제공할 수 있나요?
네, 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에서 생성한 레이블 및 값의 전체 목록은 레이블 참조 를 참조하십시오.