この記事では、マネージド クラスター API を使用して、Azure Kubernetes Service (AKS)のゲートデプロイを構成する方法について説明します。 Helm を使用して、Defender for Containers センサーをインストールすることもできます。
ゲートデプロイでは、Kubernetes クラスターに許可される前に、アドミッション コントローラーを使用してコンテナー イメージを評価します。 AKS の場合、ゲートされたデプロイ エージェントは、クラスターで使用される Azure Container Registries (APR) への読み取りアクセスを必要とするため、コンテナーのDefenderによって生成された脆弱性の結果成果物にアクセスできます。
マネージド クラスター API を使用してゲート デプロイを構成する前に、AKS クラスターと APR のコンテナー コンポーネントに必要なDefenderを有効にします。
必要な ACR アクセスを提供するには、ユーザー割り当てマネージド ID を作成し、関連する ACR に対する読み取りアクセス許可を割り当て、フェデレーション ID 資格情報を構成し、マネージド クラスター API でマネージド ID を参照します。
前提条件
開始する前に次の点を確認します。
Microsoft Azure のサブスクリプションを所有しています。 Azure サブスクリプションをお持ちでない場合は、無料サブスクリプションにサインアップすることができます。
Azure サブスクリプションでDefender for Cloudが有効になっています。
Defender for Containers は、AKS クラスターと Azure Container Registries (APR) を含むAzure サブスクリプションに対して有効になり、次のコンポーネントが有効になります。
- セキュリティ ゲーティングを使用したDefender センサー
- セキュリティの結果を使用したレジストリ アクセス
AKS クラスターには次の内容があります。
- OpenID Connect (OIDC) 発行者が有効になっている。
- Azureワークロード ID が有効になっています。
ユーザー割り当てマネージド ID を作成して割り当てるためのアクセス許可があります。
クラスターで使用されるすべての ACR に対して、AcrPull ロールまたは同等の読み取りロールを割り当てる権限があります。
マネージド ID を構成する
ゲート展開のために管理IDを設定するには以下の手順を実行します:
クラスターで使用されるすべての ACR で、AcrPull ロール (または同等の読み取りロール) を MSI に割り当てます。
フェデレーション ID 資格情報 (FIC) を MSI に追加 します。これにより、ゲートデプロイ エージェントは、次の FIC パラメーターを使用して AKS ワークロード ID を使用して認証できます。
- 発行者: AKS OIDC 発行者 URL
-
サブジェクト: ゲートされたデプロイ エージェントによって使用されるサービス アカウント
system:serviceaccount:kube-system:defender-admission-controller-serviceaccount。 - 対象ユーザー: api://AzureADTokenExchange
マネージド クラスター API 構成の securityGating セクションで、マネージド クラスター API 構成のセキュリティ制限セクションの下にある ID パラメーターに MSI の objectId を設定します。
MSIのobjectIdをidentitiesパラメータに設定することで、ゲーテッドデプロイメントエージェントが実行時にMSIを使用できるようにします。