Sigv4auth Extension
contrib
Maintainers: @Aneurysm9, @erichsueh3
Source: opentelemetry-collector-contrib
Overview
Configuration
The configuration fields are as follows:assume_role: Optional. Specifies the configuration needed to assume a rolearn: The Amazon Resource Name (ARN) of a role to assumesession_name: Optional. The name of a role sessionweb_identity_token_file: The path to the file containing the JWT token to be exchangedsts_region: The AWS region where STS is used to assumed the configured role- Note that if a role is intended to be assumed, and
sts_regionis not provided, thensts_regionwill default to the value forregionifregionis provided
- Note that if a role is intended to be assumed, and
external_id: Optional. A unique identifier used when assuming a role in cross-account scenarios to prevent the confused deputy problem
region: Optional. The AWS region for the service you are exporting to for AWS Sigv4. This is differentiated fromsts_regionto handle cross region authentication- Note that an attempt will be made to obtain a valid region from the endpoint of the service you are exporting to
- List of AWS regions
service: Optional. The AWS service for AWS Sigv4- Note for supported services an attempt will be made to obtain a valid service from the endpoint of the service you are exporting to. Supported services include - workspaces, es, logs and traces.
Assume Role
Example Configuration:
Notes
- The collector must have valid AWS credentials as used by the AWS SDK for Go
Assume Role with Web Identity
Configuringweb_identity_token_file will cause the sigv4auth extension to exchange the token in the specified web_identity_token_file for AWS credentials. This is especially useful for authenticating from on-prem systems or other cloud providers via OIDC to publish telemetry to an AWS destination (e.g. Amazon Managed Prometheus).
Prerequisites:
To utilize Assume Role with Web Identity with the sigv4 extension, an AWS IAM role must be setup to be able to be assumed via OIDC. Once established, a configuration like below can be used to assume that role and interact with AWS services. In kubernetes, the service account token is typically stored in/var/run/secrets/kubernetes.io/serviceaccount/token. Before implementing, ensure that the audience is included in the AWS OIDC provider, and the claims match any conditions in the IAM role trust policy.
Example Configuration:
Assume Role with External ID
When assuming a role in cross-account authentication scenarios, an External ID can be specified to prevent the confused deputy problem.Example Configuration:
Configuration
Example Configuration
Last generated: 2026-04-13