Skip to main content

TeleportDatabaseV3

This guide is a comprehensive reference to the fields in the TeleportDatabaseV3 resource, which you can apply after installing the Teleport Kubernetes operator.

resources.teleport.dev/v1

apiVersion: resources.teleport.dev/v1

FieldTypeDescription
apiVersionstringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kindstringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadataobject
specobjectDatabase resource definition v3 from Teleport

spec

FieldTypeDescription
adobjectAD is the Active Directory configuration for the database.
admin_userobjectAdminUser is the database admin user for automatic user provisioning.
awsobjectAWS contains AWS specific settings for RDS/Aurora/Redshift databases.
azureobjectAzure contains Azure specific database metadata.
ca_certstringCACert is the PEM-encoded database CA certificate. DEPRECATED: Moved to TLS.CACert. DELETE IN 10.0.
dynamic_labelsobjectDynamicLabels is the database dynamic labels.
gcpobjectGCP contains parameters specific to GCP Cloud SQL databases.
mongo_atlasobjectMongoAtlas contains Atlas metadata about the database.
mysqlobjectMySQL is an additional section with MySQL database options.
oracleobjectOracle is an additional Oracle configuration options.
protocolstringProtocol is the database protocol: postgres, mysql, mongodb, etc.
tlsobjectTLS is the TLS configuration used when establishing connection to target database. Allows to provide custom CA cert or override server name.
uristringURI is the database connection endpoint.

spec.ad

FieldTypeDescription
domainstringDomain is the Active Directory domain the database resides in.
kdc_host_namestringKDCHostName is the host name for a KDC for x509 Authentication.
keytab_filestringKeytabFile is the path to the Kerberos keytab file.
krb5_filestringKrb5File is the path to the Kerberos configuration file. Defaults to /etc/krb5.conf.
ldap_certstringLDAPCert is a certificate from Windows LDAP/AD, optional; only for x509 Authentication.
ldap_service_account_namestringLDAPServiceAccountName is the name of service account for performing LDAP queries. Required for x509 Auth / PKINIT.
ldap_service_account_sidstringLDAPServiceAccountSID is the SID of service account for performing LDAP queries. Required for x509 Auth / PKINIT.
spnstringSPN is the service principal name for the database.

spec.admin_user

FieldTypeDescription
default_databasestringDefaultDatabase is the 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.
namestringName is the username of the privileged database user.

spec.aws

FieldTypeDescription
account_idstringAccountID is the AWS account ID this database belongs to.
assume_role_arnstringAssumeRoleARN is an optional AWS role ARN to assume when accessing a database. Set this field and ExternalID to enable access across AWS accounts.
docdbobjectDocumentDB contains AWS DocumentDB specific metadata.
elasticacheobjectElastiCache contains AWS ElastiCache Redis specific metadata.
external_idstringExternalID is an optional AWS external ID used to enable assuming an AWS role across accounts.
iam_policy_statusstring or integerIAMPolicyStatus indicates 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. Can be either the string or the integer representation of each option.
memorydbobjectMemoryDB contains AWS MemoryDB specific metadata.
opensearchobjectOpenSearch contains AWS OpenSearch specific metadata.
rdsobjectRDS contains RDS specific metadata.
rdsproxyobjectRDSProxy contains AWS Proxy specific metadata.
redshiftobjectRedshift contains Redshift specific metadata.
redshift_serverlessobjectRedshiftServerless contains AWS Redshift Serverless specific metadata.
regionstringRegion is a AWS cloud region.
secret_storeobjectSecretStore contains secret store configurations.
session_tagsobjectSessionTags is a list of AWS STS session tags.

spec.aws.docdb

FieldTypeDescription
cluster_idstringClusterID is the cluster identifier.
endpoint_typestringEndpointType is the type of the endpoint.
instance_idstringInstanceID is the instance identifier.

spec.aws.elasticache

