arrow_back

Ensure Access & Identity in Google Cloud: チャレンジラボ

参加 ログイン

Ensure Access & Identity in Google Cloud: チャレンジラボ

1時間 30分 クレジット: 5

GSP342

Google Cloud セルフペース ラボ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。各ステップの説明に沿って進める形式ではなく、クエスト内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「Ensure Access & Identity in Google Cloud」クエストに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

テスト対象トピック

  • カスタム セキュリティ ロールを作成する。
  • サービス アカウントを作成する。
  • IAM セキュリティ ロールをサービス アカウントにバインドする。
  • カスタム サブネット内に Kubernetes Engine の限定公開クラスタを作成する。
  • Kubernetes Engine の限定公開クラスタにアプリケーションをデプロイする。

設定

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

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

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

必要なもの

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間

注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。

注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。

チャレンジ シナリオ

あなたは Jooli Inc. の Orca 部門で、セキュリティ チームのジュニア メンバーとして新たな役割を担うことになりました。チームは、会社のアプリケーションを支える Google Cloud のインフラストラクチャとサービスのセキュリティを確保する責任があります。

これらのタスクのスキルや知識があるという前提のため、手順ガイドは提供されません。

チャレンジ

あなたは、Kubernetes Engine クラスタをデプロイ、構成、テストするよう頼まれています。このクラスタは、Orca の開発チームがアプリケーションの開発とパイプラインのテストに使用するものです。

新しい Kubernetes Engine クラスタは、組織の最新のセキュリティ基準に従って構築され、以下の点を満たす必要があります。

  • クラスタは、必要な最小権限が構成された専用のサービス アカウントでデプロイする必要がある。
  • クラスタは、Kubernetes Engine の限定公開クラスタとしてデプロイする必要がある。その際、パブリック エンドポイントは無効にし、マスター承認済みネットワークには Orca グループの管理ジャンプホストの IP アドレスのみが含まれるように設定する。
  • Kubernetes Engine の限定公開クラスタは、Orca Build VPC 内の orca-build-subnet にデプロイする必要がある。

以前のプロジェクトから、Kubernetes Engine クラスタ用に指定されるサービス アカウントに必要な最小権限は、次の 3 つの組み込みのロールで対応できることがわかっています。

  • roles/monitoring.viewer
  • roles/monitoring.metricWriter
  • roles/logging.logWriter

これらのロールは、クラスタのセキュリティ強化についてのドキュメントで指定されています。

上記のロールを、クラスタで使用されるサービス アカウントにバインドする必要があります。また、開発チームが指定するその他のサービスにアクセスできるようにカスタムロールを作成してバインドする必要があります。開発チームの要求として、クラスタで使用するサービス アカウントには、Google Cloud Storage バケット内でオブジェクトを追加および更新できる権限が必要であることが最初に説明されています。これを行うには、以下の権限を付与する新しいカスタム IAM ロールを作成する必要があります。

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update
  • storage.objects.create

新しい限定公開クラスタを作成したら、管理サブネット orca-mgmt-subnet 内のジャンプホスト orca-jumphost からクラスタに接続して、適切に構成されていることをテストする必要があります。このコンピューティング インスタンスは限定公開クラスタとは異なるサブネットにあるため、クラスタのマスター承認済みネットワークにそのインスタンスの内部 IP アドレスが含まれている必要があります。また、gcloud container clusters get-credentials コマンドを使用してクラスタの認証情報を取得する際に、--internal-ip フラグを指定します。

新しく作成するすべてのクラウド オブジェクトとサービスに、接頭辞「orca-」を含める必要があります。

最終的なタスクは、クラスタが適切に動作していることを検証することです。シンプルなアプリケーションをクラスタにデプロイし、orca-jumphost コンピューティング インスタンスから kubectl ツールを使用して、クラスタへの管理アクセスが機能していることをテストします。

タスク 1: カスタム セキュリティ ロールを作成する

最初のタスクは、 という新しいカスタム IAM セキュリティ ロールを作成することです。このロールによって、Google Cloud Storage のバケットとオブジェクトに、ストレージ オブジェクトの作成と更新に必要な権限が付与されます。

