Protect AWS Appsync APIs end point from public internet, restrict it to be accessible from Service deployed inside vpc

0

I have AWS Appsync graph QL end point, which is intended to be a backend service only. It is not meant to be exposed to the public internet. How to protect the end point to be used by another back end service deployed in vpc and external facing AWs Appsync instance ? Any reference articles or leads will be super helpful. Thanks in advance.

3 回答
2
已接受的回答

For your particular use case, the most straightforward option would be to use AWS_IAM authorization:

  • create a role, allowing appsync:GraphQL action on the GraphQL API resource (or subset of operations)
  • associate backend service with that role, so that it can sign all GraphQL requests with SigV4
  • configure GraphQL API to use AWS_IAM security

This will require all clients to attach a valid SigV4 signature to all client requests.

If you want to lockdown API endpoint access even further and reject connection requests from unauthorized ip ranges, you might want to consider adding WAF integration and building WAF rules to allow connections from a predefined ip address range only.

AWS
已回答 2 年前
1

Great question!

Check out https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html on how to secure AWS AppSync.

Specifically, you can configure 5 different types of authorization (API Key, AWS Lambda, AWS IAM, OpenID Connect, or Amazon Cognito User Pools).

You could also use WAF to protect your AppSync API: https://docs.aws.amazon.com/appsync/latest/devguide/WAF-Integration.html

More information about AppSync Security here: https://docs.aws.amazon.com/appsync/latest/devguide/security.html

jsonc
已回答 2 年前
0
AWS
已回答 10 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则