FusionAuth / fusionauth-issues

FusionAuth issue submission project
https://fusionauth.io
91 stars 12 forks source link

Add ability to have static ip for FusionAuth cloud instances #1393

Open mooreds opened 3 years ago

mooreds commented 3 years ago

Add ability to have static ip for FusionAuth cloud instances

Heard this from one customer.

Problem

I want to use FusionAuth cloud but need to have a hole punched in my firewall. I want to have a static IP I can ask the network engineers to add to the firewall allowlist.

Solution

Have a static IP address for my FusionAuth cloud instance.

Alternatives/workarounds

Self host FusionAuth, I guess.

Additional context

Internal note: could use global accelerator https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.eip-accelerator.html or use this rube goldberg setup: https://aws.amazon.com/blogs/networking-and-content-delivery/using-aws-lambda-to-enable-static-ip-addresses-for-application-load-balancers/

Community guidelines

All issues filed in this repository must abide by the FusionAuth community guidelines.

How to vote

Please give us a thumbs up or thumbs down as a reaction to help us prioritize this feature. Feel free to comment if you have a particular need or comment on how this feature should work.

robotdan commented 3 years ago

There are few reasons we haven't done this yet:

1) cost (minimal) 2) Public IPv4 addresses are limited per VPC / region. We could apply for a quote increase, but eventually we'd likely run out.

In most cases the reason for a public IP is to add these to an allow list when FusionAuth sends events to a webhook. Perhaps there are other use cases as well.

For this specific use case, one option would be to use an internet gateway per VPC and then route all egress through a gateway with a few static IPs that we can document for this purpose. This may work - and may be the preferred solution.

mooreds commented 3 years ago

I don't think elastic ips can be assigned to load balancers.

robotdan commented 3 years ago

I am thinking more of a proxy config to route all egress out of the VPC on one or more static IPs. I would guess it is possible with one of these options:

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html

mooreds commented 2 years ago

This might be useful too: https://github.com/stripe/smokescreen

mooreds commented 2 months ago

An implementation of this work is currently in progress.