カスタム セキュリティ ロールが作成されていることを確認します。

タスク 2: サービス アカウントを作成する

2 番目のタスクは、新しい限定公開クラスタ用サービス アカウントとして使用される専用のサービス アカウントを作成することです。このアカウントは、 という名前にする必要があります。

新しいサービス アカウントが作成されていることを確認します。

タスク 3: カスタム セキュリティ ロールをサービス アカウントにバインドする

ここでは、Kubernetes Engine クラスタのサービス アカウントに必要な Cloud Operations のロギングとモニタリングのロールと、ストレージの権限用に作成したカスタム IAM ロールを、先ほど作成したサービス アカウントにバインドする必要があります。

適切な組み込みのロールとカスタム セキュリティ ロールが新しいサービス アカウントにバインドされていることを確認します。

タスク 4: 新しい Kubernetes Engine の限定公開クラスタを作成、構成する

ここでは、Kubernetes Engine の新しい限定公開クラスタ作成時に構成したサービス アカウントを使用します。新しいクラスタの構成は、以下の内容を満たす必要があります。

  • クラスタの名前は である
  • クラスタはサブネット orca-build-subnet にデプロイされる
  • サービス アカウント を使用するようにクラスタが構成されている
  • 限定公開クラスタのオプション enable-master-authorized-networksenable-ip-aliasenable-private-nodesenable-private-endpoint が有効になっている

クラスタを構成したら、コンピューティング インスタンス orca-jumphost の内部 IP アドレスを、マスター承認済みネットワークのリストに追加する必要があります。

Kubernetes Engine の限定公開クラスタが適切にデプロイされていることを確認します。

タスク 5: アプリケーションを Kubernetes Engine の限定公開クラスタにデプロイする

シンプルなテスト用アプリケーションがあります。このアプリケーションを任意のクラスタにデプロイして、コンテナの基本的なデプロイ機能が動作していること、基本的なサービスを作成してアクセスできることを素早くテストできます。ジャンプホスト orca-jumphost を使用してこのシンプルなデモを新しいクラスタにデプロイできるように、環境を構成する必要があります。

kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

このコマンドを実行すると、テスト用の基本的なロードバランサ サービスを使用して公開可能な、ポート 8080 でリッスンするアプリケーションがデプロイされます。

アプリケーションが Kubernetes Engine の限定公開クラスタにデプロイされていることを確認します。

ヒントとアドバイス

  • ヒント 1: enable-private-endpoint オプションが指定された限定公開クラスタ用に kubectl の認証情報を取得する場合、--internal-ip フラグを指定する必要があります。
gcloud container clusters get-credentials [CLUSTER_NAME] --internal-ip --zone=[ZONE]
  • ヒント 2: Kubernetes Engine の限定公開クラスタの承認済みアドレスのリストに orca-jumphost マシンの内部 IP アドレスを追加する場合、ネットマスク /32 を使用して、特定のコンピューティング インスタンスのみが承認されるようにする必要があります。

  • ヒント 3: enable-private-endpoint オプションが指定されている場合、VPC、または限定公開クラスタがデプロイされている VPC 外部の他のネットワークから、Kubernetes Engine の限定公開クラスタに直接アクセスすることはできません。これは、限定公開クラスタの最高レベルのセキュリティ オプションを示しています。クラスタの管理用内部 IP アドレスに接続するには、ジャンプホスト、またはクラスタと同じ VPC 内のプロキシを使用する必要があります。

お疲れさまでした

FinalEnsure-Access-Identity-in-Google-Cloud.png

次のスキルバッジを獲得する

このセルフペース ラボは、「Ensure Access & Identity in Google Cloud」スキルバッジ クエストの一部です。完了すると成果が認められて上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。

このスキルバッジ クエストは、Google Cloud のセキュリティ エンジニア向け学習プログラムの一部です。「Secure Workloads in Google Kubernetes Engine」クエストに登録し、学習を続けてください。

Google Cloud Training & Certification

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

マニュアルの最終更新日: 2021 年 5 月 3 日
ラボの最終テスト日: 2020 年 10 月 12 日

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