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

Container Service for Kubernetes:ワーカー RAM ロールの権限の制限

最終更新日:May 22, 2026

最小権限の原則に基づいてワーカーノードに割り当てられた Resource Access Management (RAM) ロールの権限を制限して、Container Service for Kubernetes (ACK) マネージドクラスターのセキュリティを向上させます。

重要

RAM ポリシーの変更により必要な権限が削除されると、アプリケーションまたはアドオンで障害が発生する可能性があります。 本番環境に変更を適用する前に、ステージング環境でテストしてください。

前提条件

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

ステップ 1:現在の権限の評価

ワーカー RAM ロールに制限が必要な過剰な権限があるかどうかを判断します。

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

  2. クラスターリスト ページで、対象のクラスターの名前をクリックします。 基本情報 タブで、Worker RAM ロール の横にあるリンクをクリックします。

  3. RAM コンソールで、役割 ページの 権限管理 タブに移動します。

    • ポリシーがアタッチされていない場合、これ以上の操作は不要です。 ワーカー RAM ロールには過剰な権限はありません。

    • ポリシー (例: k8sWorkerRolePolicy-db8ad5c7***) がアタッチされている場合、ロールには必要以上の権限が付与されている可能性があります。 最小権限の原則に基づいてビジネスニーズを評価し、次のステップに進んでください。

説明

アタッチされている各ポリシーを確認して、付与されている Alibaba Cloud API アクションを特定してください。 これが、変更を加える前のベースラインとなります。

ステップ 2:アドオンのアップグレード

これまで、ACK アドオンは、クラウドリソースへのアクセスのためにノードのワーカー RAM ロールに依存していました。 現在の ACK アドオンは、代わりにトークンベース認証 (マネージドサービスロール) を使用します。 クラスターのアドオンをアップグレードし、監査ログを分析して、ワーカー RAM ロールから不要な権限を削除してください。これにより、潜在的なセキュリティインシデントの影響を限定できます。

重要

アドオンは一度に 1 つずつアップグレードしてください。 各アップグレードが成功したことを確認してから、次のアップグレードを開始してください。 アップグレードする前に、各アドオンの注意をお読みください。

詳細については、「アドオンの管理」をご参照ください。

アドオン管理 からインストールされたアドオン

アドオン管理 ページで、インストールされている各アドオンを、以下に示す最小バージョン以上にアップグレードしてください。 すでに最小バージョン以上のアドオンについては、表に記載されているコマンドで再デプロイするか、コンソールから再デプロイしてください。

モニタリングと可観測性

アドオン

最小バージョン

再デプロイコマンド

注意

metrics-server

v0.3.9.4-ff225cd-aliyun

kubectl -n kube-system rollout restart deployment/metrics-server

なし

alicloud-monitor-controller

v1.5.5

kubectl -n kube-system rollout restart deployment/alicloud-monitor-controller

なし

arms-prometheus

1.1.11

kubectl -n arms-prom rollout restart deployment/arms-prometheus-ack-arms-prometheus

なし

ack-cost-exporter

1.0.10

kubectl -n kube-system rollout restart deployment/ack-cost-exporter

アップグレードする前に、マネージドコストロールに権限を付与してください。

ack-node-problem-detector

1.2.16

kubectl -n kube-system rollout restart deployment/ack-node-problem-detector-eventer

なし

ネットワーク

アドオン

最小バージョン

再デプロイコマンド

注意

terway

v1.0.10.333-gfd2b7b8-aliyun

kubectl -n kube-system rollout restart daemonset/terway

クラスターの Terway モードに従って Terway をアップグレードしてください。 詳細については、「Terwayネットワークプラグインの使用」をご参照ください。 アップグレード後、Terway 設定を確認してください。

terway-eni

v1.0.10.333-gfd2b7b8-aliyun

kubectl -n kube-system rollout restart daemonset/terway-eni

terway の注意をご参照ください。

terway-eniip

v1.0.10.333-gfd2b7b8-aliyun

