アプリケーションのセキュリティ

セキュリティは Google Cloud Platform の中核機能ですが、App Engine アプリを保護し、脆弱性を特定する方法は他にもあります。

以下の機能を使用して、App Engine アプリのセキュリティを確保します。Google セキュリティ モデルと GCP プロジェクトを保護する方法については、Google Cloud Platform のセキュリティをご覧ください。

HTTPS リクエスト

HTTPS リクエストを使用して App Engine アプリに安全にアクセスします。アプリの構成に応じて、次のオプションがあります。

appspot.com ドメイン
  • 次のように、URL で単に https 接頭辞を使用して HTTPS リクエストを GCP プロジェクトの default サービスに送信します。
    https://[MY_PROJECT_ID].appspot.com
  • App Engine アプリで特定のリソースを対象とするには、次のように -dot- 構文を使用して対象とする各リソースを区切ります。

    https://[VERSION_ID]-dot-[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com

  • ヒント: 次のように、各リソース間のピリオドを -dot- で置き換えるだけで、HTTP の URL を HTTPS に変換できます。

    http://[SERVICE_ID].[MY_PROJECT_ID].appspot.com
    https://[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com

HTTPS URL と対象とするリソースの詳細については、リクエストのルーティング方法をご覧ください。

カスタム ドメイン

カスタム ドメインで HTTPS リクエストを送信する場合は、App Engine によってプロビジョニングされたマネージド SSL 証明書を使用できます。詳細については、SSL によるカスタム ドメインの保護をご覧ください。

ID とアクセスの管理

GCP プロジェクト レベルで Identity and Access Management(IAM)役割を使用して、アクセス制御を設定できます。GCP のプロジェクト メンバーやサービス アカウントに役割を割り当てることで、GCP プロジェクトとそのリソースへのアクセスレベルを決定します。詳細については、アクセス制御をご覧ください。

App Engine ファイアウォール

App Engine ファイアウォールでは、指定した範囲の IP アドレスからのリクエストを許可または拒否する一連のルールを使用して、App Engine アプリへのアクセスを制御できます。ファイアウォールでブロックされたトラフィックまたは帯域幅に対しては課金されません。ファイアウォールを作成すると、次のことを行うことができます。

特定のネットワーク内のトラフィックのみを許可する
特定のネットワークの特定の IP アドレス範囲にのみアプリへのアクセスを許可します。たとえば、アプリのテスト段階で、会社のプライベート ネットワーク内の IP アドレス範囲のみを許可するルールを作成します。その後アプリのリリース プロセスが一般公開に向けて進む過程でファイアウォール ルールを随時作成、変更し、社内または外部の特定の組織にのみアプリへのアクセスを許可できます。
特定のサービスからのトラフィックのみを許可する
App Engine アプリに対するすべてのトラフィックが特定のサービス経由でプロキシ送信されるように設定します。たとえば、サードパーティのウェブ アプリケーション ファイアウォール(WAF)を使用してアプリに対するリクエストをプロキシ処理する場合、WAF から転送されてきたリクエスト以外をすべて拒否するようなファイアウォール ルールを作成できます。
不正な IP アドレスをブロックする
Google Cloud Platform には攻撃を防ぐさまざまなメカニズムが用意されています。App Engine ファイアウォールを使用すると、悪意の行動を示す IP アドレスからアプリに向けられたトラフィックをブロックしたり、サービス拒否攻撃などの不正行為からアプリをシールドしたりすることができます。また、IP アドレスやサブネットワークをブラックリストに登録すると、それらのアドレスやサブネットワークからルーティングされてきたリクエストを App Engine アプリに到達する前に拒否できます。

ルールの作成とファイアウォールの構成の詳細については、ファイアウォールでアプリに対するアクセスを制御するをご覧ください。

Security Scanner

Google Cloud Security Scanner は、App Engine アプリをクロールし、開始 URL の範囲内ですべてのリンクを追跡し、できるだけ多くのユーザー入力とイベント ハンドラの実行を試みることで、脆弱性を探し出します。

Security Scanner を使用するには、GCP プロジェクトのオーナーである必要があります。役割の割り当ての詳細については、プロジェクト アクセス権の付与をご覧ください。

Google Cloud Platform Console からセキュリティ スキャンを実行することで、App Engine アプリの脆弱性を特定できます。Security Scanner の実行方法については、Security Scanner クイックスタートをご覧ください。