Skip to content

Require HTTPS for IAM-signed requests - #2467

Merged
kmcginnes merged 2 commits into
mainfrom
t3/implement-issue-2463
Oct 22, 2026
Merged

kmcginnes merged 2 commits into
mainfrom
t3/implement-issue-2463

Conversation

@kmcginnes

Copy link
Copy Markdown
Collaborator

Summary

Neptune accepts only HTTPS, so an IAM-authenticated connection with an http:// Database URL can't work. The proxy server now fails it up front with an error that names the fix.

User-facing: A connection with IAM authentication on and an http:// Database URL shows "IAM authentication needs an https:// Database URL…" instead of a failed request. Connections without IAM, such as Gremlin Server over http://, are unchanged.

parseDbQueryHeaders
  assertPermittedDbOrigin
+ assertHttpsForIamSigning   # only when IAM is on; 400 if the URL is http://

Every forwarding route and both cancel paths go through parseDbQueryHeaders, so the Default Connection with IAM=true is covered too.

Evidence

Before: the proxy sent the IAM request to the http:// URL.
After: a 400 with the fix message, and nothing is sent to the database. Tests cover each forwarding route, plus an unsigned http:// request that still goes through.

Verified live: all six forwarding routes plus the cancel path against a local proxy and a throwaway fake database over http://.

Merge Danger

Door: two-way

Impact: IAM connections with an http:// URL now fail with a clear error; Neptune endpoints use https://, so they don't change.

Upgrade note

  • IAM authentication needs https://. A connection with IAM authentication on and an http:// Database URL now fails with an error that names the fix, instead of sending the request. Neptune endpoints use https://, so Neptune connections don't change.

Related

Comment thread docs/references/configuration.md Outdated
@kmcginnes
kmcginnes force-pushed the t3/implement-issue-2463 branch from 3349372 to 1584ba1 Compare October 22, 2026 23:27

@kmcginnes kmcginnes left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@kmcginnes
kmcginnes merged commit 8321d7f into main Oct 22, 2026
4 checks passed
@kmcginnes
kmcginnes deleted the t3/implement-issue-2463 branch October 22, 2026 23:37
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.

Require HTTPS for IAM-signed requests

1 participant