Skip to main content

Database Server V3 Reference

Report an Issue

Kind: db_server
Version: v3

Represents a database access server.

Example:

kind: "string"
sub_kind: "string"
version: "string"
metadata: # [...]
spec: # [...]
status: # [...]
scope: "string"
Field NameDescriptionType
kindThe database server resource kind.string
metadataThe database server metadata.Metadata
scopeThe advertized scope of the server which can not change once assigned.string
specThe database server spec.Database Server Spec V3
statusThe database server status.Database Server Status V3
sub_kindAn optional resource subkind.string
versionThe resource version.string

Contains Active Directory specific database configuration.

Example:

keytab_file: "string"
krb5_file: "string"
domain: "string"
spn: "string"
ldap_cert: "string"
kdc_host_name: "string"
ldap_service_account_name: "string"
ldap_service_account_sid: "string"
Field NameDescriptionType
domainThe Active Directory domain the database resides in.string
kdc_host_nameThe host name for a KDC for x509 Authentication.string
keytab_fileThe path to the Kerberos keytab file.string
krb5_fileThe path to the Kerberos configuration file. Defaults to /etc/krb5.conf.string
ldap_certA certificate from Windows LDAP/AD, optional; only for x509 Authentication.string
ldap_service_account_nameThe name of service account for performing LDAP queries. Required for x509 Auth / PKINIT.string
ldap_service_account_sidThe SID of service account for performing LDAP queries. Required for x509 Auth / PKINIT.string
spnThe service principal name for the database.string

AWS

Contains AWS metadata about the database.

Example:

region: "string"
redshift: # [...]
rds: # [...]
account_id: "string"
elasticache: # [...]
secret_store: # [...]
memorydb: # [...]
rdsproxy: # [...]
redshift_serverless: # [...]
external_id: "string"
assume_role_arn: "string"
opensearch: # [...]
iam_policy_status: # [...]
session_tags: 
  "string": "string"
  "string": "string"
  "string": "string"
docdb: # [...]
elasticache_serverless: # [...]
Field NameDescriptionType
account_idThe AWS account ID this database belongs to.string
assume_role_arnAn optional AWS role ARN to assume when accessing a database. Set this field and ExternalID to enable access across AWS accounts.string
docdbContains Amazon DocumentDB-specific metadata.DocumentDB
elasticacheContains Amazon ElastiCache Redis-specific metadata.ElastiCache
elasticache_serverlessContains Amazon ElastiCache Serverless metadata.ElastiCache Serverless
external_idAn optional AWS external ID used to enable assuming an AWS role across accounts.string
iam_policy_statusIndicates whether the IAM Policy is configured properly for database access. If not, the user must update the AWS profile identity to allow access to the Database. Eg for an RDS Database: the underlying AWS profile allows for rds-db:connect for the Database.IAM Policy Status
memorydbContains AWS MemoryDB specific metadata.MemoryDB
opensearchContains AWS OpenSearch specific metadata.OpenSearch
rdsContains RDS specific metadata.RDS
rdsproxyContains AWS Proxy specific metadata.RDS Proxy
redshiftContains Redshift specific metadata.Redshift
redshift_serverlessContains Amazon Redshift Serverless-specific metadata.Redshift Serverless
regionA AWS cloud region.string
secret_storeContains secret store configurations.Secret Store
session_tagsA list of AWS STS session tags.map[string]string

AlloyDB

Contains AlloyDB specific configuration elements.

Example:

endpoint_type: "string"
endpoint_override: "string"
Field NameDescriptionType
endpoint_overrideAn override of endpoint address to use.string
endpoint_typeThe database endpoint type to use. Should be one of: "private", "public", "psc".string

Azure

Contains Azure specific database metadata.

Example:

name: "string"
resource_id: "string"
redis: # [...]
is_flexi_server: true
Field NameDescriptionType
is_flexi_serverTrue if the database is an Azure Flexible server.Boolean
nameThe Azure database server name.string
redisContains Azure Cache for Redis specific database metadata.Azure Redis
resource_idThe Azure fully qualified ID for the resource.string

Azure Redis

Contains Azure Cache for Redis specific database metadata.

