始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Deploy the application to App Engine
/ 25
Restrict access with IAP
/ 25
Allow member to access application
/ 25
Access User Identity Information
/ 25
ゼロトラスト セキュリティ モデルでは、すべてのユーザー、デバイス、ネットワークを本質的に信頼できないとみなします。アクセスの許可は、多数の要素(ID、デバイス、場所、時間帯を含むがこれらに限定されない)に基づいて行われます。ゼロトラスト ポリシーを適用する主なユースケースの一つは、ウェブ アプリケーション(Google Cloud またはオンプレミス データセンターでホストされている HTTP / HTTPS ベースのアプリケーションなど)への安全なアクセスを提供することです。ウェブ アプリケーションごとに独自のアクセス制御を行い、正確なセキュリティを設定してリスクを低減できます。ウェブ アプリケーションを保護するためにアクセス制御リスト(ACL)を設定する必要はありません。代わりに IP 範囲を設定して、セキュリティを犠牲にすることなく迅速なオンボーディングを実現できます。アーキテクチャの面では、ゼロトラスト アクセスを提供するための主要なコンポーネントは次のとおりです。
このラボでは、サンプル アプリケーションを App Engine にデプロイし、Identity-Aware Proxy(IAP)を使用してポリシーを適用します。また、IAP で保護されたアプリケーションでユーザー ID 情報を取得します。
プログラミング言語(Python)の基礎知識
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
Google App Engine を使用して簡単なウェブ アプリケーションを構築します。次に、Identity-Aware Proxy を使用して、そのアプリケーションへのアクセスを制限したり、ユーザー ID 情報をそのアプリケーションに提供したりするさまざまな方法を学習します。構築するアプリの機能は次のとおりです。
このアプリケーションは、「Hello, World」というウェルカム ページを表示するだけの、Python 3.8 で記述された App Engine スタンダード アプリケーションです。このアプリケーションをデプロイしてテストした後、IAP を使用してアクセスを制限します。
アプリケーション コードは main.py ファイル内に含まれています。このコードは、Flask ウェブ フレームワークを使用し、テンプレートの内容を利用してウェブ リクエストに応答します。そのテンプレート ファイルは templates/index.html 内にあり、このステップではプレーン HTML のみが含まれています。templates/privacy.html 内の 2 番目のテンプレート ファイルには、プライバシー ポリシーの簡単なサンプルが含まれています。
その他に、次の 2 つのファイルがあります。requirements.txt は、アプリケーションが使用する Python ライブラリ(デフォルト以外)をすべてリストしたファイルです。app.yaml は、このアプリケーションが Python 3.8 App Engine アプリケーションであることを Google Cloud Platform に通知するファイルです。
Cloud Shell で cat コマンドを使用すると、各ファイルを確認できます。
Cloud Shell ウィンドウの右上にある編集アイコン()をクリックして Cloud Shell コードエディタを開き、読み込まれたエディタでコードを調べることもできます。
このステップでは、どのファイルも変更する必要はありません。
次に、Python 3.8 用の App Engine スタンダード環境にアプリをデプロイします。
続行するかどうか確認するメッセージが表示されたら、Yes を意味する「Y」を入力します。
1-HelloWorld フォルダの app.yaml ファイルを表示します。Python のランタイム バージョンを更新します。続行するかどうか確認するメッセージが表示されたら、「Y」と入力して Enter キーを押します。
デプロイは数分で完了し、次のコマンドでアプリケーションを表示できるというメッセージが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ナビゲーション メニュー > [すべてのプロダクトを表示] > [セキュリティ] > [Identity-Aware Proxy] に移動し、[API を有効にする] ボタンをクリックして、[Identity-Aware Proxy に移動] をクリックします。
プロジェクトの OAuth 同意画面を設定するため、ナビゲーション メニュー()> [API とサービス] > [OAuth 同意画面] を選択して、OAuth 同意画面に移動します。
[OAuth の概要] ページで [使ってみる] をクリックし、[アプリ名] に「IAP Example」と入力します。
ユーザー サポートのメールアドレスを指定します。
[オーディエンスの種類] で [内部] を選択し、[次へ] をクリックします。
[連絡先情報] で、ステップ 4 と同じメールアドレスを入力し、[次へ] をクリックします。
[完了] の [利用規約に同意する] チェックボックスをオンにして、[作成] をクリックします。
最初のブラウザタブに戻り、Cloud Shell で次のコマンドを実行します。
コマンドの出力を [OAuth 同意] タブのフォームへの入力として使用するため、URL をコピーします。
[OAuth の概要] ページで、[認証クライアントを作成] をクリックし、[アプリケーションの種類] で [ウェブ アプリケーション] を選択します。
[承認済みのリダイレクト URI] で、[+ URL を追加] をクリックし、コマンド出力で受け取った URL を入力して、[作成] をクリックします。
残りのタブで、ナビゲーション メニュー > [すべてのプロダクトを表示] > [セキュリティ] > [Identity-Aware Proxy] に移動します。
必要に応じてページを更新します。
IAP コンソールで、Ctrl / Command キーを押しながら App Engine アプリケーションの URL を選択して、アプリケーションに移動します。
ログイン フォームにリストされている受講者のユーザー情報でログインします。
アプリケーションへのアクセス権限がないことを知らせる画面が表示されます。
アプリは IAP で正常に保護されていますが、どのアカウントを許可するかを IAP にまだ指示していません。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ナビゲーション メニュー > [すべてのプロダクトを表示] > [セキュリティ] > [Identity-Aware Proxy] を選択して、コンソールの [Identity-Aware Proxy] ページに戻ります。
App Engine アプリの横にあるチェックボックスをオンにすると、ページの右側にサイドバーが表示されます。[プリンシパルを追加] をクリックします。
ラボの左上にあるラボコンソールから Username をコピーし、[新しいプリンシパル] 入力ボックスに入力します。
このユーザーのロールを、[Cloud IAP] > [IAP で保護されたウェブアプリ ユーザー] に設定します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ただし、引き続き「アクセス権がありません」というメッセージがページに表示されることがあります。これは、ログイン Cookie が保存されていることが原因で、IAP が承認を再確認しない場合があるためです。
その場合は次のステップに従います。
/_gcp_iap/clear_login_cookie を追加して(https://iap-example-999999.appspot.com/_gcp_iap/clear_login_cookie など)、ウェブブラウザでそのアドレスを開きます。アカウントがすでに表示された状態で、新たに「Google でログイン」画面が表示されます。
これで、IAP によりアクセス権が再確認されたので、アプリケーションのホーム画面が表示されます。
アプリが IAP で保護されると、通過するウェブ リクエスト ヘッダーで IAP により提供される ID 情報を使用できるようになります。このステップでアプリケーションが取得するのは、ログイン ユーザーのメールアドレスと、Google Identity Services によってそのユーザーに割り当てられた永続的な一意のユーザー ID です。そのデータはウェルカム ページでユーザーに表示されます。
2-HelloUser フォルダの app.yaml ファイルを表示し、Python のランタイム バージョンを更新します。続行するかどうか確認するメッセージが表示されたら、「Y」と入力します。
デプロイの準備ができたら、次のコマンドを入力します。
ブラウザで新しいタブが開かない場合は、表示されているリンクをコピーして貼り付けると、新しいタブで開きます。次のようなページが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
2-HelloUser フォルダには、1-HelloWorld フォルダと同じ一連のファイルが含まれていますが、main.py と templates/index.html の 2 つのファイルには変更が加えられています。プログラムは、IAP によってリクエスト ヘッダーに提供されるユーザー情報を取得するように変更されました。また、テンプレートにそのデータが表示されるようになりました。
cat main.py を実行して、main.py ファイルの内容を表示します。IAP 提供の ID データを取得する main.py には以下の 2 行が含まれています。
X-Goog-Authenticated-User- ヘッダーが IAP によって提供されています。名前の大文字と小文字は区別されないため、必要に応じてすべて小文字または大文字で指定できます。render_template ステートメントにこれらの値が含まれるようになったので、表示が可能です。
index.html テンプレートでこれらの値を表示するには、二重の中かっこで名前を囲みます。
提供されたデータには先頭に accounts.google.com: が付いており、情報の出所が示されます。必要な場合、アプリケーションではコロンまでの部分をすべて削除して未加工の値を取得できます。
Identity-Aware Proxy(IAP)を使用して、Google Cloud にデプロイされた HTTP(S) アプリケーションを保護する方法を学びました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 11 月 12 日
ラボの最終テスト日: 2025 年 11 月 12 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください