このページでは、Binary Authorization を有効にして Google Kubernetes Engine(GKE)でクラスタを作成する方法について説明します。この手順は、コマンドラインの gcloud
コマンドまたは Google Cloud コンソールで行います。この手順は、GKE 用 Binary Authorization の設定の一部です。
始める前に
-
-
Enable the GKE API.
Google Cloud コンソール、コマンドライン ツール、REST API を使用してプラットフォーム ポリシーを構成します。
Binary Authorization を有効にしたクラスタを作成する(CV モニタリングのみ)
Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。モニタリング専用の評価モードを構成するには、チェックベースのプラットフォーム ポリシーを少なくとも 1 つ指定する必要があります。
Binary Authorization を有効にして CV モニタリングのみのクラスタを作成するには、次の操作を行います。
コンソール
次の手順では、Standard クラスタを構成します。
Google Cloud コンソールで、GKE ページに移動します。
[クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に従って、デフォルトのフィールドの値を入力します。
ナビゲーション メニューで [セキュリティ] をクリックします。
[Binary Authorization の有効化] を選択します。1.[監査のみ] を選択し、Binary Authorization でクラスタのイメージを評価する CV チェックベースのプラットフォーム ポリシーを構成します。
[作成] をクリックします。
gcloud
デフォルトの Google Cloud プロジェクトを設定します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、クラスタを作成するプロジェクトの ID に置き換えます。CV プラットフォームのポリシーベースのモニタリングのみを使用するクラスタを作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
CLUSTER_NAME
: クラスタ名。LOCATION
: ロケーション。例:us-central1
、asia-south1
POLICY_PROJECT_ID
: ポリシーが保存されているプロジェクトの ID。POLICY_ID
: ポリシー ID。CLUSTER_PROJECT_ID
: クラスタ プロジェクト ID。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_ID
Windows(PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ` --project=CLUSTER_PROJECT_ID
Windows(cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ^ --project=CLUSTER_PROJECT_ID
クラスタの作成には数分かかる場合があります。
Binary Authorization を有効にしたクラスタを作成する(適用のみ)
Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。適用ポリシーは、デフォルトですべてのイメージを許可するプロジェクト ポリシーに設定されます。プロジェクト ポリシーを変更するには、こちらの手順で操作してください。
Binary Authorization を有効にし、適用のみを有効にしてクラスタを作成するには、次の操作を行います。
コンソール
次の手順では、Standard クラスタを構成します。
Google Cloud コンソールで、GKE ページに移動します。
[クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。
ナビゲーション メニューで [セキュリティ] をクリックします。
[Binary Authorization の有効化] を選択します。
[適用のみ] を選択します。
[作成] をクリックします。
gcloud
デフォルトの Google Cloud プロジェクトを設定します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、クラスタを作成するプロジェクトの ID に置き換えます。ポリシーの適用のみを使用するクラスタを作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
CLUSTER_NAME
: クラスタ名。LOCATION
: ロケーション。例:us-central1
、asia-south1
CLUSTER_PROJECT_ID
: クラスタ プロジェクト ID。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE \ --project=CLUSTER_PROJECT_ID
Windows(PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE ` --project=CLUSTER_PROJECT_ID
Windows(cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE ^ --project=CLUSTER_PROJECT_ID
Terraform
次の Terraform の例では、Standard クラスタを作成して構成します。
Terraform の使用方法の詳細については、GKE での Terraform のサポートをご覧ください。
クラスタの作成には数分かかる場合があります。
Binary Authorization を有効にしたクラスタを作成する(CV モニタリングと適用)
Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。
適用の場合、ポリシーはデフォルトですべてのイメージを許可するプロジェクト ポリシーに設定されます。プロジェクト ポリシーを変更するには、こちらの手順で操作してください。
CV モニタリングの場合、CV チェックベースのプラットフォーム ポリシーを少なくとも 1 つ指定する必要があります。
Binary Authorization を有効にして、CV のモニタリングと適用の両方を行うクラスタを作成するには、次の操作を行います。
コンソール
次の手順では、Standard クラスタを構成します。
Google Cloud コンソールで、GKE ページに移動します。
[クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。
ナビゲーション メニューで [セキュリティ] をクリックします。
[Binary Authorization の有効化] を選択します。
[監査と適用] を選択し、CV チェックベースのプラットフォーム ポリシーを構成します。
[作成] をクリックします。
gcloud
デフォルトの Google Cloud プロジェクトを設定します。
gcloud config set project PROJECT_ID
PROJECT_ID は、クラスタを作成するプロジェクトの ID に置き換えます。
プロジェクト シングルトン ポリシーの適用と CV プラットフォームのポリシーベースのモニタリングの両方を使用するクラスタを作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
CLUSTER_NAME
: クラスタ名。LOCATION
: ロケーション。例:us-central1
、asia-south1
POLICY_PROJECT_ID
: ポリシーが保存されているプロジェクトの ID。POLICY_ID
: ポリシー ID。CLUSTER_PROJECT_ID
: クラスタ プロジェクト ID。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_ID
Windows(PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ` --project=CLUSTER_PROJECT_ID
Windows(cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ^ --project=CLUSTER_PROJECT_ID
クラスタの作成には数分かかる場合があります。
複数のプラットフォーム ポリシーを使用する CV クラスタを作成する(CV モニタリングのみ)
Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。
複数のプラットフォーム ポリシーがバインドされたクラスタを作成できます(詳細については、GKE API リファレンスをご覧ください)。
コンソール
次の手順では、Standard クラスタを構成します。
Google Cloud コンソールで、GKE ページに移動します。
[クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。
ナビゲーション メニューで [セキュリティ] をクリックします。
[Binary Authorization の有効化] を選択します。
[監査のみ] を選択し、Binary Authorization でクラスタを評価する 1 つ以上のプラットフォーム ポリシーを構成します。
[作成] をクリックします。
gcloud
デフォルトの Google Cloud プロジェクトを設定します。
gcloud config set project PROJECT_ID
クラスタを作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
CLUSTER_NAME
: クラスタ名。LOCATION
: ロケーション。例:us-central1
、asia-south1
POLICY_PROJECT_ID_1
: 最初のプラットフォーム ポリシーが保存されているプロジェクトの ID。POLICY_ID_1
: 最初のプラットフォーム ポリシーのポリシー ID。POLICY_PROJECT_ID_2
: 2 番目のプラットフォーム ポリシーが保存されているプロジェクトの ID。複数のポリシーを同じプロジェクトに保存することも、異なるプロジェクトに保存することもできます。POLICY_ID_2
: 2 番目のプラットフォーム ポリシーのポリシー ID。CLUSTER_PROJECT_ID
: クラスタ プロジェクト ID。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 \ --project=CLUSTER_PROJECT_ID
Windows(PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ` --project=CLUSTER_PROJECT_ID
Windows(cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ^ --project=CLUSTER_PROJECT_ID
クラスタの作成には数分かかる場合があります。
複数のプラットフォーム ポリシーを使用する CV クラスタを作成する(CV のモニタリングと適用)
Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。
複数のプラットフォーム ポリシーがバインドされたクラスタを作成できます(詳細については、GKE API リファレンスをご覧ください)。
コンソール
次の手順では、Standard クラスタを構成します。
Google Cloud コンソールで、GKE ページに移動します。
[クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に従って、デフォルトのフィールドの値を入力します。
ナビゲーション メニューで [セキュリティ] をクリックします。
[Binary Authorization の有効化] を選択します。
[監査と適用] を選択し、CV モニタリング ポリシーを構成します。
[作成] をクリックします。
gcloud
デフォルトの Google Cloud プロジェクトを設定します。
gcloud config set project PROJECT_ID
プロジェクト シングルトン ポリシーの適用と CV プラットフォームのポリシーベースのモニタリングの両方を使用するクラスタを作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
CLUSTER_NAME
: クラスタ名。LOCATION
: ロケーション。例:us-central1
、asia-south1
POLICY_PROJECT_ID_1
: 最初のプラットフォーム ポリシーが保存されているプロジェクトの ID。POLICY_ID_1
: 最初のプラットフォーム ポリシーのポリシー ID。POLICY_PROJECT_ID_2
: 2 番目のプラットフォーム ポリシーが保存されているプロジェクトの ID。複数のポリシーを同じプロジェクトに保存することも、異なるプロジェクトに保存することもできます。POLICY_ID_2
: 2 番目のプラットフォーム ポリシーのポリシー ID。CLUSTER_PROJECT_ID
: クラスタ プロジェクト ID。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 \ --project=CLUSTER_PROJECT_ID
Windows(PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ` --project=CLUSTER_PROJECT_ID
Windows(cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ^ --project=CLUSTER_PROJECT_ID
クラスタの作成には数分かかる場合があります。
Binary Authorization が有効になっていることを確認する
クラスタで Binary Authorization が有効になっていることを確認するには、次のようにします。
Console
Google Cloud コンソールで GKE ページを開きます。
[Kubernetes クラスタ] で目的のクラスタを探します。
[セキュリティ] で、[バイナリ承認] が [有効] に設定されていることを確認します。
gcloud
クラスタのポリシー バインディングを一覧表示するには、次の操作を行います。
gcloud beta container clusters describe CLUSTER_NAME --location LOCATION --project CLUSTER_PROJECT_ID | grep -A 10 policyBindings:
ポリシー バインディングのリストの後に追加情報がある場合があります。