Example:

clustering_policy: "string"
Field NameDescriptionType
clustering_policyThe clustering policy for Redis Enterprise.string

Command Label V2

A label that has a value as a result of the output generated by running command, e.g. hostname

Example:

period: # [...]
command: 
  - "string"
  - "string"
  - "string"
result: "string"
Field NameDescriptionType
commandA command to run[]string
periodA time between command runsDuration
resultCaptures standard outputstring

Database Admin User

Contains information about privileged database user used for automatic user provisioning.

Example:

name: "string"
default_database: "string"
Field NameDescriptionType
default_databaseThe database that the privileged database user logs into by default. Depending on the database type, this database may be used to store procedures or data for managing database users.string
nameThe username of the privileged database user.string

Database Server Spec V3

The database server spec.

Example:

version: "string"
hostname: "string"
host_id: "string"
rotation: # [...]
database: # [...]
proxy_ids: 
  - "string"
  - "string"
  - "string"
relay_group: "string"
relay_ids: 
  - "string"
  - "string"
  - "string"
Field NameDescriptionType
databaseThe database proxied by this database server.Database V3
host_idThe ID of the host the database server is running on.string
hostnameThe database server hostname.string
proxy_idsA list of proxy IDs this server is expected to be connected to.[]string
relay_groupThe name of the Relay group that the server is connected tostring
relay_idsThe list of Relay host IDs that the server is connected to[]string
rotationContains the server CA rotation information.Rotation
versionThe Teleport version that the server is running.string

Database Server Status V3

The database server status.

Example:

target_health: # [...]
Field NameDescriptionType
target_healthThe health status of network connectivity between the agent and the database.Target Health

Database Spec V3

The database spec.

Example:

protocol: "string"
uri: "string"
ca_cert: "string"
dynamic_labels: 
  "string": # [...]
  "string": # [...]
  "string": # [...]
aws: # [...]
gcp: # [...]
azure: # [...]
tls: # [...]
ad: # [...]
mysql: # [...]
admin_user: # [...]
mongo_atlas: # [...]
oracle: # [...]
Field NameDescriptionType
adThe Active Directory configuration for the database.AD
admin_userThe database admin user for automatic user provisioning.Database Admin User
awsContains AWS specific settings for RDS/Aurora/Redshift databases.AWS
azureContains Azure specific database metadata.Azure
ca_certThe PEM-encoded database CA certificate. DEPRECATED: Moved to TLS.CACert. DELETE IN 10.0.string
dynamic_labelsThe database dynamic labels.map[string]Command Label V2
gcpContains parameters specific to GCP Cloud SQL databases.GCP Cloud SQL
mongo_atlasContains Atlas metadata about the database.Mongo Atlas
mysqlAn additional section with MySQL database options.MySQL Options
oracleAn additional Oracle configuration options.Oracle Options
protocolThe database protocol: postgres, mysql, mongodb, etc.string
tlsThe TLS configuration used when establishing connection to target database. Allows to provide custom CA cert or override server name.Database TLS
uriThe database connection endpoint.string

Database Status V3

Contains runtime information about the database.

Example:

ca_cert: "string"
aws: # [...]
mysql: # [...]
managed_users: 
  - "string"
  - "string"
  - "string"
azure: # [...]
Field NameDescriptionType
awsThe auto-discovered AWS cloud database metadata.AWS
azureThe auto-discovered Azure cloud database metadata.Azure
ca_certThe auto-downloaded cloud database CA certificate.string
managed_usersA list of database users that are managed by Teleport.[]string
mysqlAn additional section with MySQL runtime database information.MySQL Options

Database TLS

Contains TLS configuration options.

Example:

mode: # [...]
ca_cert: "string"
server_name: "string"
trust_system_cert_pool: true
Field NameDescriptionType
ca_certAn optional user provided CA certificate used for verifying database TLS connection.string
modeA TLS connection mode. 0 is "verify-full"; 1 is "verify-ca", 2 is "insecure".Database TLS Mode
server_nameAllows to provide custom hostname. This value will override the servername/hostname on a certificate during validation.string
trust_system_cert_poolAllows Teleport to trust certificate authorities available on the host system. If not set (by default), Teleport only trusts self-signed databases with TLS certificates signed by Teleport's Database Server CA or the ca_cert specified in this TLS setting. For cloud-hosted databases, Teleport downloads the corresponding required CAs for validation.Boolean

