Configure the case study application

進行状況を確認

/ 50

Configure Identity Platform Authentication

進行状況を確認

/ 50

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP186

Google Cloud セルフペース ラボ

概要

このラボでは、Identity Platform を使用してアプリケーションに認証を追加する方法を説明します。認証によりユーザーを識別し、ユーザーが行うことのできるアクションの範囲を決定します。詳しくは、認証の概要をご覧ください。

Identity Platform では、ユーザーの登録とログインを管理するカスタマイズ可能なドロップイン認証サービスを利用できます。管理 SDK(Node.js、Java、Python など)のほか、さまざまなアプリ SDK(Android、iOS、Web)に対応しているため、開発作業や管理作業が簡素化されます。Identity Platform の詳細については、Identity Platform をご覧ください。

このラボでは、オンライン クイズ アプリケーションを使用します。このアプリケーションに Identity Platform の認証を追加して、メールアドレスとパスワードのシンプルな認証情報を使用するように構成します。最後に、ユーザーがクイズを行う前に登録とログインが必要となるよう構成します。

学習内容

このラボでは、次のタスクを行います。

  • クライアントサイド ウェブ アプリケーションに Identity Platform の構成を追加する
  • Python のコードを記述して Identity Platform の認証をクライアントサイド ウェブ アプリケーションと統合する

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する一時的な認証情報(ユーザー名とパスワード)
    • このラボを行うために必要なその他の情報(ある場合)

    ラボのタイマーはページの上部に表示され、残り時間が示されます。

  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示された場合は、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの設定とアクセス] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの設定とアクセス] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで指定された認証情報を使用する必要があります。ご自身の Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後のページはクリックして先に進みます。

    • 利用規約に同意します。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

しばらくすると、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニューのアイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

Cloud Shell コードエディタを起動する

Cloud Shell ツールバーを使って、Cloud Shell を新規ウィンドウに移動します。それには [新しいウィンドウで開く] アイコン [新しいウィンドウで開く] アイコン をクリックしてから [エディタを開く] アイコン [エディタを開く] アイコン をクリックしてコードエディタを起動します。

Cloud Shell ターミナルで次のコマンドを実行してプロジェクト ID を構成します。このとき <YOUR-PROJECT-ID> はラボのプロジェクト ID に置き換えます。

gcloud config set project <YOUR-PROJECT-ID>

Cloud Shell を承認します。

タスク 1. ケーススタディ用アプリケーションを準備する

このタスクでは、クイズ アプリケーションのクローンを作成し、構成して実行します。

Cloud Shell でソースコードのクローンを作成する

  1. GitHub.com のリポジトリにあるアプリケーション スケルトンのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  2. 作業ディレクトリへのショートカットとしてソフトリンクを作成します。

    ln -s ~/training-data-analyst/courses/developingapps/v1.3/python/firebase ~/firebase

ケーススタディ用アプリケーションを構成、実行する

  1. このラボのサンプル ファイルが含まれているディレクトリに移動します。

    cd ~/firebase/start
  2. 次のコマンドを実行して、リージョンを us-central から、実際に割り当てられているデフォルトのリージョンに変更します。

    export REGION={{{ project_0.startup_script.app_region | REGION }}} sed -i "s/us-central/$REGION/g" prepare_environment.sh
  3. アプリケーションを構成します。

    . prepare_environment.sh

    このスクリプト ファイルを実行すると、以下の処理が行われます。

    • App Engine アプリケーションを作成する。
    • gs:[Project-ID]-media という名前の Cloud Storage バケットを作成する。
    • GCLOUD_PROJECTGCLOUD_BUCKET の 2 つの環境変数をエクスポートする。
    • Python 3 対応の隔離された virtualenv Python 環境を作成して有効にする。
    • > pip install -r requirements.txt を実行する。
    • Cloud Datastore にエンティティを作成する。
    • Google Cloud Platform のプロジェクト ID を出力する。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ケーススタディ用アプリケーションを構成する

  1. アプリケーションを実行します。

    python run_server.py

