
Google Cloud Functions で実行しているサービスがいくつかあり、AWS のエンドポイントに接続する必要があります。ホワイトリストに登録できる IP の固定セットがないので、これをどのように対処するのが最善かについてご意見をお聞かせいただけますか? IP は説明どおりにリストできると理解しています。ここただし、これを動的に処理したり、IP の変更を監視したりすることについての考えを共有してください。
Amazon は、すべての AWS IP を一覧表示するサブスクライブ可能な SNS トピックを提供しており、セキュリティ グループを最新の状態に保つために SNS トピックにサブスクライブした Lambda 関数を使用したユースケースがあります。しかし、同様のニーズに対して Google と対処する最善の方法を模索しています。
答え1
着信トラフィックを保護する一般的な方法は 3 つあります。
- 場所 - トラフィックの IP アドレス。
- 誰 - トラフィックの ID (OAuth ID トークンなど)
- What - トラフィックが所有する秘密 (秘密キー、API キーなど)。
Google Cloud Functions の場合、最初の方法を確実に使用することはできません。Google はまだ Cloud Functions IP ネットブロックを公開していません。Cloud Functions がどのネットブロックから到着するかを把握するのはかなり簡単ですが、それには他の多くの Google Cloud サービスも含まれます。
Google Cloud Functions は--service-account
、サービス アカウントを使用して HTTP の「authorization: bearer」ヘッダーに OAuth ID トークンを提供するデプロイメント オプションをサポートしています。これは、GCP の世界 (OAuth) で ID を検証する通常の方法です。
3 番目の方法 (秘密鍵) は、任意の方法になります。カスタム ヘッダー、カスタム ボディ ペイロードなどを作成し、秘密鍵を含めることができます。
Google Cloud Functions が呼び出すエンドポイント、またはエンドポイントの前にあるゲートウェイは、使用しているメソッドを検証する必要があります。