GKE 接続クラスタで Binary Authorization を有効にするには、次の操作を行います。
- プロジェクトで Binary Authorization API を有効にします。 - gcloud services enable binaryauthorization.googleapis.com \ --project=PROJECT_ID- PROJECT_IDは、Google Cloud プロジェクトの ID に置き換えます。
- Binary Authorization エージェントに関連付けられた Kubernetes サービス アカウントに - binaryauthorization.policyEvaluatorロールを付与します。- gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_ID.svc.id.goog[gke-system/binauthz-agent] \ --role="roles/binaryauthorization.policyEvaluator"
- クラスタを登録または更新するときに Binary Authorization を有効にします。 - クラスタを登録する- クラスタの登録時に Binary Authorization を有効にするには、 - gcloud container attached clusters registerコマンドを使用します。EKS クラスタを接続するの手順に沿って、オプションの引数- --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCEを指定します。- gcloud container attached clusters register CLUSTER_NAME \ ... --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE- CLUSTER_NAMEは、使用するクラスタの名前に置き換えます。- クラスタを更新する- クラスタの更新時に Binary Authorization を有効にするには、 - gcloud container attached clusters updateコマンドを使用します。EKS クラスタを更新するの手順に沿って、オプションの引数- --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCEを指定します。- gcloud container attached clusters update CLUSTER_NAME \ ... --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE- CLUSTER_NAMEは、使用するクラスタの名前に置き換えます。
これらの操作を行うことで、信頼できる検証済みのイメージのみが GKE クラスタで Kubernetes コンテナの作成に使用されるようになります。これにより、アプリケーションにとって安全な環境を維持できます。
ポリシーを構成する
Binary Authorization を有効にするだけでは、クラスタは自動的に保護されません。デフォルトでは、ポリシーが構成されていない場合、すべてのコンテナ イメージのデプロイが許可されます。つまり、クラスタを効果的に保護するには、許可されるイメージを指定するポリシーを定義して適用する必要があります。Binary Authorization ポリシーを構成する方法については、Google Cloud CLI を使用してポリシーを構成するをご覧ください。