Database TLS Mode

Represents the level of TLS verification performed by DB agent when connecting to a database.

Database V3

Represents a single proxied database.

Example:

kind: "string"
sub_kind: "string"
version: "string"
metadata: # [...]
spec: # [...]
status: # [...]
Field NameDescriptionType
kindThe database resource kind.string
metadataThe database metadata.Metadata
specThe database spec.Database Spec V3
statusThe database runtime information.Database Status V3
sub_kindAn optional resource subkind.string
versionThe resource version. It must be specified. Supported values are: v3.string

DocumentDB

Contains Amazon DocumentDB-specific metadata.

Example:

cluster_id: "string"
instance_id: "string"
endpoint_type: "string"
Field NameDescriptionType
cluster_idThe cluster identifier.string
endpoint_typeThe type of the endpoint.string
instance_idThe instance identifier.string

Duration

A wrapper around duration to set up custom marshal/unmarshal

ElastiCache

Contains Amazon ElastiCache Redis-specific metadata.

Example:

replication_group_id: "string"
user_group_ids: 
  - "string"
  - "string"
  - "string"
transit_encryption_enabled: true
endpoint_type: "string"
Field NameDescriptionType
endpoint_typeThe type of the endpoint.string
replication_group_idThe Redis replication group ID.string
transit_encryption_enabledIndicates whether in-transit encryption (TLS) is enabled.Boolean
user_group_idsA list of user group IDs.[]string

ElastiCache Serverless

Contains Amazon ElastiCache Serverless metadata.

Example:

cache_name: "string"
Field NameDescriptionType
cache_nameAn ElastiCache Serverless cache name.string

GCP Cloud SQL

Contains parameters specific to GCP databases. The name "GCPCloudSQL" is a legacy from a time when only GCP Cloud SQL was supported.

Example:

project_id: "string"
instance_id: "string"
alloydb: # [...]
Field NameDescriptionType
alloydbContains AlloyDB specific configuration elements.AlloyDB
instance_idThe Cloud SQL instance ID.string
project_idThe GCP project ID the Cloud SQL instance resides in.string

IAM Policy Status

Represents states that describe if an AWS database has its IAM policy properly configured or not. This enum is set in a Sync.Map during an IAM task that checks for the validity of IAM policy, and the database gets updated with the value from this map during a heartbeat.

MemoryDB

Contains AWS MemoryDB specific metadata.

Example:

cluster_name: "string"
acl_name: "string"
tls_enabled: true
endpoint_type: "string"
Field NameDescriptionType
acl_nameThe name of the ACL associated with the cluster.string
cluster_nameThe name of the MemoryDB cluster.string
endpoint_typeThe type of the endpoint.string
tls_enabledIndicates whether in-transit encryption (TLS) is enabled.Boolean

Metadata

Resource metadata

Example:

name: "string"
description: "string"
labels: 
  "string": "string"
  "string": "string"
  "string": "string"
expires: # See description
revision: "string"
Field NameDescriptionType
descriptionObject descriptionstring
expiresA global expiry time header can be set on any resource in the system.
labelsA set of labelsmap[string]string
nameAn object namestring
revisionAn opaque identifier which tracks the versions of a resource over time. Clients should ignore and not alter its value but must return the revision in any updates of a resource.string

Mongo Atlas

Contains Atlas metadata about the database.

Example:

name: "string"
Field NameDescriptionType
nameThe Atlas database instance name.string

MySQL Options

Additional MySQL database options.

Example:

server_version: "string"
Field NameDescriptionType
server_versionThe server version reported by DB proxy if the runtime information is not available.string

OpenSearch

Contains AWS OpenSearch specific metadata.

Example:

domain_name: "string"
domain_id: "string"
endpoint_type: "string"
Field NameDescriptionType
domain_idThe ID of the domain.string
domain_nameThe name of the domain.string
endpoint_typeThe type of the endpoint.string