kubectl -n kube-system rollout restart daemonset/terway-eniip

terway の注意をご参照ください。

terway-controlplane

v1.2.1

kubectl -n kube-system rollout restart deployment/terway-controlplane

なし

mse-ingress-controller

1.1.5

kubectl -n mse-ingress-controller rollout restart deployment/ack-mse-ingress-controller

アップグレードする前に、マネージド Microservices Engine (MSE) ロールに権限を付与してください。

ストレージ

アドオン

最小バージョン

再デプロイコマンド

注意

csi-plugin

v1.18.8.45-1c5d2cd1-aliyun

kubectl -n kube-system rollout restart daemonset/csi-plugin

なし

csi-provisioner

v1.18.8.45-1c5d2cd1-aliyun

kubectl -n kube-system rollout restart deployment/csi-provisioner

なし

storage-operator

v1.18.8.55-e398ce5-aliyun

kubectl -n kube-system rollout restart deployment/storage-auto-expander
kubectl -n kube-system rollout restart deployment/storage-cnfs
kubectl -n kube-system rollout restart deployment/storage-monitor
kubectl -n kube-system rollout restart deployment/storage-snapshot-manager
kubectl -n kube-system rollout restart deployment/storage-operator



なし

alicloud-disk-controller

v1.14.8.51-842f0a81-aliyun

kubectl -n kube-system rollout restart deployment/alicloud-disk-controller

なし

flexvolume

v1.14.8.109-649dc5a-aliyun

kubectl -n kube-system rollout restart daemonset/flexvolume

FlexVolumeをCSIに移行してください

ロギング

アドオン

最小バージョン

再デプロイコマンド

注意

logtail-ds

v1.0.29.1-0550501-aliyun

kubectl -n kube-system rollout restart daemonset/logtail-ds
kubectl -n kube-system rollout restart deployment/alibaba-log-controller

なし

loongcollector

v3.0.2

kubectl -n kube-system rollout restart daemonset/loongcollector-ds
kubectl -n kube-system rollout restart deployment/loongcollector-operator

なし

セキュリティとイメージ管理

アドオン

最小バージョン

再デプロイコマンド

注意

aliyun-acr-credential-helper

v23.02.06.2-74e2172-aliyun

kubectl -n kube-system rollout restart deployment/aliyun-acr-credential-helper

アップグレードする前に、マネージド Container Registry (ACR) ロールに権限を付与してください。 カスタム RAM 権限がなく、アカウント間でイメージをプルする必要がない場合は、アドオン管理 に移動し、[tokenMode][managedRole] に設定してください。 プライベートイメージの認証情報不要のイメージプルが必要ない場合は、このアドオンをアンインストールしてください。

ack-onepilot

3.0.11

kubectl -n ack-onepilot rollout restart deployment/ack-onepilot-ack-onepilot

アップグレードする前に、マネージドMSEロールに権限を付与してください。

Cluster Autoscaler (ノードプール経由でインストール)

アドオン

最小バージョン

再デプロイコマンド

注意

cluster-autoscaler

v1.3.1-bcf13de9-aliyun

kubectl -n kube-system rollout restart deployment/cluster-autoscaler

現在のバージョンを確認するには、次のいずれかの方法を使用してください。

Terway 設定の確認

クラスターに terwayterway-eni、または terway-eniip がインストールされている場合は、Terway ConfigMapに正しい認証情報パスが含まれていることを確認してください。

  1. 次のコマンドを実行して、Terway ConfigMapを編集してください。

       kubectl edit cm eni-config -n kube-system
  2. eni_conf セクションで、次の行を確認してください。

       "credential_path": "/var/addon/token-config",
    • この行が存在する場合、変更は必要ありません。

    • この行がない場合は、min_pool_size 設定の下に追加してください。

  3. 上記のネットワーク表から対応する再デプロイコマンドを実行して、Terway ワークロードを再デプロイしてください。

ステップ 3:監査ログの収集

