このページでは、Binary Authorization を有効にして Google Kubernetes Engine(GKE)でクラスタを作成する方法について説明します。この手順は、コマンドラインの gcloud コマンドまたは Google Cloud コンソールで行います。この手順は、GKE 用 Binary Authorization の設定の一部です。
始める前に
- 
- 
  
  
    
      Enable the GKE API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 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 が有効になっていることを確認するには、次のようにします。
コンソール
- Google Cloud コンソールで GKE ページを開きます。 
- [Kubernetes クラスタ] で目的のクラスタを探します。 
- [セキュリティ] で、[Binary Authorization] が [有効] に設定されていることを確認します。 
gcloud
クラスタのポリシー バインディングを一覧表示するには、次の操作を行います。
gcloud beta container clusters describe CLUSTER_NAME --location LOCATION --project CLUSTER_PROJECT_ID | grep -A 10 policyBindings:
ポリシー バインディングのリストの後に追加情報がある場合があります。