API Gateway のリソースポリシーが認証ワークフローに与える影響の検証
参考 : https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-authorization-flow.html#apigateway-resource-policies-iam-policies-interaction
リクエストヘッダー : AuthToken
の値によって Lambda Authorizer が接続可否を判断。Authorizer 結果はキャッシュされる。
リクエストヘッダー : AuthToken
の値が...
123
の時- /res1, /res2, /res3/{id} に接続可能
456
の時- /res1, /res2 は接続不可
- /res3/{id} は接続可能
- それ以外の時
- 全てのリソースに接続不可
-
AuthToken: 123 で /res1 に接続(許可されるはず)
$ curl -H 'AuthToken: 123' https://<API Gateway>/prod/res1
-
AuthToken: 456 で /res3/{id} に接続(許可されるはず)
$ curl -H 'AuthToken: 456' https://<API Gateway>/prod/res3/abc
-
AuthToken: 789 で /res2 に接続(拒否されるはず)
$ curl -H 'AuthToken: 789' https://<API Gateway>/prod/res2
- /res1 (Authorizer:有効、AuthToken: 123 が接続できる)
- /res2 (Authorizer:有効、AuthToken: 123 が接続できる)
- /res3/{id} (Authorizer:有効、AuthToken: 123、456 が接続できる)
- /res4 (Authorizer:無効、API キー必須)