Oracle Options

Contains Oracle-specific configuration options.

Example:

audit_user: "string"
retry_count: 1
shuffle_hostnames: true
Field NameDescriptionType
audit_userThe name of the Oracle database user that should be used to access the internal audit trail.string
retry_countThe maximum number of times to retry connecting to a host upon failure. If not specified it defaults to 2, for a total of 3 connection attempts.number
shuffle_hostnames, when true, randomizes the order of hosts to connect to from the provided list.Boolean

RDS

Contains AWS RDS specific database metadata.

Example:

instance_id: "string"
cluster_id: "string"
resource_id: "string"
iam_auth: true
subnets: 
  - "string"
  - "string"
  - "string"
vpc_id: "string"
security_groups: 
  - "string"
  - "string"
  - "string"
Field NameDescriptionType
cluster_idThe RDS cluster (Aurora) identifier.string
iam_authIndicates whether database IAM authentication is enabled.Boolean
instance_idThe RDS instance identifier.string
resource_idThe RDS instance resource identifier (db-xxx).string
security_groupsA list of attached security groups for the RDS instance.[]string
subnetsA list of subnets for the RDS instance.[]string
vpc_idThe VPC where the RDS is running.string

RDS Proxy

Contains AWS RDS Proxy specific database metadata.

Example:

name: "string"
custom_endpoint_name: "string"
resource_id: "string"
Field NameDescriptionType
custom_endpoint_nameThe identifier of an RDS Proxy custom endpoint.string
nameThe identifier of an RDS Proxy.string
resource_idThe RDS instance resource identifier (prx-xxx).string

Redshift

Contains AWS Redshift specific database metadata.

Example:

cluster_id: "string"
Field NameDescriptionType
cluster_idThe Redshift cluster identifier.string

Redshift Serverless

Contains Amazon Redshift Serverless-specific metadata.

Example:

workgroup_name: "string"
endpoint_name: "string"
workgroup_id: "string"
Field NameDescriptionType
endpoint_nameThe VPC endpoint name.string
workgroup_idThe workgroup ID.string
workgroup_nameThe workgroup name.string

Rotation

A status of the rotation of the certificate authority

Example:

state: "string"
phase: "string"
mode: "string"
current_id: "string"
started: # See description
grace_period: # [...]
last_rotated: # See description
schedule: # [...]
Field NameDescriptionType
current_idThe ID of the rotation operation to differentiate between rotation attempts.string
grace_periodA period during which old and new CA are valid for checking purposes, but only new CA is issuing certificates.Duration
last_rotatedSpecifies the last time of the completed rotation.
modeSets manual or automatic rotation mode.string
phaseThe current rotation phase.string
scheduleA rotation schedule - used in automatic mode to switch between phases.Rotation Schedule
startedSet to the time when rotation has been started in case if the state of the rotation is "in_progress".
stateCould be one of "init" or "in_progress".string

Rotation Schedule

A rotation schedule setting time switches for different phases.

Example:

update_clients: # See description
update_servers: # See description
standby: # See description
Field NameDescriptionType
standbySpecifies time to switch to the "Standby" phase.
update_clientsSpecifies time to switch to the "Update clients" phase
update_serversSpecifies time to switch to the "Update servers" phase.

Secret Store

Contains secret store configurations.

Example:

key_prefix: "string"
kms_key_id: "string"
Field NameDescriptionType
key_prefixSpecifies the secret key prefix.string
kms_key_idSpecifies the AWS KMS key for encryption.string

Target Health

Describes the health status of network connectivity between an agent and a resource.

Example:

address: "string"
protocol: "string"
status: "string"
transition_timestamp: # See description
transition_reason: "string"
transition_error: "string"
message: "string"
Field NameDescriptionType
addressThe resource address.string
messageAdditional information meant for a user.string
protocolThe health check protocol such as "tcp".string
statusThe health status, one of "", "unknown", "healthy", "unhealthy".string
transition_errorShows the health check error observed when the transition happened. Empty when transitioning to "healthy".string
transition_reasonA unique single word reason why the last transition occurred.string
transition_timestampThe time that the last status transition occurred.