ケーススタディ用アプリケーションを起動する

  • Cloud Shell で [ウェブでプレビュー] アイコン [ウェブでプレビュー] アイコン > [ポート 8080 でプレビュー] をクリックして、クイズ アプリケーションをプレビューします。

このラボでは後で Cloud Shell ウェブ プレビュー ドメインが必要となるため、このウィンドウは開いたままにしておきます。

タスク 2. ケーススタディ用のアプリケーション コードを確認する

このタスクでは、ケーススタディ用のアプリケーション コードを確認します。Cloud Shell にインストールされている nanovim などのシェル エディタや、Cloud Shell コードエディタを使用できます。

このラボでは、Cloud Shell コードエディタを使用してこのクイズ アプリケーションのコードを確認します。

Cloud Shell コードエディタを起動する

  • Cloud Shell で [エディタを開く] をクリックして、コードエディタを起動します。

[エディタを開く] ボタン

注: 必要に応じて、[新しいウィンドウで開く] をクリックします。[ターミナルを開く] で再びターミナルに切り替えられます。

クライアント アプリケーションを確認する

  1. コード エディタの左側にあるファイル ブラウザ パネルを使用して、/firebase/start フォルダに移動します。

  2. さらに、...quiz/webapp/static/client/ を開き、index.html ファイルをクリックします。

    このファイルは AngularJS シングルページ アプリケーション(SPA)の単一のページです。アプリケーションのライブラリとコード用の <script></script> タグと、SPA が動的に出力内容をレンダリングするマークアップが含まれます。

  3. ...quiz/webapp/static/client/app/auth/ フォルダにある qiq-login-template.html ファイルを選択します。

    このファイルには、ログイン コンポーネント用の AngularJS のテンプレートが含まれます。また、いくつかのテキストボックスと 1 つのボタンも含まれています。ボタンにはイベント ハンドラが設定されており、クリック時にコードが実行されます。

  4. 同じフォルダにある qiq-login.js ファイルを選択します。

    このファイルには、AngularJS のコンポーネントが含まれています。このコンポーネントにより、ユーザーはアプリケーションにログインしたり、登録ページに移動したりできるようになります。

タスク 3. Identity Platform の認証を構成する

ここでは、メールアドレスとパスワードを使用してユーザーがログインできるように Identity Platform を構成します。その後、クイズ アプリケーションへのログインに使用するユーザーを作成します。

Identity Platform のメールアドレスとパスワードを構成する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Identity Platform] をクリックします。

  2. [Identity Platform を有効化] をクリックします。

    注: 「このサイトを離れますか?」というポップアップ メッセージが表示された場合、[離れる] をクリックします。

    Google Cloud コンソールに Identity Platform のページが表示されます。

    [プロバイダを追加] ボタン

  3. [プロバイダを追加] をクリックします。

  4. [ログイン方法] ウィンドウの [プロバイダの選択] で、[メール / パスワード] を選択します。

  5. [有効] をクリックします。

  6. [承認済みドメイン] ペインで、[ドメインの追加] をクリックします。

  7. 実行中のクイズ アプリケーションに戻り、次のような形式のドメインをコピーします

8080-27542cac-44d0-41a9-9e96-065800c2100c.ql-{{{project_0.default_region | "REGION"}}}-ctgq.cloudshell.dev

[承認済みドメインの追加] ダイアログ ボックス

  1. [ドメイン] フィールドにドメインを貼り付けます。

  2. 貼り付けたドメインを変更して、ドメイン名のみが [ドメイン] フィールドに表示されるようにします。

    https://」とドメイン名に続く文字列(スラッシュを含む)を削除します。ドメイン名は末尾が cloudshell.dev になっている必要があります。

  3. [保存] をクリックします。

