チェックポイント
Create a custom security role
/ 20
Create a service account
/ 20
Bind a custom security role to an account
/ 20
Create a Private GKE cluster
/ 20
Deploy an application to a private Kubernetes Engine cluster
/ 20
Implement Cloud Security Fundamentals on Google Cloud: チャレンジラボ
GSP342
概要
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Implement Cloud Security Fundamentals on Google Cloud」スキルバッジに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
テスト対象トピック
- カスタム セキュリティ ロールを作成する。
- サービス アカウントを作成する。
- IAM セキュリティ ロールをサービス アカウントにバインドする。
- カスタム サブネット内に Kubernetes Engine の限定公開クラスタを作成する。
- Kubernetes Engine の限定公開クラスタにアプリケーションをデプロイする
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
チャレンジ シナリオ
あなたは 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 Kubernetes Engine(GKE)の「クラスタのセキュリティを強化する」ガイドの「最小権限の Google サービス アカウントを使用する」セクションで指定されています。
上記のロールを、クラスタで使用されるサービス アカウントにバインドする必要があります。また、開発チームが指定するその他のサービスにアクセスできるようにカスタムロールを作成してバインドする必要があります。開発チームの要求として、クラスタで使用するサービス アカウントには、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. カスタム セキュリティ ロールを作成する
最初のタスクは、
タスク 2. サービス アカウントを作成する
2 番目のタスクは、新しい限定公開クラスタ用サービス アカウントとして使用される専用のサービス アカウントを作成することです。このアカウントは、
タスク 3. カスタム セキュリティ ロールをサービス アカウントにバインドする
ここでは、Kubernetes Engine クラスタのサービス アカウントに必要な Cloud Operations のロギングとモニタリングのロールと、ストレージの権限用に作成したカスタム IAM ロールを、先ほど作成したサービス アカウントにバインドする必要があります。
タスク 4. 新しい Kubernetes Engine の限定公開クラスタを作成、構成する
ここでは、Kubernetes Engine の新しい限定公開クラスタ作成時に構成したサービス アカウントを使用します。新しいクラスタの構成は、以下の内容を満たす必要があります。
- クラスタの名前は
である - クラスタはサブネット
orca-build-subnet
にデプロイされる - サービス アカウント
を使用するようにクラスタが構成されている - 限定公開クラスタのオプション
enable-master-authorized-networks
、enable-ip-alias
、enable-private-nodes
、enable-private-endpoint
が有効になっている
クラスタを構成したら、コンピューティング インスタンス orca-jumphost
の内部 IP アドレスを、マスター承認済みネットワークのリストに追加する必要があります。
タスク 5. Kubernetes Engine の限定公開クラスタにアプリケーションをデプロイする
シンプルなテスト用アプリケーションがあります。このアプリケーションを任意のクラスタにデプロイして、コンテナの基本的なデプロイ機能が動作していること、基本的なサービスを作成してアクセスできることを素早くテストできます。ジャンプホスト orca-jumphost
を使用してこのシンプルなデモを新しいクラスタにデプロイできるように、環境を構成する必要があります。
kubectl
コマンドを実行する前に、gke-gcloud-auth-plugin
を適切にインストールしてください。詳しくは、下記のヒント 1 をご覧ください。
このコマンドを実行すると、テスト用の基本的なロードバランサ サービスを使用して公開可能な、ポート 8080 でリッスンするアプリケーションがデプロイされます。
ヒントとアドバイス
-
ヒント 1.
kubectl
を継続的に使用するには、gke-gcloud-auth-plugin
を使用する必要があります。インストールするには、以下のコマンドを実行します。次のコマンドの GKE クラスタ名、クラスタゾーン、プロジェクト ID を必ず置き換えてください。
-
ヒント 2. Kubernetes Engine の限定公開クラスタの承認済みアドレスのリストに
orca-jumphost
マシンの内部 IP アドレスを追加する場合、ネットマスク/32
を使用して、特定のコンピューティング インスタンスのみが承認されるようにする必要があります。 -
ヒント 3.
enable-private-endpoint
オプションが指定されている場合、VPC、または限定公開クラスタがデプロイされている VPC 外部の他のネットワークから、Kubernetes Engine の限定公開クラスタに直接アクセスすることはできません。これは、限定公開クラスタの最高レベルのセキュリティ オプションを示しています。クラスタの管理用内部 IP アドレスに接続するには、ジャンプホスト、またはクラスタと同じ VPC 内のプロキシを使用する必要があります。
お疲れさまでした
このラボでは、クラスタの実行に必要な最小権限を持つ専用のサービス アカウントを使用する、新しい Kubernetes Engine 限定公開クラスタを構成しました。また、Google Cloud Storage バケットのストレージ オブジェクトの作成と更新に必要な権限を付与するカスタム IAM ロールを作成し、クラスタで使用されるサービス アカウントにそのロールをバインドしました。さらに、クラスタが適切に動作していることも検証しました。この検証では、シンプルなアプリケーションをクラスタにデプロイし、orca-jumphost
コンピューティング インスタンスから kubectl
ツールを使用して、クラスタへの管理アクセスが機能していることをテストしました。
次のスキルバッジを獲得する
このセルフペース ラボは、「Implement Cloud Security Fundamentals on Google Cloud」スキルバッジの一部です。このスキルバッジを完了すると成果が認められて、上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。
このスキルバッジは、Google Cloud のクラウド セキュリティ エンジニア向け学習プログラムの一部です。この学習プログラムの他のスキルバッジを獲得済みの場合は、他の登録可能なスキルバッジをカタログで検索してみてください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 3 月 25 日
ラボの最終テスト日: 2023 年 12 月 4 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。