arrow_back

BeyondCorp Enterprise(BCE)を使用して仮想マシンを保護する

ログイン 参加
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

BeyondCorp Enterprise(BCE)を使用して仮想マシンを保護する

Lab 1時間 30分 universal_currency_alt クレジット: 5 show_chart 中級
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1036

Google Cloud セルフペース ラボ

概要

このラボでは、BeyondCorp Enterprise(BCE)と Identity-Aware Proxy(IAP)TCP 転送を使用して、外部 IP アドレスを持たない(インターネットから直接アクセスできない)VM インスタンスに管理者権限でアクセスできるようにする方法を学びます。

学習内容

  • Google Cloud プロジェクトで IAP TCP 転送を有効にする
  • Linux インスタンスと Windows インスタンスへの接続をテストする
  • BCE に必要なファイアウォール ルールを構成する
  • IAP TCP 転送の使用権限を付与する
  • SSH 接続と RDP 接続を使用したトンネリングのデモを行う

設定

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

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

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

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

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

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

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

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

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Windows インスタンスへの接続とテストに使用するため、RDP クライアントがプリインストールされている必要があります。

タスク 1. Google Cloud プロジェクトで IAP TCP 転送を有効にする

  1. ナビゲーション メニューを開き、[API とサービス] > [ライブラリ] を選択します。

  2. IAP」を検索し、[Cloud Identity-Aware Proxy API] を選択します。

  3. [有効にする] をクリックします。

Cloud Identity-Aware Proxy API

タスク 2. Linux インスタンスと Windows インスタンスを作成する

このラボのために次の 3 つのインスタンスを作成します。 - デモ用の 2 つのインスタンス(Linux と Windows) - 接続テスト用の 1 つのインスタンス(Windows)

Linux インスタンス

  1. ナビゲーション メニューで [Compute Engine] を選択します。

  2. [インスタンスを作成] をクリックし、次の構成を使用して VM を作成します。残りはデフォルトのままにします。

  • 名前: linux-iap
  • ゾーン:
  1. [詳細オプション] をクリックし、[ネットワーキング] を選択します。[ネットワーク インターフェース] で、defult ネットワークをクリックして編集します。[外部 IPv4 アドレス] を [なし] に変更します。

  2. [完了] をクリックします。

    ネットワーク インターフェースを設定

  3. 次に [作成] をクリックします。以降はこの VM を linux-iap と呼びます。

Windows インスタンス

  1. Windows デモ用 VM を作成するには、[インスタンスを作成] をクリックし、次の構成を使用して VM を作成します。残りはデフォルトのままにします。
  • 名前: windows-iap
  • ゾーン:
  • [ブートディスク] セクションで、[変更] をクリックします。
  1. OS について、次のように選択します。

    • [公開イメージ] > [オペレーティング システム] > [Windows Server]
    • [バージョン] > [Windows Server 2016 Datacenter]

    Windows のバージョンを選択

  2. [選択] をクリックします。

  3. [詳細オプション] をクリックし、[ネットワーキング] を選択します。[ネットワーク インターフェース] で、defult ネットワークをクリックして編集します。[外部 IPv4 アドレス] を [なし] に変更します。[完了] をクリックします。

  4. 次に [作成] をクリックします。以降はこの VM を windows-iap と呼びます。

  5. Windows 接続テスト用 VM を作成するには、[インスタンスを作成] をクリックし、次の構成を使用して VM を作成します。残りはデフォルトのままにします。

  • 名前: windows-connectivity
  • ゾーン:
  • [ブートディスク] セクションで、[変更] をクリックします。
  1. OS について、[カスタム イメージ] タブで次のように設定します。

    • [イメージのソース プロジェクト]: Qwiklabs Resources
    • [イメージ]: iap-desktop-v001
  2. [選択] をクリックします。

  3. [アクセス スコープ] では、[すべての Cloud API に完全アクセス権を許可] を選択します。

    このインスタンスの外部 IP は無効にしないでください。

  4. 次に [作成] をクリックします。以降はこの VM を windows-connectivity と呼びます。

3 つのインスタンスがすべて作成されているか確認する

