説明
内部専用 API に公開エンドポイントを使用すると、想定したネットワークの外からも呼び出し経路に到達できます。公開エンドポイント自体が匿名呼び出しを許可するわけではなく、公開サービス用の EDGE や REGIONAL エンドポイントは正当な構成です。
PRIVATE REST API には、インターフェイス VPC エンドポイントやリソースポリシーなどの準備が必要です。ネットワーク範囲を狭めても、メソッド認証やアプリケーションの権限確認は必要です。
想定される影響
- 認証やアクセスポリシーが不足すると、内部機能が意図しない呼び出し元に公開されるおそれがあります。
- プライベート接続経路を用意する前に切り替えると、正常な呼び出しが中断する場合があります。
対処方法
API の公開が必要か確認してください。内部専用 REST API では、インターフェイス VPC エンドポイント、セキュリティグループ、DNS、許可する VPC またはエンドポイントを制限するリソースポリシーを準備してから PRIVATE 構成を適用してください。必要な呼び出し元の接続と認証を試験し、公開 API では目的に合う認証とアクセス制限を維持してください。
例
同じ REST API のエンドポイントタイプを比較する抜粋です。PRIVATE API に必要な VPC エンドポイント、リソースポリシー、メソッド、認証設定は省略しています。
変更前
yaml
Resources:
InternalApi:
Type: AWS::ApiGateway::RestApi
Properties:
Name: internal-api
EndpointConfiguration:
Types:
- EDGE
EDGE は公開 API エンドポイントを構成します。この設定だけではメソッド認証や実際のデータアクセス権限は判断できません。
変更後
yaml
Resources:
InternalApi:
Type: AWS::ApiGateway::RestApi
Properties:
Name: internal-api
EndpointConfiguration:
Types:
- PRIVATE
エンドポイントタイプを PRIVATE に設定します。利用するには必要なプライベート経路とリソースポリシーも構成してください。