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ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