タスク 3. Linux インスタンスと Windows インスタンスへの接続をテストする

  1. インスタンスを作成したら、linux-iapwindows-iap へのアクセスをテストして、外部 IP がない VM にはアクセスできないことを確認します。

  2. linux-iap の [SSH] ボタンをクリックしてこのマシンに接続し、次のようなメッセージが表示されることを確認します。

    Linux の接続に失敗

  3. windows-iap の [RDP] ボタンをクリックして、次のようなメッセージが表示されることを確認します。

    Windows の接続に失敗

以降の手順で IAP を構成して使用すると、外部 IP を持たないインスタンスに接続できるようになります。

タスク 4. BCE に必要なファイアウォール ルールを構成する

  1. ナビゲーション メニューを開いて [VPC ネットワーク] > [ファイアウォール] を選択し、[ファイアウォール ルールを作成] をクリックします。

  2. 以下の設定を構成します。

項目 設定
名前 allow-ingress-from-iap
トラフィックの方向 上り
ターゲット ネットワーク上のすべてのインスタンス
ソースフィルタ IPv4 範囲
送信元 IPv4 範囲 35.235.240.0/20
プロトコルとポート [TCP] を選択して「22, 3389」と入力し、SSH と RDP の両方を許可
  1. [作成] をクリックしてファイアウォール ルールを作成します。
適切なファイアウォール ルールが作成されていることを確認する。

タスク 5. IAP TCP 転送の使用権限を付与する

次の手順に沿って、iap.tunnelResourceAccessor ロールを VM ごとに構成します。

  1. ナビゲーション メニューを開いて [セキュリティ] > [Identity-Aware Proxy] を選択し、[SSH と TCP のリソース] タブに切り替えます(HTTPS セクションに表示される Oauth 同意画面のエラーは無視してかまいません)。
  2. linux-iap および windows-iap の各 VM インスタンスを選択します。
  3. [プリンシパルを追加] をクリックし、windows-connectivity VM に関連付けられているサービス アカウントを入力します。-compute@developer.gserviceaccount.com のような形式になっているはずです。
  4. ロールに [Cloud IAP] > [IAP で保護されたトンネル ユーザー] を選択します。
  5. [保存] をクリックします。
  6. ページの右上にある「S」アイコンをクリックしてプロフィールを開き、受講者アカウントのメールアドレスをコピーします。
  7. 再び [プリンシパルを追加] をクリックして、受講者アカウントを追加します。
  8. 受講者アカウントを入力します。この値は [ラボの詳細] ペインからコピーすることもできます。
  9. ロールに [Cloud IAP] > [IAP で保護されたトンネル ユーザー] を選択します。
  10. [保存] をクリックします。
IAP で保護されたトンネル ユーザーのロールにより、windows-connectivity インスタンスが IAP を使用してリソースに接続できるようになります。受講者アカウントを追加することで、このステップが正しく行われたことを確認できます。

プリンシパルを追加

サービス アカウントの IAM ロールが設定されていることを確認する。

タスク 5. IAP Desktop を使用して Windows インスタンスと Linux インスタンスに接続する

IAP Desktop を使用すると、Windows デスクトップを持つインスタンスからグラフィカル ユーザー インターフェースを使用してインスタンスに接続できます。IAP Desktop の詳細については、このツールのダウンロードをホストしている GitHub リポジトリをご覧ください。

IAP Desktop を使用してこのラボのインスタンスに接続するには:

  1. RDP ファイルをダウンロードして windows-connectivity インスタンスに RDP 接続します。[Compute Engine] > [VM インスタンス] ページに移動します。Compute Engine ランディング ページで、windows-connectivity インスタンスの横にあるプルダウン矢印を選択して RDP ファイルをダウンロードします。

  2. その RDP ファイルを開いて Remote Desktop Protocol でインスタンスに接続します。プロンプトが表示されたら、以下の認証情報を使用してインスタンスに接続します。

  • ユーザー名: student
  • パスワード: Learn123!
  1. windows-connectivity インスタンスに接続したら、インスタンスのデスクトップで IAP Desktop アプリケーションを見つけて開きます。

  2. アプリケーションが開いたら、[Google でログイン] ボタンをクリックしてログインします。IAP Desktop の認証には、ラボコンソールに表示されているユーザー名とパスワードを使用します。必ず、「Google Cloud のデータの表示、編集、設定、削除」を行えるオプションを選択してください。

oauth_permissions.png

  1. 認証後に IAP Desktop で Compute Engine インスタンスに接続するにはプロジェクトを追加する必要があります。ラボ インスタンスに関連付けられているラボ プロジェクトを選択します。

