<p>Would love to get peoples thoughts on this.</p>
<p>I have a front-end application that lives on the apple store. It interacts with custom JavaScript APIs that we've built and that are deployed on an EKS cluster. The cluster and the EC2 instances of the cluster live in private subnets in AWS, but are exposed to the world through an application load balancer that lives in a public subnet.</p>
<p>Since the front end application lives on apples servers, I can't think of an easy way to securely access the APIs in AWS without exposing them to the world. This is what I have in mind:</p>
<ol>
<li>Use API keys. Not ideal as the keys could still potentially be scraped from a header</li>
<li>Restrict access to the APIs to the apple server network via ACLs and security groups. Again, not something that seems achievable since there is no network CIDR that apple provide (that I know of)</li>
<li>Set up some sort of SSH tunnel</li>
</ol>
<p>I've hit a wall on this and would really appreciate anyones thoughts if they've had a similar issue.</p>
<p>Thanks!</p>

DevOps guy
<p>In Google CDP you can have another type of ACL which monitors the client URL. If requests wont come from your.frontend.app, they are denied. Check if you can find that in AWS as well</p>
<p>I recommend to further think about if possible in you project:</p>
<p>1.) CSRF strategy. Apply tokens to clients which must be provided on request to API.<br>
2.) AccessLimiter. Maintain Fingerprint or Session for your clients and count/limit requests as you need. E.g. if the request didnt run through an index file before, no request is possible as clients didnt collect a token.</p>
