以前の継続的検証を使用する

このページは、以前の継続的検証(以前の CV)(非推奨)のユーザーを対象としています。

以前の継続的検証は、Binary Authorization の機能で、Binary Authorization プロジェクトのシングルトン ポリシーへの遵守を継続するため、実行中の Pod に関連付けられたコンテナ イメージを定期的にチェックします。以前の CV は、結果を Cloud Logging に記録します。

以前の CV は実行中の Pod を終了しません。

制限事項

以前の CV には次の制限があります。

  • 以前の CV は、Google Kubernetes Engine(GKE)にデプロイされた Pod のみをサポートします。
  • 以前の CV は、Cloud Service Mesh サービス ID、Kubernetes サービス アカウント、Kubernetes Namespace の特定のルールを指定する Binary Authorization ポリシーはサポートしていません。

始める前に

  1. プロジェクトで Google Kubernetes Engine の Binary Authorization が設定されていることを確認します。以前の CV は、プロジェクト内のすべてのクラスタの Pod から受信したポリシー適合性イベントをログに記録します。

  2. gcloud CLI が最新バージョンであることを確認します。

必要な権限

Identity and Access Management(IAM)のロールには権限が含まれています。このロールは、ユーザー、グループ、サービス アカウントに割り当てることができます。各ロールに含まれている CV の権限は次のとおりです。

ロール名 以前の CV 権限 説明
roles/binaryauthorization.policyEditor binaryauthorization.continuousValidationConfig.update CV を有効または無効にします。

必要な IAM 権限を設定するには、次のコマンドを実行します。

PROJECT_NUMBER=$(gcloud projects list \
  --filter="projectId:ATTESTATION_PROJECT_ID" \
  --format="value(PROJECT_NUMBER)")
SERVICE_ACCOUNT="service-$PROJECT_NUMBER@gcp-sa-binaryauthorization.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding ATTESTATION_PROJECT_ID \
    --member="serviceAccount:$SERVICE_ACCOUNT" \
    --role='roles/containeranalysis.occurrences.viewer'

従来の CV を有効にする

コンソール

Google Cloud コンソールを使用して以前の CV を有効にするには、次の操作を行います。

  1. Google Cloud コンソールで、[Binary Authorization] の [ポリシー] ページに移動します。

    Binary Authorization ポリシーに移動

  2. [ポリシー] タブをクリックします。

  3. [ポリシーの編集] をクリックします。

  4. [GKE と Anthos のデプロイ向けの追加設定] セクションを開きます。

  5. [継続的検証を有効にする] チェックボックスをオンにします。

  6. [ポリシーを保存] をクリックします。

REST API

REST API を使用して以前の CV を有効にするには、次の手順で操作します。

  1. プロジェクト ID を保存します。

    DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
    

    DEPLOYER_PROJECT_ID は、GKE を実行するプロジェクトの ID に置き換えます。

  2. Google Cloudの OAuth トークンを取得します。

    BEARER_TOKEN=$(gcloud auth print-access-token)
    

    トークンは短時間しか有効でありません。

  3. 以前の CV を有効にする:

    curl "https://binaryauthorization.googleapis.com/v1alpha2/projects/${DEPLOYER_PROJECT_ID}/continuousValidationConfig" -X PUT -H "authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" --data '{"enforcementPolicyConfig": {"enabled": "true"}}'
    

これで、イベントをログに記録するように以前の CV を構成できました。

Logging のログエントリは次の例のようになります。

{
"insertId": "6054e143-0000-2562-aa64-883d24f57e70",
"jsonPayload":