Data source settings reference for ES|QL Data Federation
Data source settings control how Elasticsearch connects and authenticates to an external storage system. Add settings to the settings object when you create or update a data source, or fill in the matching fields in the Connect data source flyout in Kibana. The available settings depend on the data source type.
This feature is experimental. It is not intended for production use and there are no guarantees around performance, scale, or stability in this release.
The following settings apply to data sources with type set to s3.
These settings control which endpoint Elasticsearch sends S3 requests to and how it addresses buckets.
endpoint-
An Amazon S3 endpoint override, for example
https://s3.us-east-1.amazonaws.com.- Default: None. The endpoint is resolved from the region.
- Valid values:
-
An absolute URL naming a supported AWS S3 endpoint. Refer to S3 endpoint requirements. -
Any endpoint URL. The value isn't validated.
-
- Related:
addressing_style,region
Omit
endpointto resolve the endpoint from the region, which is the recommended configuration.S3 endpoint requirements The
endpointvalue must be an absolutehttpsURL naming a supported AWS S3 endpoint. Elasticsearch accepts the following endpoint forms. Every AWS partition supports the regional, historical, and VPC interface forms, and only the commercial partition supports the global form:- Regional:
https://s3.us-east-1.amazonaws.com - Historical:
https://s3-us-west-2.amazonaws.com - VPC interface:
https://bucket.vpce-0a1b2c3d.s3.us-east-1.vpce.amazonaws.com - Global:
https://s3.amazonaws.com
A regional endpoint must name a region that your Elasticsearch version knows about. Elasticsearch rejects a region that AWS added after that release until you upgrade, or until a node permits its host with
esql.external.allowed_endpoint_hosts.Notehttps://s3.amazonaws.comhas no region. When you setendpoint, the AWS SDK stops following cross-region redirects, so this global endpoint only reachesus-east-1buckets. Other regions get an error. Omitendpointto let the AWS SDK resolve the correct regional endpoint from theregionsetting.Elasticsearch rejects every other AWS endpoint family, including FIPS endpoints, dual-stack endpoints, transfer acceleration, access points, object lambda, Outposts, the account-level control plane, the legacy
s3-external-1alias, and S3 Express. It also rejects a bucket-qualified endpoint such ashttps://mybucket.s3.us-east-1.amazonaws.com. Name the regional endpoint instead, and let the bucket come from the dataset. It also rejects plainhttp, a value without a scheme, and a host that the URL syntax doesn't allow, such as one with an underscore or a non-numeric port.A node can permit additional hosts with the
esql.external.allowed_endpoint_hostsnode setting, a list ofhost:portpatterns inelasticsearch.ymlthat defaults to empty. A host it names is also accepted over plainhttpforendpoint. Thests_endpointsetting always requireshttps.WarningA data source created before these endpoint restrictions were introduced keeps working for queries, but updating it requires an endpoint that meets these requirements.
addressing_style-
The URL addressing style for S3 requests.
- Default:
auto - Valid values:
auto: Uses path-style whenendpointis set, and the AWS SDK default otherwise.path: Always uses path-style.virtual_hosted: Lets the AWS SDK decide. Bare-IP endpoints fall back to path-style.
- Related:
endpoint
Because
autoresolves to path-style wheneverendpointis set, setvirtual_hostedif reads through a VPC interface endpoint fail with an addressing error. - Default:
region-
The AWS region used for the S3 client.
The regionsetting on a data source is deprecated and has no effect. Setregionin the dataset settings instead, or omit it to let Elasticsearch detect the region automatically. When noendpointis set, the AWS SDK redirects transparently. When one is set, Elasticsearch issues aHeadBucketprobe on the first request and caches the discovered region. The cache is cleared after a few minutes without requests, and the next request discovers the region again.Set regionon the data source. Datasets don't accept aregionsetting.
These settings select the authentication model and supply the values it needs. For the AWS Identity and Access Management (IAM) permissions the configured identity needs, refer to grant read access in Amazon S3.
auth-
The authentication model the data source uses.
- Default:
auto - Valid values:
auto: Infers the model from the other settings. Federated identity settings such asrole_arnselectfederated_identity, andaccess_keywithsecret_keyselectsstatic_credentials. A data source with both, or with neither, is rejected.autonever selectsanonymousormanaged_identity, so set those explicitly.anonymousstatic_credentialsmanaged_identityfederated_identity
The Requires line on each of the following settings names the model the setting belongs to. When
authisautoor omitted, it refers to the model Elasticsearch infers. - Default:
access_key-
The AWS access key ID.
- Default: None
- Requires:
authset tostatic_credentials - Related:
secret_key,session_token
secret_key-
The AWS secret access key.
- Default: None
- Requires:
authset tostatic_credentials - Related:
access_key,session_token
session_token-
The AWS session token for temporary security credentials issued by AWS Security Token Service (STS).
- Default: None
- Requires:
authset tostatic_credentials, withaccess_keyandsecret_keyfrom the same temporary credentials - Related:
access_key,secret_key
Temporary credentials expire. When they do, requests from the data source fail until you update all three values with new credentials.
role_arn-
The Amazon Resource Name (ARN) of the IAM role Elasticsearch assumes through STS.
- Default: None. Required when
authis set tofederated_identity. - Requires:
authset tofederated_identity - Related:
jwt_audience,role_session_name,sts_endpoint,sts_region
- Default: None. Required when
jwt_audience-
Overrides the JWT audience claim sent to STS.
- Default:
sts.amazonaws.com - Requires:
authset tofederated_identity - Related:
role_arn
- Default:
role_session_name-
A label for the assumed-role session.
- Default:
elasticsearch-esql-datasource - Requires:
authset tofederated_identity - Related:
role_arn
- Default:
sts_endpoint-
An STS endpoint override, for example
https://sts.us-east-1.amazonaws.com.- Default: None
- Valid values: An absolute
httpsURL that meets the same S3 endpoint requirements asendpoint, but for STS hosts - Requires:
authset tofederated_identity - Related:
sts_region
Any host permitted through
esql.external.allowed_endpoint_hostsreceives the node's OIDC token, so only add hosts on trusted network paths.
sts_region-
The AWS region of the STS endpoint.
- Default:
-
The dataset's regionsetting, orus-east-1if the dataset has no region -
The data source's regionsetting, orus-east-1if no region is set
-
- Requires:
authset tofederated_identity - Related:
sts_endpoint,region
A regionset on the data source no longer applies to STS. If afederated_identitydata source relied on it, setsts_regionon the data source, orregionon each dataset, to keep calling STS in that region. - Default: