OpenAPIの操作の接続先でHTTPを使用

操作の接続先にHTTPを指定すると、そのAPI呼び出しが平文通信になる可能性があります。

説明

OpenAPI 3.0の操作ごとのserversは、パス単位または全体のサーバー設定を上書きします。HTTPのアドレスがあると、全体の既定値がHTTPSでも、その操作のクライアントが平文通信を選択できます。

想定される影響

HTTP接続で送受信するリクエストやレスポンスは、通信経路で漏えいしたり改ざんされたりするおそれがあります。

対処方法

操作ごとの接続先をHTTPSに変更するか、上書きを削除して上位のHTTPS設定を継承してください。実際のサーバーやゲートウェイの接続設定も合わせて変更してください。

例

次の抜粋では、GET /のステージング環境のアドレスをHTTPSに変更し、HTTPSの本番環境のアドレスを追加します。

変更前

json
{
  "openapi": "3.0.0",
  "paths": {
    "/": {
      "get": {
        "servers": [
          {
            "url": "https://development.gigantic-server.com/v1"
          },
          {
            "url": "http://staging.gigantic-server.com/v1"
          }
        ]
      }
    }
  }
}

変更後

json
{
  "openapi": "3.0.0",
  "paths": {
    "/": {
      "get": {
        "servers": [
          {
            "url": "https://development.gigantic-server.com/v1"
          },
          {
            "url": "https://staging.gigantic-server.com/v1"
          },
          {
            "url": "https://api.gigantic-server.com/v1"
          }
        ]
      }
    }
  }
}

参考資料