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

Security Center:Register a self-managed K8s cluster

最終更新日:Apr 01, 2026

Security Center は、自己管理型 Kubernetes クラスターの接続をサポートしており、一元化された脅威検知とリスク管理が可能です。このトピックでは、自己管理型 Kubernetes クラスターを Security Center にオンボーディングする方法、およびオプションでログベースの脅威検知を有効にする方法について説明します。

エディション要件

課金方法必須エディションサーバーレベル要件
サブスクリプションUltimate保護版は [Ultimate] に設定する必要があります — 「サーバーに保護版を割り当てる」
従量課金ホストおよびコンテナセキュリティが有効保護レベルは、[ホストおよびコンテナ保護] に設定する必要があります — 詳細については、「サーバー保護レベルの割り当て

現在のエディションが要件を満たしていない場合は、続行する前に[Security Center をスペックアップ]するか、[サービスを購入]してください。

リージョン制限

リージョン制限は、VPC (Virtual Private Cloud) にデプロイされたクラスターにのみ適用されます。

  • VPC ベースのクラスター:クラスターは、中国 (杭州)、中国 (北京)、中国 (上海)、中国 (深セン)、または中国 (香港) に存在する必要があります。

  • インターネット接続クラスター:リージョン制限は適用されません。

前提条件

開始する前に、以下を確認してください。

  • ターゲットサーバーで Kubernetes クラスターが実行されていること

  • サーバーに Docker がインストールされていること

  • (クラスター露出分析の場合) デプロイタイプに基づいてネットワーク構成が完了していること。「クラスターとイメージの管理」をご参照ください。

ハイブリッドクラウドデプロイメントのトラフィック転送の構成

クラスターがハイブリッドクラウドにデプロイされており、インターネット経由でアクセスできない場合は、ECS インスタンスでポート フォワーディングを構成し、クラスターの API サーバーを実行しているオンプレミスサーバーにトラフィックをルーティングします。この転送が構成されていない場合、クラスターは Security Center と通信できません。

以下の例では、ECS インスタンス 10.0.XX.XX のポート A から、オンプレミスサーバー 192.168.XX.XX のポート B へトラフィックを転送します。

CentOS 7 — firewall-cmd

firewall-cmd --permanent --add-forward-port=port=<Port A>:proto=tcp:toaddr=<192.168.XX.XX>:toport=<Port B>

CentOS 7 — iptables

# Enable IP forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

# Add the forwarding rule
iptables -t nat -A PREROUTING -p tcp --dport <Port A> -j DNAT --to-destination <192.168.XX.XX>:<Port B>

Windows — netsh

netsh interface portproxy add v4tov4 listenport=<Port A> listenaddress=* connectaddress=<192.168.XX.XX> connectport=<Port B> protocol=tcp

Security Center の IP アドレスのホワイトリストへの追加

クラスターでアクセスの制御ポリシーが設定されている場合は、ご利用のリージョンの Security Center の IP アドレスをホワイトリストに追加します。これらのアドレスがブロックされている場合、クラスターは Security Center と通信できません。

リージョンパブリック IP アドレスプライベート IP アドレス
中国 (杭州)47.96.166.214100.104.12.64/26
中国 (上海)139.224.15.48, 101.132.180.26, 47.100.18.171, 47.100.0.176, 139.224.8.64, 101.132.70.106, 101.132.156.228, 106.15.36.12, 139.196.168.125, 47.101.178.223, and 47.101.220.176100.104.43.0/26
中国 (青島)47.104.111.68100.104.87.192/26
中国 (北京)47.95.202.245100.104.114.192/26
中国 (張家口)39.99.229.195100.104.187.64/26
中国 (フフホト)39.104.147.68100.104.36.0/26
中国 (深セン)120.78.64.225100.104.250.64/26
中国 (広州)8.134.118.184100.104.111.0/26
中国 (香港)8.218.59.176100.104.130.128/26
日本 (東京)47.74.24.20100.104.69.0/26
シンガポール8.219.240.137100.104.67.64/26
米国 (シリコンバレー)47.254.39.224100.104.145.64/26
米国 (バージニア)47.252.4.238100.104.36.0/26
ドイツ (フランクフルト)47.254.158.71172.16.0.0/20
イギリス (ロンドン)8.208.14.12172.16.0.0/20
インドネシア (ジャカルタ)149.129.238.99100.104.193.128/26

自己管理型 Kubernetes クラスターの Security Center への追加

  1. Security Center コンソールSecurity Center コンソールSecurity Center コンソールにログインします。トップナビゲーションバーで、アセットのリージョンとして [中国] または [中国本土以外] を選択します。

  2. 左側のナビゲーションウィンドウで、[アセット] > [コンテナー] を選択します。

  3. [クラスター] タブで、[自作クラスターへのアクセス] をクリックします。

  4. [セルフビルドクラスター管理] パネルで、[セルフビルドクラスターアクセス] をクリックします。表示されたパネルで、クラスターパラメーターを設定し、[コマンドの生成] をクリックします。

    パラメーター説明
    クラスター名クラスターの名前。例:text-001
    有効期限生成されたオンボーディングコマンドの有効期限。
    グループクラスターを割り当てるグループ。クラスターが実行されているサーバーのグループに設定します。
    サービスプロバイダークラスターが実行されているサーバーのプロバイダー。
  5. (オプション) [ログ収集の有効化] セクションで、ログベースの脅威検知を有効にするかどうかを選択します。有効にすると、Security Center は、より詳細なリスク分析のために追加の監査ログを収集します。これには、事前に Logtail コンポーネントとクラスター監査設定を設定する必要があります — 「ログベースの脅威検知を有効にする」をご参照ください。

  6. クラスターを実行しているサーバーにログインします。クラスター名 (例: text-001.yaml) で YAML ファイルを作成し、生成されたコマンドをファイルに貼り付けて、以下を実行します。

    kubectl apply -f text-001.yaml

    コマンドが完了すると、[クラスター] タブのクラスターリストにクラスターが表示されます。