add_project.png

IAP Desktop アプリケーションで windows-iap インスタンスをダブルクリックして、このインスタンスにログインします。

  1. 初めて IAP Desktop からこのインスタンスに接続する際に、インスタンスの認証情報の入力を求められることがあります。初めてこのインスタンスにログインする際には [新しい認証情報を生成] を選択します。

credentials.png

  1. 認証情報を作成すると、windows-iap インスタンスのデスクトップが表示されて、エンドユーザーとして利用できるようになります。

windows_iap.png

タスク 6. SSH 接続と RDP 接続を使用したトンネリングのデモを行う

  1. RDP クライアントを使用して RDP インスタンスへの接続をテストします。これを行うのは、ローカルで IAP トンネルを使用してインスタンスに接続する必要があるからです。

  2. [Compute Engine] > [VM インスタンス] ページに移動します。

  3. windows-connectivity インスタンスのプルダウン矢印をクリックして、[Windows パスワードを設定] を選択します。パスワードをコピーして保存します。

次に、接続の横にあるプルダウン矢印をクリックして [RDP ファイルをダウンロード] を選択します。その RDP ファイルをクライアントで開き、パスワードを入力します。

  1. windows-connectivity インスタンスに接続したら、Google Cloud SDK Shell を開きます。
Google Cloud SDK Shell のデスクトップ アイコン

コマンドラインで次のコマンドを入力して、linux-iap インスタンスに接続できるか確認します。

gcloud compute ssh linux-iap

続行とゾーン選択のプロンプトが表示されたら Y キーを押します。

このインスタンスの正しいゾーンが選択されていることを確認してください。

次に、PuTTY のセキュリティ通知を受け入れます

外部 IP アドレスが見つからなかったため IAP トンネリングを使用する、という内容のメッセージが表示されるはずです。

外部 IP アドレスが見つからなかったことを示す出力

PuTTY の設定を更新して、ローカルでトンネル接続を許可します。PuTTY ウィンドウの左上をクリックして [設定の変更] を選択します。

PuTTY の設定

ローカルポートで他のホストからの接続を受け入れるために、[ローカルポートは他のホストからの接続を受け入れる] チェックボックスをオンにします。 トンネルの設定

  1. PuTTY セッションを閉じて [適用] をクリックします。次のコマンドを使用して、VM インスタンスの RDP ポートへの暗号化されたトンネルを作成します。
gcloud compute start-iap-tunnel windows-iap 3389 --local-host-port=localhost:0 --zone={{{ project_0.default_zone | Zone }}}

「Listening on port [XXX]」というメッセージが表示されたら、トンネルのポート番号をコピーします。

  1. Google Cloud コンソールに戻り、[Compute Engine] > [VM インスタンス] ページに移動します。

windows-iap インスタンスのパスワードを設定してコピーします。

RDP セッションに戻ります。

gcloud を実行したままにして、Microsoft Windows リモート デスクトップ接続アプリを開きます。

トンネル エンドポイントを入力します。endpoint には、先ほどコピーしたトンネルのポート番号を使用します。

  • localhost:endpoint

    6

[接続] をクリックします。

先ほどコピーした認証情報を入力します。windows-iap インスタンスに RDP 接続できます。

プロンプトが表示されたら、[はい] をクリックします。

Windows 10 RDP インスタンスのページ

インスタンスに外部 IP アドレスがなくても IAP を使用してアクセスすることができました。 IAP を有効にした SA で VM にアクセスできることを確認する お疲れさまでした。これで、IAP を使用して両方のインスタンスに接続できました。

お疲れさまでした

ここでは、BeyondCorp Enterprise(BCE)と Identity-Aware Proxy(IAP)TCP 転送の使用方法を学ぶために、IP アドレスを持たない windows-iaplinux-iap という 2 つの VM をデプロイし、IAP トンネルを構成して、windows-connectivity という 3 つ目の VM から両方のインスタンスにアクセスしました。

次のステップと詳細情報

  • BeyondCorp Enterprise(BCE)とゼロトラスト セキュリティ モデルの詳細については、こちらの Cloud ドキュメント サイトをご覧ください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 4 月 16 日

ラボの最終テスト日: 2023 年 12 月 5 日

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