Skip to content

fix(aws service): Propagate FIPS endpoint setting to STS AssumeRole clients#25232

Open
hligit wants to merge 1 commit intovectordotdev:masterfrom
atlassian-forks:fix-aws-fips-endpoints
Open

fix(aws service): Propagate FIPS endpoint setting to STS AssumeRole clients#25232
hligit wants to merge 1 commit intovectordotdev:masterfrom
atlassian-forks:fix-aws-fips-endpoints

Conversation

@hligit
Copy link
Copy Markdown
Contributor

@hligit hligit commented Apr 21, 2026

Summary

When AWS_USE_FIPS_ENDPOINT=true is set (or use_fips_endpoint=true in an AWS config/profile file), Vector applies FIPS endpoints to the primary service client (e.g., S3, Kinesis) but does not propagate the setting to the STS client used for AssumeRole credential operations. This causes STS calls to go to sts.<region>.amazonaws.com instead of sts-fips.<region>.amazonaws.com, breaking environments that require all AWS traffic to use FIPS-validated endpoints.

Also bumps aws-config from 1.8.13 to 1.8.16. This version bump is required for the fix: ProviderConfig::with_use_fips() was pub(crate) in 1.8.13 and was made pub in 1.8.16 via smithy-rs#4551, which is precisely what allows external consumers (like Vector) to propagate the FIPS setting to credential providers.

Vector configuration

sinks:
  kinesis:
    type: aws_kinesis_streams
    inputs: ["dummy"]
    stream_name: "my-stream"
    region: "us-east-1"
    auth:
      assume_role: "arn:aws:iam::123456789012:role/MyRole"

Run with: AWS_USE_FIPS_ENDPOINT=true vector --config vector.yaml

How did you test this PR?

  • Built Vector and ran it under strace -f -e trace=network with AWS_USE_FIPS_ENDPOINT=true, verifying that STS DNS lookups resolve sts-fips.us-east-1.amazonaws.com instead of sts.us-east-1.amazonaws.com.
  • Repeated with AWS_USE_FIPS_ENDPOINT=false as a control, confirming regular STS endpoints are used.

Change Type

  • Bug fix
  • New feature
  • Dependencies
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References

Closes #18382

Notes

  • Please read our Vector contributor resources.
  • Do not hesitate to use @vectordotdev/vector to reach out to us regarding this PR.
  • Some CI checks run only after we manually approve them.
    • We recommend adding a pre-push hook, please see this template.
    • Alternatively, we recommend running the following locally before pushing to the remote branch:
      • make fmt
      • make check-clippy (if there are failures it's possible some of them can be fixed with make clippy-fix)
      • make test
  • After a review is requested, please avoid force pushes to help us review incrementally.
    • Feel free to push as many commits as you want. They will be squashed into one before merging.
    • For example, you can run git merge origin master and git push.
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run make build-licenses to regenerate the license inventory and commit the changes (if any). More details on the dd-rust-license-tool.

@hligit hligit requested a review from a team as a code owner April 21, 2026 10:52
@hligit hligit force-pushed the fix-aws-fips-endpoints branch from 5ad1f7d to b80de18 Compare April 21, 2026 11:10
…lients

When AWS_USE_FIPS_ENDPOINT=true is configured, Vector now correctly
uses FIPS endpoints for STS operations (e.g., sts-fips.<region>.amazonaws.com)
in addition to the primary service client.

Also bumps aws-config from 1.8.13 to 1.8.16.

Fixes vectordotdev#18382
@hligit hligit force-pushed the fix-aws-fips-endpoints branch from b80de18 to 5272843 Compare April 21, 2026 11:12
@hligit hligit changed the title fix(aws): Propagate FIPS endpoint setting to STS AssumeRole clients fix(aws service): Propagate FIPS endpoint setting to STS AssumeRole clients Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unable to get Vector to use the FIPS AWS endpoints

1 participant