このページでは、Google Cloud Console を使用して Binary Authorization ポリシーを構成する方法について説明します。ここで説明するタスクは、コマンドラインの gcloud
コマンドまたは REST API でも実行できます。この手順は Binary Authorization の設定の一部です。
概要
ポリシーとは、コンテナ イメージのデプロイを規定する一連のルールです。ポリシーは次のように構成します。
- デフォルト ルールを設定する
- クラスタ固有のルールを追加する(省略可)
- 除外イメージを追加する(省略可)
ほとんどのポリシーでは、コンテナ イメージをデプロイする準備ができていることを必要なすべての認証者が確認しているかどうかチェックします。その場合は、ポリシーの構成時に認証者を作成する必要があります。
デフォルト ルールを設定する
ルールはポリシーの一部として、コンテナ イメージをデプロイする際の制約を定義します。デフォルト ルールは、対象のすべてのコンテナ イメージに適用される制約を定義するルールです。ただし、クラスタ固有の独自のルールがあるものは除きます。すべてのポリシーにはデフォルト ルールがあります。
デフォルト ルールを設定するには:
Google Cloud Console で [Binary Authorization] ページに移動します。
[ポリシーの編集] をクリックします。
デフォルト ルールの評価モードを選択します。これにより、Binary Authorization がルールに適用する制約のタイプが指定されます。
次のオプションがあります。
- すべての画像を許可
- すべての画像を禁止
- 次のすべてのアテスターによって承認された画像のみを許可
[次のすべてのアテスターによって承認された画像のみを許可] を選択した場合は、[認証者の追加] をクリックして認証者をプロジェクトに追加します。
[認証者の名前] に認証者の完全修飾名を入力します。名前の形式は
projects/PROJECT_ID/attestors/ATTESTOR_NAME
です。[認証者の追加] をクリックします。
ドライラン モードでポリシーを使用する場合は、[ドライラン モード] を選択します。
ドライラン モードは、ポリシーの適用モードの 1 つです。非遵守のイメージをデプロイできますが、デプロイに関する詳細を Cloud Logging の監査ログに書き込みます。ドライラン モードでは、ポリシーを有効にする前に本番環境でテストを行うことができます。
[ポリシーを保存] をクリックします。
クラスタ固有のルールを設定する(省略可)
1 つのクラスタには、1 つ以上のクラスタ固有のルールを設定できます。このタイプのルールは、特定の Google Kubernetes Engine(GKE)クラスタにのみデプロイされるコンテナ イメージに適用されます。クラスタ固有のルールはポリシーのオプション部分です。
クラスタ固有のルールを追加するには:
Google Cloud Console で [Binary Authorization] ページに移動します。
[ポリシーの編集] をクリックします。
[クラスタ固有のルール] の [ルール] セクションを展開します。
[クラスタ リソース ID] フィールドにクラスタのリソース ID を入力します。これはクラスタの ID で、形式は
location.name
です(例:us-central1-a.test-cluster
)。上記のデフォルト ルールと同様に、表示されているオプションからルールの評価モードを選択します。
- すべての画像を許可
- すべての画像を禁止
- 次のすべてのアテスターによって承認された画像のみを許可
[次のすべてのアテスターによって承認された画像のみを許可] を選択した場合は、[認証者の追加] をクリックして認証者をプロジェクトに追加します。
[認証者の名前] に認証者の完全修飾名を入力します。名前の形式は
projects/PROJECT_ID/attestors/ATTESTOR_NAME
です。[認証者の追加] をクリックします。
ドライラン モードでポリシーを使用する場合は、[ドライラン モード] を選択します。
ドライラン モードは、ポリシーの適用モードの 1 つです。非遵守のイメージをデプロイできますが、デプロイに関する詳細を Cloud Logging の監査ログに書き込みます。ドライラン モードでは、ポリシーを有効にする前に本番環境でテストを行うことができます。
[ポリシーを保存] をクリックします。
除外イメージを管理する
除外イメージは、ポリシールールの適用が免除されるコンテナ イメージです。Binary Authorization では、除外イメージのデプロイが常に許可されます。
各ポリシーには、レジストリパスで指定された除外イメージの許可リストを含めることができます。このパスは、Container Registry 内の場所か、別のコンテナ イメージ レジストリの場所になります。この許可リストは、グローバル ポリシー評価モードで除外されたイメージに追加されます(有効になっている場合)。
「Google 管理のすべてのシステム イメージを信頼する」ポリシー設定を使用すると、Binary Authorization は Google 管理のシステム イメージのリストをポリシー評価から除外します。この設定を有効にすると、GKE で必要なイメージはポリシーの適用でブロックされません。この設定は、他のポリシー設定よりも前に評価されます。
Google 管理のすべてのイメージを Binary Authorization の適用対象から除外するには:
Google Cloud Console で [Binary Authorization] ページに移動します。
[ポリシーの編集] をクリックします。
[デプロイルールからイメージを除外] セクションで、[Google 提供のシステム イメージをすべて信頼する] を選択します。
除外するイメージを手動で指定するには、[Images Paths] セクションを展開します。
次に、[イメージパスを追加] をクリックして、除外するイメージのレジストリパスを入力します。
[ポリシーを保存] をクリックします。