web-dev-qa-db-ja.com

App Engineフレキシブルへの内部アクセスのみを保証する

内部での使用のみを目的としており、一般向けのGAE Flexアプリケーションがない場合、それを保護するための最良の方法は何ですか?デフォルトでは、*。appspot.comドメインはパブリックHTTP/Sエンドポイントを公開します。

すべてのHTTPトラフィックを明示的に拒否するようにデフォルトのApp Engineファイアウォールルールを設定した場合、他のGCEインスタンスまたは他のプロジェクトの他のGAE Flexアプリからアプリケーションにアクセスするにはどうすればよいですか?

app.yamlファイルは、独自のGCEファイアウォールルール(デフォルトの上り拒否)を備えたプライベートVPCでインスタンスを起動するのに十分ですが、リクエストがCloudロードバランサーIPを通過するため、外部トラフィックを許可します。

次に検討したオプションはCloud IAPで、認証されたユーザーとサービスアカウントのみがアプリケーションにアクセスできるようにします。これは機能する可能性がありますが、インターネットにアクセスできないプライベートVPCからアプリケーションにアクセスする必要がある場合、リクエストを引き続きHTTP経由で送信する必要があるため、サービスを正しく理解していなければ機能しません。

では、内部リソースからのアクセスを許可しながら、App Engineへのパブリックアクセスが絶対にないようにするにはどうすればよいですか?

6
swigganicks

ユースケースの説明は、 App Engineファイアウォール の使用に適しています。

特定のネットワーク内からのトラフィックのみを許可する特定のネットワークから特定の範囲のIPアドレスのみがアプリにアクセスできることを確認します。たとえば、アプリのテスト段階で会社のプライベートネットワーク内からのIPアドレスの範囲のみを許可するルールを作成します...

特定のサービスからのトラフィックのみを許可しますApp Engineアプリへのすべてのトラフィックが特定のサービスを介して最初にプロキシされることを確認します。

サービスからのリクエストを許可する で始まるファイアウォールルールの作成方法に関する説明があります。

アプリエンジンでファイアウォールルールを作成するときに、アプリへのアクセスを許可または拒否するIPを選択できます。すべてのIPへのすべてのHTTPトラフィックを拒否することは必須ではありません。いくつかのルールが作成された ファイアウォールの例 を見てください。それらの中には、特定のIPへのトラフィックを許可するものと、他のIPへのトラフィックを拒否するものがあります。

enter image description here