クラスタを作成

このページでは、Binary Authorization を有効にして Google Kubernetes Engine(GKE)でクラスタを作成する方法について説明します。この手順は、コマンドラインの gcloud コマンドまたは Google Cloud コンソールで行います。この手順は、GKE 用 Binary Authorization の設定の一部です。

始める前に

Binary Authorization を有効にしたクラスタを作成する(CV モニタリングのみ)

Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。モニタリング専用の評価モードを構成するには、チェックベースのプラットフォーム ポリシーを少なくとも 1 つ指定する必要があります。

Binary Authorization を有効にして CV モニタリングのみのクラスタを作成するには、次の操作を行います。

コンソール

次の手順では、Standard クラスタを構成します。

  1. Google Cloud コンソールで、GKE ページに移動します。

    GKE に移動

  2. [クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に従って、デフォルトのフィールドの値を入力します。

  3. ナビゲーション メニューで [セキュリティ] をクリックします。

  4. [Binary Authorization の有効化] を選択します。1.[監査のみ] を選択し、Binary Authorization でクラスタのイメージを評価する CV チェックベースのプラットフォーム ポリシーを構成します。

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

gcloud

  1. デフォルトの Google Cloud プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、クラスタを作成するプロジェクトの ID に置き換えます。

  2. CV プラットフォームのポリシーベースのモニタリングのみを使用するクラスタを作成します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • CLUSTER_NAME: クラスタ名。
    • LOCATION: ロケーション。例: us-central1asia-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 クラスタを構成します。

  1. Google Cloud コンソールで、GKE ページに移動します。

    GKE に移動

  2. [クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。

  3. ナビゲーション メニューで [セキュリティ] をクリックします。

  4. [Binary Authorization の有効化] を選択します。

  5. [適用のみ] を選択します。

  6. [作成] をクリックします。

gcloud

  1. デフォルトの Google Cloud プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、クラスタを作成するプロジェクトの ID に置き換えます。

  2. ポリシーの適用のみを使用するクラスタを作成します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • CLUSTER_NAME: クラスタ名。
    • LOCATION: ロケーション。例: us-central1asia-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 クラスタを作成して構成します。

resource "google_container_cluster" "enforce" {
  name               = "gke-standard-regional-binauthz-enforce"
  location           = "us-west1"
  initial_node_count = 1

  binary_authorization {
    evaluation_mode = "PROJECT_SINGLETON_POLICY_ENFORCE"
  }

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Terraform の使用方法の詳細については、GKE での Terraform のサポートをご覧ください。

クラスタの作成には数分かかる場合があります。

Binary Authorization を有効にしたクラスタを作成する(CV モニタリングと適用)

Binary Authorization は、Autopilot クラスタまたは Standard クラスタで使用できます。

適用の場合、ポリシーはデフォルトですべてのイメージを許可するプロジェクト ポリシーに設定されます。プロジェクト ポリシーを変更するには、こちらの手順で操作してください。

CV モニタリングの場合、CV チェックベースのプラットフォーム ポリシーを少なくとも 1 つ指定する必要があります。

Binary Authorization を有効にして、CV のモニタリングと適用の両方を行うクラスタを作成するには、次の操作を行います。

コンソール

次の手順では、Standard クラスタを構成します。

  1. Google Cloud コンソールで、GKE ページに移動します。

    GKE に移動

  2. [クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。

  3. ナビゲーション メニューで [セキュリティ] をクリックします。

  4. [Binary Authorization の有効化] を選択します。

  5. [監査と適用] を選択し、CV チェックベースのプラットフォーム ポリシーを構成します。

  6. [作成] をクリックします。

gcloud

  1. デフォルトの Google Cloud プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、クラスタを作成するプロジェクトの ID に置き換えます。

  2. プロジェクト シングルトン ポリシーの適用と CV プラットフォームのポリシーベースのモニタリングの両方を使用するクラスタを作成します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • CLUSTER_NAME: クラスタ名。
    • LOCATION: ロケーション。例: us-central1asia-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 クラスタを構成します。

  1. Google Cloud コンソールで、GKE ページに移動します。

    GKE に移動

  2. [クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に沿って、デフォルトのフィールドの値を入力します。

  3. ナビゲーション メニューで [セキュリティ] をクリックします。

  4. [Binary Authorization の有効化] を選択します。

  5. [監査のみ] を選択し、Binary Authorization でクラスタを評価する 1 つ以上のプラットフォーム ポリシーを構成します。

  6. [作成] をクリックします。

gcloud

  1. デフォルトの Google Cloud プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    
  2. クラスタを作成します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • CLUSTER_NAME: クラスタ名。
    • LOCATION: ロケーション。例: us-central1asia-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 クラスタを構成します。

  1. Google Cloud コンソールで、GKE ページに移動します。

    GKE に移動

  2. [クラスタを作成] をクリックします。ゾーンクラスタの作成の説明に従って、デフォルトのフィールドの値を入力します。

  3. ナビゲーション メニューで [セキュリティ] をクリックします。

  4. [Binary Authorization の有効化] を選択します。

  5. [監査と適用] を選択し、CV モニタリング ポリシーを構成します。

  6. [作成] をクリックします。

gcloud

  1. デフォルトの Google Cloud プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    
  2. プロジェクト シングルトン ポリシーの適用と CV プラットフォームのポリシーベースのモニタリングの両方を使用するクラスタを作成します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • CLUSTER_NAME: クラスタ名。
    • LOCATION: ロケーション。例: us-central1asia-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

  1. Google Cloud コンソールで GKE ページを開きます。

    GKE に移動

  2. [Kubernetes クラスタ] で目的のクラスタを探します。

  3. [セキュリティ] で、[バイナリ承認] が [有効] に設定されていることを確認します。

gcloud

クラスタのポリシー バインディングを一覧表示するには、次の操作を行います。

gcloud beta container clusters describe CLUSTER_NAME --location LOCATION --project CLUSTER_PROJECT_ID | grep -A 10 policyBindings:

ポリシー バインディングのリストの後に追加情報がある場合があります。

次のステップ