ファイル名とコマンドの両方で、text-001 をステップ 4 で [クラスター名] に入力した値に置き換えます。

マスターノードとテイントされたノードの追加

生成されたコマンドは、デフォルトでは DaemonSet Pod をマスターノードまたはテイントされたノードにスケジュールしません。これらのノードを含めるには、kubectl apply を実行する前に、YAML ファイルの Pod テンプレートに Toleration を追加します。

マスターノードの場合spec > template > spec の下に以下を追加します。

spec:
  template:
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule

この Toleration により、DaemonSet Pod は node-role.kubernetes.io/master:NoSchedule Taint を持つノードにスケジュールされ、マスターノードがクラスターの一部として Security Center に追加されます。

その他のテイントされたノードの場合 — 各ノードタイプの Taint キーと効果に一致する同じ Toleration パターンを適用します。

ログベースの脅威検知の有効化

ログベースの脅威検知は、Kubernetes 1.16 以降を実行しているクラスターで利用できます。有効にすると、Security Center は API サーバー監査ログを分析することで、高リスク操作と攻撃動作を検出します。

ステップ 1. Logtail のインストール

自己管理型 Kubernetes クラスターに Logtail コンポーネントをインストールする」の [Logtail のインストール] の手順に従ってください。

ステップ 2. クラスター監査の有効化

以下の手順は、「登録済みクラスターのクラスター監査を有効にする」に基づいています。

  1. ACK One 登録済みクラスターを作成し、自己管理型 Kubernetes クラスターをそこに追加します。「ACK One 登録済みクラスターを作成する」をご参照ください。

  2. 各マスターノードで、/etc/kubernetes/audit-policy.yaml を以下のポリシーで更新します。

    Kubernetes 1.24 より前のバージョンを実行しているクラスターの場合、apiVersionaudit.k8s.io/v1beta1 に設定します。1.24 以降の場合、audit.k8s.io/v1 を使用します。詳細については、「(非推奨) Kubernetes 1.24」をご参照ください。
                volumeMounts:
                - mountPath: /var/log/kubernetes
                  name: k8s-audit
                - mountPath: /etc/kubernetes/audit-policy.yaml
                  name: audit-policy
                  readOnly: true
              volumes:
              - hostPath:
                  path: /var/log/kubernetes
                  type: DirectoryOrCreate
                name: k8s-audit
              - hostPath:
                  path: /etc/kubernetes/audit-policy.yaml
                  type: FileOrCreate
                name: audit-policy
  3. 各マスターノードで、/etc/kubernetes/manifests/kube-apiserver.yaml を更新します。

    1. 以下の --audit-log-* フラグを command セクションに追加します。

      spec:
        containers:
        - command:
          - kube-apiserver
          - --audit-log-maxbackup=10
          - --audit-log-maxsize=100
          - --audit-log-path=/var/log/kubernetes/kubernetes.audit
          - --audit-log-maxage=30
          - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
          ...
    2. env セクションに次の環境変数を追加します。{cluster_id} を、Security Center コンソールの [クラスター] タブで確認できるクラスター ID に置き換えます。

                  env:
                  - name: aliyun_logs_audit-${cluster_id}
                    value: /var/log/kubernetes/kubernetes.audit
                  - name: aliyun_logs_audit-${cluster_id}_tags
                    value: audit=apiserver
                  - name: aliyun_logs_audit-${cluster_id}_product
                    value: k8s-audit
                  - name: aliyun_logs_audit-${cluster_id}_jsonfile
                    value: "true"
    3. 監査ログディレクトリとポリシーファイルを kube-apiserver Pod にマウントします。

                  volumeMounts:
                  - mountPath: /var/log/kubernetes
                    name: k8s-audit
                  - mountPath: /etc/kubernetes/audit-policy.yaml
                    name: audit-policy
                    readOnly: true
                volumes:
                - hostPath:
                    path: /var/log/kubernetes
                    type: DirectoryOrCreate
                  name: k8s-audit
                - hostPath:
                    path: /etc/kubernetes/audit-policy.yaml
                    type: FileOrCreate
                  name: audit-policy

ステップ 3. ログ収集の確認

  1. Simple Log Service コンソールにログインします。 Security Center コンソールにログインします。 Security Center コンソールにログインします。

  2. Logtail インストール中に作成されたプロジェクトの名前をクリックします。

  3. 監査ログが予期される Logstore に流れていることを確認します。

ステップ 4. Security Center での脅威検知の有効化

  1. セキュリティセンター コンソールにログインします。セキュリティセンター コンソールセキュリティセンター コンソールセキュリティセンター コンソール。上部ナビゲーションバーで、[中国] または [中国以外] を選択します。

  2. 左側のナビゲーションウィンドウで、[資産][コンテナ] を選択します。

  3. [クラスター] タブで、[自作クラスターへのアクセス] をクリックします。

  4. クラスターを探し、[アクション] 列の [編集] をクリックします。

  5. [ログ収集の有効化] タブで、[脅威を検出するための Kubernetes ログレポートの有効化] を選択し、次のパラメーターを設定して、[保存] をクリックします。

    パラメーター説明
    ログ監査サービスのリージョンログを保存するリージョン
    ログ監査サービスのプロジェクトLogtail インストール中に作成された Simple Log Service プロジェクトk8s-log-custom-sd89ehdq
    ログ監査サービスの LogstoreLogtail インストール中に自動的に作成された Logstoreaudit-027b007a7dd11967a9f7e2449d8dc497