監査ログを設定して、ワーカー RAM ロールが実行する Alibaba Cloud API オペレーションを追跡してください。 このデータから、どの権限がまだ使用中で、どの権限を安全に削除できるかがわかります。

説明

少なくとも 1 週間は監査ログを収集してください。

  1. ActionTrail コンソールにログインします。

  2. クラスターが配置されているリージョンに単一アカウントの証跡を作成してください。 証跡を作成するときは、Log Service に配信 を選択してください。 詳細については、「単一アカウントの証跡の作成」をご参照ください。

ActionTrail がサポートするサービスの完全なリストについては、「サポートされている Alibaba Cloud サービス」をご参照ください。

ステップ 4:クラスター機能のテスト

アドオンをアップグレードしてワークロードを再デプロイした後、クラスターのコア機能がまだ正しく動作することを確認してください。

カテゴリ

テストケース

リファレンス

コンピューティング

ノードのスケールアウトとスケールイン。

ノードプールの手動スケーリング

ネットワーク

IPアドレスがPodに割り当てられていることを確認します。

デプロイとリリース

ストレージ

外部ストレージを使用するワークロードをデプロイします (該当する場合)。

ストレージ - CSI

モニタリング

モニタリングとアラートデータが利用可能であることを確認します。

可観測性

弾力性

ノードの自動スケーリングをトリガーします (該当する場合)。

ノードの自動スケーリングの有効化

セキュリティ

認証情報なしでプライベートイメージをプルします (該当する場合)。

aliyun-acr-credential-helper を使用して Secret を使用せずにイメージをプルする

重要

上記のテストに加えて、クラスターにデプロイされたアプリケーションのビジネスロジックをテストしてください。

ステップ 5:監査ログの分析

少なくとも1週間ログを収集した後、データをクエリして、ワーカー RAM ロールが実行した API オペレーションを特定してください。

  1. Simple Log Service (SLS) コンソールにログインします。

  2. [プロジェクト] セクションで、ステップ 3 で指定したプロジェクトをクリックしてください。

    image

  3. Log Storage > ログストア タブで、宛先のLogstoreをクリックしてください。 Logstoreの名前は actiontrail_<trail_name> です。

  4. 次のクエリを実行して、ワーカー RAM ロールのSecurity Token Service (STS) トークンを介して呼び出された API オペレーションを一覧表示してください。 <worker_role_name> をクラスターのワーカー RAM ロールの名前に置き換えてください。 結果には、どのAlibaba Cloudサービスと API オペレーションが呼び出されているかが表示されます。 このデータをステップ6で使用して、どの権限を保持し、どの権限を削除するかを決定します。

       * and event.userIdentity.userName: <worker_role_name> | select "event.serviceName", "event.eventName", count(*) as total GROUP BY "event.eventName", "event.serviceName"

ステップ 6:未使用の権限の削除

監査ログの分析に基づいて、ワーカー RAM ロールに不要な権限を削除してください。

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

  2. クラスターリスト ページで、対象のクラスターの名前をクリックします。 基本情報 タブで、Worker RAM ロール の横にあるリンクをクリックします。

  3. 役割 ページの 権限管理 タブで、宛先のアクセスポリシーをクリックして ポリシーの内容 タブに移動してください。 ポリシーの変更 をクリックしてください。

    重要

    ポリシードキュメントを変更する前に、バックアップを作成してください。 これにより、必要に応じて権限設定をロールバックできます。

  4. ステップ5の監査ログ分析に基づいて、不要な権限を削除してください。 たとえば、監査期間中に呼び出されなかったポリシーから Action 権限を削除します。 クエリが結果を返さなかった場合は、ロールからポリシー全体を安全にデタッチできます。

  5. ステップ2に記載されているコマンドを使用してワークロードを再デプロイしてください。

  6. ワーカー RAM ロールにアドオンまたはアプリケーションで必要な最小限の権限のみが付与されるまで、ステップ4、5、6を繰り返してください。

関連ドキュメント