Captator
ATApache TinkerPop
•Created by Captator on 4/22/2025 in #questions
Neptune Local Development Access Methods
Ok, after a bit more tinkering, here's an implementation that doesn't require any outside-script configuration or tools, and doesn't require disabling SSL.
It requires an additional import
AiohttpTransport
which is used to pass the server hostname to DriverRemoteConnection
via transport_factory
, solving the hostname mismatch failure issue that arises without it by passing the 'correct' host to the TLS handshake.
10 replies
ATApache TinkerPop
•Created by Captator on 4/22/2025 in #questions
Neptune Local Development Access Methods
I have now figured out a fourth approach using
dnspython
inside the script/notebook and coreDNS
via CLI, (which can be configured by files in the project directory, so is amenable to source control), which doesn't require setting ssl=False
I will edit this to share a minimal reproduction tomorrow 🙂10 replies
ATApache TinkerPop
•Created by Captator on 4/22/2025 in #questions
Neptune Local Development Access Methods
Absolutely - ordinarily I wouldn't consider disabling it.
To be explicit, I am only considering this approach because I can assert that the journey from the development machine to the bastion host, to the Neptune cluster itself, is occurring exclusively through an AWS SSM Session, which is e2e encrypted using TLS.
10 replies
ATApache TinkerPop
•Created by Captator on 4/22/2025 in #questions
Neptune Local Development Access Methods
A third approach (that I had all the pieces for in my tinkering, just never all in the right place at the same time... thanks to https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-python-utils for completing the circuit) is as follows:
My understanding is that in this context
ssl=False
is not a security issue unless localhost
itself is somehow compromised, because the insecure portion of the traffic's journey is exclusively from the script making the request to the entrypoint to the SSM session tunnel at localhost:8182
10 replies
ATApache TinkerPop
•Created by Captator on 4/22/2025 in #questions
Neptune Local Development Access Methods
I hadn't, and that's an obvious-in-retrospect solution that leaves me somewhat kicking myself.
10 replies