Infograb logo
teleport_database Terraform 리소스에 대한 참조

사용 예

# Teleport 데이터베이스

resource "teleport_database" "example" {
  version = "v3"
  metadata = {
    name        = "example"
    description = "테스트 데이터베이스"
    labels = {
      "teleport.dev/origin" = "dynamic" // 이 레이블은 기본적으로 Teleport 측에서 추가됩니다.
    }
  }

  spec = {
    protocol = "postgres"
    uri      = "localhost"
  }
}

스키마

필수

  • version (문자열) 버전은 리소스 버전입니다. 반드시 지정해야 합니다. 지원되는 값은: v3 입니다.

선택 사항

  • metadata (속성) 메타데이터는 데이터베이스 메타데이터입니다. (아래의 중첩 스키마를 참조하세요.)
  • spec (속성) 스펙은 데이터베이스 스펙입니다. (아래의 중첩 스키마를 참조하세요.)
  • sub_kind (문자열) SubKind는 선택적 리소스 서브종입니다.

metadata 에 대한 중첩 스키마

필수:

  • name (문자열) 이름은 객체 이름입니다.

선택 사항:

  • description (문자열) 설명은 객체 설명입니다.
  • expires (문자열) Expiry는 시스템 내의 모든 리소스에 설정할 수 있는 전역 만료 시간 헤더입니다.
  • labels (문자열의 맵) 레이블은 레이블 집합입니다.

spec 에 대한 중첩 스키마

필수:

  • protocol (문자열) 프로토콜은 데이터베이스 프로토콜입니다: postgres, mysql, mongodb 등입니다.
  • uri (문자열) URI는 데이터베이스 연결 끝점입니다.

선택 사항:

  • ad (속성) AD는 데이터베이스에 대한 Active Directory 구성입니다. (아래의 중첩 스키마를 참조하세요.)
  • admin_user (속성) AdminUser는 자동 사용자 프로비저닝을 위한 데이터베이스 관리자 사용자입니다. (아래의 중첩 스키마를 참조하세요.)
  • aws (속성) AWS는 RDS/Aurora/Redshift 데이터베이스에 대한 AWS 특정 설정을 포함합니다. (아래의 중첩 스키마를 참조하세요.)
  • azure (속성) Azure는 Azure 특정 데이터베이스 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하세요.)
  • ca_cert (문자열) CACert는 PEM 인코딩된 데이터베이스 CA 인증서입니다. 사용 중단: TLS.CACert로 이동되었습니다. 10.0에서 삭제 예정입니다.
  • dynamic_labels (속성 맵) DynamicLabels는 데이터베이스 동적 레이블입니다. (아래의 중첩 스키마를 참조하세요.)
  • gcp (속성) GCP는 GCP Cloud SQL 데이터베이스에 특정한 매개변수를 포함합니다. (아래의 중첩 스키마를 참조하세요.)
  • mongo_atlas (속성) MongoAtlas는 데이터베이스에 대한 Atlas 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하세요.)
  • mysql (속성) MySQL은 MySQL 데이터베이스 옵션에 대한 추가 섹션입니다. (아래의 중첩 스키마를 참조하세요.)
  • oracle (속성) Oracle은 추가 Oracle 구성 옵션입니다. (아래의 중첩 스키마를 참조하세요.)
  • tls (속성) TLS는 대상 데이터베이스에 연결할 때 사용되는 TLS 구성입니다. 사용자 정의 CA 인증서를 제공하거나 서버 이름을 오버라이드할 수 있습니다. (아래의 중첩 스키마를 참조하세요.)

spec.ad 에 대한 중첩 스키마

선택 사항:

  • domain (String) Domain은 데이터베이스가 위치한 Active Directory 도메인입니다.
  • kdc_host_name (String) KDCHostName은 x509 인증을 위한 KDC의 호스트 이름입니다.
  • keytab_file (String) KeytabFile은 Kerberos 키탭 파일의 경로입니다.
  • krb5_file (String) Krb5File은 Kerberos 구성 파일의 경로입니다. 기본값은 /etc/krb5.conf입니다.
  • ldap_cert (String) LDAPCert는 Windows LDAP/AD의 인증서로, 선택 사항이며 x509 인증 전용입니다.
  • spn (String) SPN은 데이터베이스의 서비스 주체 이름입니다.

spec.admin_user 에 대한 중첩 스키마

