内部向け SAM API の公開エンドポイント

内部専用 REST API にプライベートエンドポイントとアクセスポリシーを設定します。

説明

SAM REST API の公開エンドポイントは、インターネットからリクエストを受け付けられます。内部専用 API では EndpointConfiguration の Type を PRIVATE にし、VPC エンドポイント経由でアクセスする構成にしてください。

想定される影響

内部向け API が想定外の外部呼び出しにさらされるおそれがあります。公開エンドポイントだからといって、認証なしの呼び出しが許可されるわけではありません。

対処方法

EndpointConfiguration.Type: PRIVATE を設定し、VPC エンドポイントと API リソースポリシーでアクセスを制限してください。VPCEndpointIds の関連付けは呼び出し用の DNS エイリアスを作成するもので、許可リストの代わりにはなりません。

例

この例は SAM の単数形の Type プロパティを使います。API リソースポリシーと VPC エンドポイントは省略しているため、デプロイ時に設定してください。公開サービス向け API では、要件に合う公開エンドポイントを利用できます。

変更前

yaml
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      EndpointConfiguration:
        Type: EDGE

変更後

yaml
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      EndpointConfiguration:
        Type: PRIVATE

参考資料