Swiftでの公開IPアドレスのハードコーディング

Swiftでの公開IPアドレスのハードコーディング

説明

本番環境のエンドポイントやサーバー設定に公開IPアドレスを直接記述すると、インフラの変更、証明書の検証、ネットワークポリシーの適用が難しくなります。本来の制御を迂回する接続が生じる場合もあります。

想定される影響

  • 環境ごとのネットワークポリシーの迂回。
  • 証明書のホスト名検証の失敗や、例外設定の増加。
  • デプロイ後のエンドポイント変更が困難になること。

対処方法

  1. 本番環境の接続先はDNS名と環境別の設定で管理してください。
  2. ローカル開発、プライベートネットワーク、文書の例で使用するアドレスは、本番コードと分離してください。
  3. 証明書の検証とネットワークポリシーが適用される標準的なHTTPSエンドポイントを使用してください。

例

変更前

swift
static let baseURL = "https://34.117.59.81/data"

変更後

swift
import Foundation

struct AppConfig {
    let apiBaseURL: URL
}

func makeRequestURL(config: AppConfig) -> URL {
    return config.apiBaseURL.appendingPathComponent("data")
}

解説:

  • 変更前: 公開IPアドレスがコード内に固定されています。
  • 変更後: 環境ごとの設定を通じてエンドポイントを管理します。

参考資料