선택 사항:

  • default_database (String) DefaultDatabase는 특권 데이터베이스 사용자가 기본적으로 로그인하는 데이터베이스입니다. 데이터베이스 유형에 따라 이 데이터베이스는 데이터베이스 사용자 관리에 대한 프로시저나 데이터를 저장하는 데 사용될 수 있습니다.
  • name (String) Name은 특권 데이터베이스 사용자의 사용자 이름입니다.

spec.aws 에 대한 중첩 스키마

선택 사항:

  • account_id (String) AccountID는 이 데이터베이스가 소속된 AWS 계정 ID입니다.
  • assume_role_arn (String) AssumeRoleARN은 데이터베이스에 접근할 때 가정할 선택적인 AWS 역할 ARN입니다. 이 필드와 ExternalID를 설정하여 AWS 계정 간 접근을 활성화합니다.
  • docdb (Attributes) DocumentDB는 AWS DocumentDB 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • elasticache (Attributes) ElastiCache는 AWS ElastiCache Redis 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • external_id (String) ExternalID는 AWS 역할을 계정 간에 가정하는 데 사용되는 선택적인 AWS 외부 ID입니다.
  • iam_policy_status (Number) IAMPolicyStatus는 데이터베이스 접근을 위해 IAM 정책이 올바르게 구성되었는지 나타냅니다. 그렇지 않을 경우 사용자는 데이터베이스 접근을 허용하도록 AWS 프로필 신원을 업데이트해야 합니다. 예를 들어 RDS 데이터베이스의 경우: 기본 AWS 프로필은 데이터베이스에 대한 rds-db:connect 를 허용합니다.
  • memorydb (Attributes) MemoryDB는 AWS MemoryDB 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • opensearch (Attributes) OpenSearch는 AWS OpenSearch 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • rds (Attributes) RDS는 RDS 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • rdsproxy (Attributes) RDSProxy는 AWS Proxy 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • redshift (Attributes) Redshift는 Redshift 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • redshift_serverless (Attributes) RedshiftServerless는 AWS Redshift Serverless 특정 메타데이터를 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • region (String) Region은 AWS 클라우드 지역입니다.
  • secret_store (Attributes) SecretStore는 비밀 저장소 구성을 포함합니다. (아래의 중첩 스키마를 참조하십시오)
  • session_tags (Map of String) SessionTags는 AWS STS 세션 태그 목록입니다.

Nested Schema for spec.aws.docdb

Optional:

  • cluster_id (String) ClusterID는 클러스터 식별자입니다.
  • endpoint_type (String) EndpointType은 엔드포인트의 유형입니다.
  • instance_id (String) InstanceID는 인스턴스 식별자입니다.

Nested Schema for spec.aws.elasticache

Optional:

  • endpoint_type (String) EndpointType은 엔드포인트의 유형입니다.
  • replication_group_id (String) ReplicationGroupID는 Redis 복제 그룹 ID입니다.
  • transit_encryption_enabled (Boolean) TransitEncryptionEnabled는 전송 중 암호화(TLS)가 활성화되었는지를 나타냅니다.
  • user_group_ids (List of String) UserGroupIDs는 사용자 그룹 ID 목록입니다.

Nested Schema for spec.aws.memorydb

Optional:

  • acl_name (String) ACLName은 클러스터와 연결된 ACL의 이름입니다.
  • cluster_name (String) ClusterName은 MemoryDB 클러스터의 이름입니다.
  • endpoint_type (String) EndpointType은 엔드포인트의 유형입니다.
  • tls_enabled (Boolean) TLSEnabled는 전송 중 암호화(TLS)가 활성화되었는지를 나타냅니다.

Nested Schema for spec.aws.opensearch

Optional:

  • domain_id (String) DomainID는 도메인의 ID입니다.
  • domain_name (String) DomainName은 도메인의 이름입니다.
  • endpoint_type (String) EndpointType은 엔드포인트의 유형입니다.

Nested Schema for spec.aws.rds

Optional:

  • cluster_id (String) ClusterID는 RDS 클러스터(Aurora) 식별자입니다.
  • iam_auth (Boolean) IAMAuth는 데이터베이스 IAM 인증이 활성화되었는지를 나타냅니다.
  • instance_id (String) InstanceID는 RDS 인스턴스 식별자입니다.
  • resource_id (String) ResourceID는 RDS 인스턴스 리소스 식별자(db-xxx)입니다.
  • security_groups (List of String) SecurityGroups는 RDS 인스턴스에 연결된 보안 그룹 목록입니다.
  • subnets (List of String) Subnets는 RDS 인스턴스용 서브넷 목록입니다.
  • vpc_id (String) VPCID는 RDS가 실행되고 있는 VPC입니다.

