すべてのプロダクト
Search
ドキュメントセンター

:クラスタへの Sidecar セキュリティポリシーの強制注入を有効にする

最終更新日:Jun 14, 2025

ACK セキュリティポリシー管理機能は、Kubernetes コンテナシナリオに適したセキュリティポリシールールを提供します。 ポッドが ASM サイドカーを注入するように制限する新しいポリシーが追加され、ASM に接続されたクラスタのセキュリティがさらに強化されました。 このトピックでは、ACK クラスタでサイドカーポリシーの強制注入を有効にする方法と、このポリシーを有効にした後の効果について説明します。

背景

ポリシーガバナンス

PSP は、Kubernetes 1.21 以後で非推奨とマークされています。 そのため、ACK は PSP ベースのポリシーガバナンス機能を最適化します。 ACK は OPA を Gatekeeper アドミッションコントローラーとして使用して、ポリシーガバナンスステータスの監視、ログ収集、ログ検索などの機能を拡張します。 さらに、Kubernetes シナリオを対象とするより多くのセキュリティポリシーを使用できるように、さまざまなポリシーライブラリが提供されています。 コンソールでセキュリティポリシーを直接構成できるため、ポリシーガバナンスの構成が大幅に簡素化されます。

主なポリシーを以下に示します。

  • Infra:このタイプのポリシーは、インフラストラクチャリソースに対するセキュリティ制御を強制するために使用されます。

  • Compliance:このタイプのポリシーは、Alibaba Cloud Kubernetes セキュリティ強化 などの Kubernetes コンプライアンス標準に基づいてカスタマイズされます。

  • PSP:このタイプのポリシーは、PSP リソースを置き換えるために使用されます。

  • K8s-general:このタイプのポリシーは、Alibaba Cloud セキュリティベストプラクティスの標準に基づいて、Kubernetes リソースに対するセキュリティ制御を強制するために使用されます。

サイドカー注入

アプリケーションのポッドにサイドカープロキシをインストールすると、ポッドに独立したコンテナが作成され、サイドカープロキシの機能が提供されます。 これらの機能を最大限に活用するには、アプリケーションの各サービスで、サービスのポッド内でサイドカープロキシを実行する必要があります。 サイドカープロキシは、サービスのすべての受信および送信 HTTP トラフィックをインターセプトし、対応する ASM インスタンスの Istio コントロールプレーン上の Pilot コンポーネントと通信します。

前提条件

  • クラスタは Kubernetes 1.16 以降を実行しています。 ACK クラスタの更新方法の詳細については、「ACK クラスタを手動で更新する」をご参照ください。

  • Resource Access Management (RAM) ユーザーとしてセキュリティポリシーを管理する場合は、RAM ユーザーに次の権限が付与されていることを確認してください。

    • cs:DescribePolicies:ポリシーをクエリします。

    • cs:DescribePoliceDetails:ポリシーに関する情報をクエリします。

    • cs:DescribePolicyGovernanceInCluster:クラスタ内のポリシーに関する情報をクエリします。

    • cs:DescribePolicyInstances:クラスタにデプロイされているポリシーインスタンスをクエリします。

    • cs:DescribePolicyInstancesStatus:クラスタ内のポリシーインスタンスに関する情報をクエリします。

    • cs:DeployPolicyInstance:クラスタにポリシーインスタンスをデプロイします。

    • cs:DeletePolicyInstance:クラスタ内のポリシーインスタンスを削除します。

    • cs:ModifyPolicyInstance:クラスタ内のポリシーインスタンスを変更します。

    カスタム RAM ポリシーの作成方法の詳細については、「カスタム RAM ポリシーを作成する」をご参照ください。

構成方法

クラスタが ASM インスタンスに追加された後、名前空間レベルの自動注入はデフォルトでは有効になりません。 クラスタで自動注入が有効になっている場合、関連する名前空間にポッドを作成できないか、ポッドの作成後にクラスタが高リスクのセキュリティアラートを受信し、対応するアラートログが生成される可能性があります。 構成プロセスを次の図に示します。

image
  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスタ] をクリックします。

  2. [クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。 左側のウィンドウで、[セキュリティ] > [ポリシーガバナンス] を選択します。

  3. [ポリシーガバナンス] ページで、プロンプトに従ってコンポーネントをインストールまたはアップグレード (必要な場合) し、必要に応じて次の操作を実行します。

    1. セキュリティポリシーリストから強制注入ポリシーを有効にします。

      1. [マイポリシー] タブをクリックして、クラスタにデプロイされているすべてのポリシーの名前を表示します。

      2. [ポリシー名] 列で [ASMSidecarInjectionEnforced] ポリシーを見つけ、[アクション] 列の [有効化] をクリックします。

      3. 次のパラメータを構成し、[作成] をクリックします。

        パラメータ

        説明

        [アクション]

        ビジネス要件に基づいて、次のオプションのいずれかを選択できます。

        • ブロック:ポリシーに一致するリソースデプロイメントをブロックします。

        • アラート:ポリシーに一致するリソースデプロイメントに対してアラートを生成します。 リソースデプロイメントは引き続き実行できます。

        [適用範囲]

        ポリシーインスタンスを適用する名前空間を選択します。 すべての名前空間を選択することもできます (推奨されません)。

        [パラメータ]

        このパラメータは指定しないでください。

    2. ポリシーインスタンスを作成します。

      [マイポリシー] タブをクリックし、[ポリシーインスタンスの作成] をクリックします。 [ポリシーインスタンスの作成] ダイアログボックスで、次のパラメータを構成します。

      パラメータ

      説明

      [ポリシータイプ]

      [infra] を選択します。 詳細については、「ACK の定義済みセキュリティポリシー」をご参照ください。

      [ポリシー名]

      選択したポリシータイプに基づいて、[ポリシー名] ドロップダウンリストから [ASMSidecarInjectionEnforced] を選択します。

      [アクション]

      ビジネス要件に基づいて、次のオプションのいずれかを選択できます。

      • ブロック:ポリシーに一致するリソースデプロイメントをブロックします。

      • アラート:ポリシーに一致するリソースデプロイメントに対してアラートを生成します。 リソースデプロイメントは引き続き実行できます。

      [適用範囲]

      ポリシーインスタンスを適用する名前空間を選択します。 すべての名前空間を選択することもできます (推奨されません)。

      [パラメータ]

      このパラメータは指定しないでください。

  4. ポリシーを確認します。

    1. デフォルトの名前空間では自動注入が有効になっておらず、[アクション][ブロック] に設定された ACK に対して強制注入ポリシーが有効になっています。

      1. HTTPBin アプリケーションをデプロイする

      2. ワークロードを表示します。

        次の図は、ポッドの作成に失敗したことを示しています。image

      3. [概要] タブをクリックします。 [過去 7 日間のアクション] セクションに、ブロッキングレコードが表示されます。image

    2. ポリシーを編集し、[アクション] として [アラート] を選択します。

      1. HTTPBin アプリケーションを再デプロイします。

      2. ワークロードを表示します。

        次の図は、アプリケーションが正常にデプロイされたことを示しています。image

      3. [概要] タブをクリックします。 [過去 7 日間のアクション] セクションに、アラートレコードが表示されます。

        image