FieldTypeDescription
endpoint_typestringEndpointType is the type of the endpoint.
replication_group_idstringReplicationGroupID is the Redis replication group ID.
transit_encryption_enabledbooleanTransitEncryptionEnabled indicates whether in-transit encryption (TLS) is enabled.
user_group_ids[]stringUserGroupIDs is a list of user group IDs.

spec.aws.memorydb

FieldTypeDescription
acl_namestringACLName is the name of the ACL associated with the cluster.
cluster_namestringClusterName is the name of the MemoryDB cluster.
endpoint_typestringEndpointType is the type of the endpoint.
tls_enabledbooleanTLSEnabled indicates whether in-transit encryption (TLS) is enabled.

spec.aws.opensearch

FieldTypeDescription
domain_idstringDomainID is the ID of the domain.
domain_namestringDomainName is the name of the domain.
endpoint_typestringEndpointType is the type of the endpoint.

spec.aws.rds

FieldTypeDescription
cluster_idstringClusterID is the RDS cluster (Aurora) identifier.
iam_authbooleanIAMAuth indicates whether database IAM authentication is enabled.
instance_idstringInstanceID is the RDS instance identifier.
resource_idstringResourceID is the RDS instance resource identifier (db-xxx).
security_groups[]stringSecurityGroups is a list of attached security groups for the RDS instance.
subnets[]stringSubnets is a list of subnets for the RDS instance.
vpc_idstringVPCID is the VPC where the RDS is running.

spec.aws.rdsproxy

FieldTypeDescription
custom_endpoint_namestringCustomEndpointName is the identifier of an RDS Proxy custom endpoint.
namestringName is the identifier of an RDS Proxy.
resource_idstringResourceID is the RDS instance resource identifier (prx-xxx).

spec.aws.redshift

FieldTypeDescription
cluster_idstringClusterID is the Redshift cluster identifier.

spec.aws.redshift_serverless

FieldTypeDescription
endpoint_namestringEndpointName is the VPC endpoint name.
workgroup_idstringWorkgroupID is the workgroup ID.
workgroup_namestringWorkgroupName is the workgroup name.

spec.aws.secret_store

FieldTypeDescription
key_prefixstringKeyPrefix specifies the secret key prefix.
kms_key_idstringKMSKeyID specifies the AWS KMS key for encryption.

spec.aws.session_tags

FieldTypeDescription
keystring
valuestring

spec.azure

FieldTypeDescription
is_flexi_serverbooleanIsFlexiServer is true if the database is an Azure Flexible server.
namestringName is the Azure database server name.
redisobjectRedis contains Azure Cache for Redis specific database metadata.
resource_idstringResourceID is the Azure fully qualified ID for the resource.

spec.azure.redis

FieldTypeDescription
clustering_policystringClusteringPolicy is the clustering policy for Redis Enterprise.

spec.dynamic_labels

FieldTypeDescription
keystring
valueobject

spec.dynamic_labels.value

FieldTypeDescription
command[]stringCommand is a command to run
periodstringPeriod is a time between command runs
resultstringResult captures standard output

spec.gcp

FieldTypeDescription
instance_idstringInstanceID is the Cloud SQL instance ID.
project_idstringProjectID is the GCP project ID the Cloud SQL instance resides in.

spec.mongo_atlas

FieldTypeDescription
namestringName is the Atlas database instance name.

spec.mysql

FieldTypeDescription
server_versionstringServerVersion is the server version reported by DB proxy if the runtime information is not available.

spec.oracle

FieldTypeDescription
audit_userstringAuditUser is the Oracle database user privilege to access internal Oracle audit trail.

spec.tls

FieldTypeDescription
ca_certstringCACert is an optional user provided CA certificate used for verifying database TLS connection.
modestring or integerMode is a TLS connection mode. 0 is "verify-full"; 1 is "verify-ca", 2 is "insecure". Can be either the string or the integer representation of each option.
server_namestringServerName allows to provide custom hostname. This value will override the servername/hostname on a certificate during validation.
trust_system_cert_poolbooleanTrustSystemCertPool allows 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.