Nested Schema for spec.aws.rdsproxy

Optional:

  • custom_endpoint_name (String) CustomEndpointName은 RDS Proxy 사용자 지정 엔드포인트의 식별자입니다.
  • name (String) Name은 RDS Proxy의 식별자입니다.
  • resource_id (String) ResourceID는 RDS 인스턴스 리소스 식별자(prx-xxx)입니다.

Nested Schema for spec.aws.redshift

Optional:

  • cluster_id (String) ClusterID는 Redshift 클러스터 식별자입니다.

Nested Schema for spec.aws.redshift_serverless

Optional:

  • endpoint_name (String) EndpointName은 VPC 엔드포인트 이름입니다.
  • workgroup_id (String) WorkgroupID는 작업 그룹 ID입니다.
  • workgroup_name (String) WorkgroupName은 작업 그룹 이름입니다.

Nested Schema for spec.aws.secret_store

Optional:

  • key_prefix (String) KeyPrefix는 비밀 키 접두사를 지정합니다.
  • kms_key_id (String) KMSKeyID는 암호화를 위한 AWS KMS 키를 지정합니다.

Nested Schema for spec.azure

Optional:

  • is_flexi_server (Boolean) IsFlexiServer는 데이터베이스가 Azure 유연 서버인 경우 true입니다.
  • name (String) Name은 Azure 데이터베이스 서버 이름입니다.
  • redis (Attributes) Redis는 Azure Cache for Redis 특정 데이터베이스 메타데이터를 포함합니다. (아래의 중첩 스키마 참조 nested schema for spec.azure.redis)
  • resource_id (String) ResourceID는 리소스에 대한 Azure 완전한 자격 증명 ID입니다.

spec.azure.redis 에 대한 중첩 스키마

선택 사항:

  • clustering_policy (문자열) ClusteringPolicy는 Redis Enterprise의 클러스터링 정책입니다.

spec.dynamic_labels 에 대한 중첩 스키마

선택 사항:

  • command (문자열 목록) Command는 실행할 명령입니다.
  • period (문자열) Period는 명령 실행 간의 시간입니다.
  • result (문자열) Result는 표준 출력을 캡처합니다.

spec.gcp 에 대한 중첩 스키마

선택 사항:

  • instance_id (문자열) InstanceID는 Cloud SQL 인스턴스 ID입니다.
  • project_id (문자열) ProjectID는 Cloud SQL 인스턴스가 있는 GCP 프로젝트 ID입니다.

spec.mongo_atlas 에 대한 중첩 스키마

선택 사항:

  • name (문자열) Name은 Atlas 데이터베이스 인스턴스 이름입니다.

spec.mysql 에 대한 중첩 스키마

선택 사항:

  • server_version (문자열) ServerVersion은 런타임 정보가 없을 경우 DB 프록시에서 보고된 서버 버전입니다.

spec.oracle 에 대한 중첩 스키마

선택 사항:

  • audit_user (문자열) AuditUser는 내부 Oracle 감사 기록에 접근하기 위한 Oracle 데이터베이스 사용자 권한입니다.

spec.tls 에 대한 중첩 스키마

선택 사항:

  • ca_cert (문자열) CACert는 데이터베이스 TLS 연결을 검증하는 데 사용되는 선택적 사용자 제공 CA 인증서입니다.
  • mode (숫자) Mode는 TLS 연결 모드입니다. 0은 "verify-full"; 1은 "verify-ca", 2는 "insecure"입니다.
  • server_name (문자열) ServerName은 사용자 지정 호스트 이름을 제공할 수 있습니다. 이 값은 검증 중 인증서의 servername/hostname을 덮어씁니다.
  • trust_system_cert_pool (부울) TrustSystemCertPool은 Teleport가 호스트 시스템에서 사용 가능한 인증 기관을 신뢰하도록 허용합니다. 설정되지 않은 경우(기본값으로), Teleport는 자체 서명된 데이터베이스에 대해서만 Teleport의 데이터베이스 서버 CA 또는 이 TLS 설정에 지정된 ca_cert로 서명된 TLS 인증서를 신뢰합니다. 클라우드 호스팅된 데이터베이스의 경우, Teleport는 검증을 위해 필요한 해당 CA를 다운로드합니다.
Teleport 원문 보기