注: 後で再試行する必要があることを示すエラー メッセージを受け取った場合は、ドメイン名以外の文字列が送信された可能性があります。ダイアログ ボックスで [キャンセル] をクリックし、[ドメインを追加] をクリックして再試行してください。
  1. [新しい ID プロバイダ] ウィンドウで [保存] をクリックします。

    [保存] ボタンが表示されるまでスクロールが必要になる場合があります。

ユーザーを追加する

  1. [ID プラットフォーム] ペインで、[ユーザー] をクリックします。

  2. [ユーザーを追加] をクリックします。

  3. [ユーザーを追加] ダイアログ ボックスで、次のように指定します。

    メール

    user1@example.com

    パスワード

    abc123!

  4. [追加] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Identity Platform の認証を構成する

タスク 4. クライアントサイド ウェブ アプリケーションを Identity Platform と統合する

このタスクでは、Identity Platform の構成をクライアントサイド ウェブ アプリケーションに適用します。

  1. ナビゲーション パネルで、[プロバイダ] をクリックします。

  2. [アプリケーション設定の詳細] をクリックします。

  3. [アプリケーションの構成] ダイアログ ボックスで、Identity Platform のマークアップをコピーします。

    ハイライト表示されたコピーアイコン

  4. [閉じる] をクリックします。

  5. Cloud Shell コードエディタで ...webapp/static/client/ にある index.html を開きます。

  6. ページの下部にある <script></script> タグの直前に、構成のマークアップを貼り付けます。

  7. index.html ファイルを保存します。

タスク 5. アプリケーションを実行する

このタスクでは、前のステップで作成した Identity Platform の認証情報を使用してクイズ アプリケーションにログインできることを確認します。その後、クイズ アプリケーションに新しいユーザーを登録し、認証情報が Identity Platform に追加されることを確認します。

  1. クイズ アプリケーションに戻り、ブラウザを更新します。

  2. ナビゲーション バーで、[Take Test] をクリックします。

    Quite Interesting Quiz ページ

  3. ナビゲーション バーで、[GCP]、[People]、[Places] のいずれかをクリックします。

    注: ログインせずにテストを受けることはできないため、クイズ ページは空白になっています。
  4. ナビゲーション バーで、次の無効な認証情報を入力します。

    メール

    user2@example.com

    パスワード

    abcd1234$

  5. [Login] をクリックします。

    注: ユーザーが登録されていないため、ログインに失敗します。
  6. 前のタスクで作成した次の認証情報を入力します。

    メール

    user1@example.com

    パスワード

    abc123!

  7. [Login] をクリックします。

    ユーザーのメールアドレスがナビゲーション バーに表示され、最初の質問が提示されます。

    注: ログインできない場合は、パスワードが正しく構成されていない可能性があります。[ID プラットフォーム] の [ユーザー] ページに戻り、user1@example.com を削除してから正しいパスワードで user1@example.com を追加します。
  8. ナビゲーション バーで、[Logout] をクリックします。

  9. [Register] のリンクをクリックします。

  10. 新しいフォームで、次の認証情報を入力します。

    メール

    user2@example.com

    パスワード

    abcd1234$

  11. [Register] をクリックします。

    複雑なパスワードを使用する必要があります。要件を満たすパスワードを入力すると、ログインが完了し、GCP のクイズにリダイレクトされます。

    問題に解答し、解答を送信できます。

  12. ナビゲーション バーで、[Logout] をクリックします。

    注: ログアウトされ、クイズのホームページにリダイレクトされます。
  13. Google Cloud コンソールの [ID プラットフォーム] ナビゲーション パネルで、[ユーザー] をクリックします。

    注: user2@example.com がユーザーとして追加されています。

お疲れさまでした

このラボでは、Identity Platform を使用して、アプリケーションのメールアドレスとパスワード登録を有効にする方法を学習しました。

マニュアルの最終更新日: 2024 年 11 月 13 日

ラボの最終テスト日: 2024 年 11 月 13 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。

ラボを開始するには、この簡単な手順を完了してください。