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

Container Service for Kubernetes:リソースグループを使用した ACK クラスタの詳細なリソース管理

最終更新日:Apr 26, 2025

Container Service for Kubernetes (ACK) リソースをより効率的に管理するために、リソースグループを使用してリソースをグループに分類し、リソースグループを管理できます。リソースグループを使用すると、部門、プロジェクト、環境別にリソースをグループに分類し、Resource Access Management (RAM)を使用してリソースを分離し、単一の Alibaba Cloud アカウント内で詳細にリソース権限を管理できます。このトピックでは、ACK クラスタのリソースグループのサポートと、ACK リソースをグループに分類してリソースグループに権限を付与する方法について説明します。

用語

  • リソースグループ

    リソースグループを使用すると、Alibaba Cloud アカウントが所有するリソースをグループに分類できます。Alibaba Cloud アカウント内でのリソースのグループ化、権限管理、コスト配分などの複雑な問題に効果的に対処できます。たとえば、異なるプロジェクトに対応するリソースグループを作成し、プロジェクトで使用されるリソースをそれぞれのグループに転送して一元管理できます。詳細については、「リソースグループとは」および「リソースグループ設計のベストプラクティス」をご参照ください。

  • リソースグループレベルの権限付与

    リソースをリソースグループに分類した後、RAM を使用して特定のリソースグループ権限を RAM 権限エンティティ(RAM ユーザー、RAM ユーザーグループ、RAM ロールなど)に付与し、指定したリソースグループ内のリソースを管理する機能を制限できます。この権限付与方法はスケーラビリティが高くなっています。新しいリソースが追加された場合は、権限ポリシーを変更せずに、対応するリソースグループに追加するだけで済みます。詳細については、「リソースをリソースグループに分類し、リソースグループに権限を付与する」をご参照ください。

リソースグループレベルの権限付与手順

次の例では、特定のリソースグループ内の ACK クラスタのリソースを管理する権限を RAM ユーザーに付与する方法について説明します。

  1. RAM コンソール で RAM ユーザーを作成します。

    RAM ユーザーの作成方法の詳細については、「RAM ユーザーを作成する」をご参照ください。

  2. リソース管理コンソール でリソースグループを作成します。

    詳細については、「リソースグループを作成する」をご参照ください。

  3. リソースをリソースグループに分類します。

    • リソースを作成する場合、リソースを追加するリソースグループを指定します。

    • 既存のリソースを使用する場合は、リソースを対応するリソースグループに転送します。詳細については、「リソースグループ間でリソースを手動で転送する」をご参照ください。

  4. RAM コンソール にログインし、カスタムポリシーを作成します。

    作成されたカスタムポリシーには、RAM ユーザーに必要な操作権限が含まれている必要があります。詳細については、「カスタムポリシーを作成する」をご参照ください。システムポリシーを RAM ユーザーにアタッチする場合は、この手順をスキップします。

    実際のビジネス環境では、最小権限の原則に基づいて、必要な権限のみを RAM ユーザーに付与することをお勧めします。これにより、過剰なユーザー権限によって引き起こされるセキュリティリスクを防ぎます。

    カスタムポリシーの例:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["cs:DescribeClusterDetail"], // クラスタの詳細情報の取得を許可
          "Resource": "*"
        }
      ]
    }
  5. 有効範囲がリソースグループであるカスタムポリシーを RAM ユーザーにアタッチします。

    次のいずれかの方法で RAM ユーザーに権限を付与できます。

重要
  • リソースグループの権限付与は、リソースグループをサポートするリソースタイプに対してのみ有効です。ACK でリソースグループをサポートするリソースタイプの詳細については、「リソースグループをサポートするリソースタイプ」をご参照ください。

  • リソースグループをサポートしていないリソースタイプの場合は、リソース範囲を選択するときに、アカウントレベルの権限付与にアカウントレベルを選択します。ACK でリソースグループレベルの権限付与をサポートしていない操作の詳細については、「リソースグループレベルの権限付与をサポートしていない操作」をご参照ください。権限ポリシーについては、このトピックの「カスタムポリシーの例」セクションをご参照ください。

リソースグループをサポートするリソースタイプ

次の表に、ACK でリソースグループをサポートするリソースタイプを示します。

サービス名

サービスコード

リソースタイプ

ACK

cs

cluster:cluster

説明

リソースグループをサポートしていないリソースタイプが必要な場合は、チケットを送信できます。

リソースグループレベルの権限付与をサポートしていない操作

次の表に、ACK でグループレベルのリソース権限付与をサポートしていない操作を示します。権限ポリシーについては、このトピックの「カスタムポリシーの例」セクションをご参照ください。

操作

説明

cs:OpenAckService

ACK を有効にする

cs:ListOperationPlans

クラスタの自動 O&M スケジュールを照会する

cs:CancelOperationPlan

保留中の自動 O&M プランをキャンセルする

cs:DescribeTaskInfo

タスクの詳細を照会する

cs:PauseTask

タスクを一時停止する

cs:CancelTask

タスクをキャンセルする

cs:ResumeTask

タスクを復元する

cs:CreateKubernetesTrigger

アプリケーショントリガーを作成する

cs:DeleteTriggerHook

トリガーを削除する

cs:CreateTemplate

オーケストレーションテンプレートを作成する

cs:DeleteTemplate

オーケストレーションテンプレートを削除する

cs:UpdateTemplate

オーケストレーションテンプレートを更新する

cs:DescribeTemplates

すべてのオーケストレーションテンプレートを照会する

cs:DescribeTemplateAttribute

オーケストレーションテンプレートの詳細を照会する

cs:ListUserKubeConfigStates

特定のユーザーに属するすべてのクラスタの KubeConfig ステータスリストを照会する

cs:ListAddons

使用可能なコンポーネントのリストを照会する

cs:DescribeAddon

特定のコンポーネントに関する情報を照会する

cs:DescribeAddons

すべてのコンポーネントに関する情報を照会する

cs:DescribeEvents

イベントの詳細を照会する

cs:DescribeEventsForRegion

特定のリージョン内のイベントを照会する

cs:DescribeKubernetesVersionMetadata

Kubernetes バージョンの詳細を照会する

cs:CheckServiceRole

特定のサービスロールが割り当てられているかどうかを確認する

cs:DescribePatternTypes

インスタンスタイプを照会する

cs:CheckUserClustersActivity

特定のクラスタ内でのユーザーのアクティブステータスを確認する

cs:CreateSessionMessage

ACK AI アシスタントセッションを作成する

cs:UpdateMessageFeedback

ACK AI アシスタントメッセージフィードバックを更新する

cs:DescribeKubeConfigManagementTaskList

kubeconfig ファイルに関連するタスクを一覧表示する

cs:ListHaveKubeconfigDeletedAccounts

アカウントが RAM ユーザーまたは RAM ロールを削除したが、kubeconfig ファイルがアクティブなままのユーザーを照会する

cs:ListKubeConfigRecycle

現在の Alibaba Cloud アカウント内のゴミ箱にある kubeconfig ファイルを一覧表示する

cs:RestoreKubeConfigRecycleItem

削除された kubeconfig ファイルをゴミ箱から復元する

cs:RestoreMultiKubeConfigRecycleItems

削除された kubeconfig ファイルをゴミ箱から一括復元する

cs:DeleteKubeConfigRecycleItem

kubeconfig ファイルをゴミ箱から完全に削除する

cs:DescribeKubernetesVersionMetadata

Kubernetes バージョンの詳細を照会する

cs:DescribePolicies

ポリシーリストを照会する

cs:DescribePolicyDetails

特定のポリシーの詳細を照会する

cs:DescribeUserInstances

既存のノードを追加するために必要なノードリストを取得する

cs:DescribeUserPermission

RAM ユーザーまたは RAM ロールの権限を照会する

cs:UpdateUserPermissions

特定の RAM ユーザーまたは RAM ロールのロールベースアクセス制御(RBAC)権限を更新する

cs:CleanUserPermissions

特定のユーザーの証明書と関連する RBAC 権限をクリアする

cs:QueryAlertContact

アラート連絡先を照会する

cs:AddOrUpdateAlertContact

アラート連絡先を更新する

cs:DeleteAlertContact

アラート連絡先を削除する

cs:QueryAlertContactGroup

アラート連絡グループを照会する

cs:AddOrUpdateAlertContactGroup

アラート連絡グループを更新する

cs:DeleteAlertContactGroup

アラート連絡グループを削除する

cs:DescribeUserQuota

クォータ情報を照会する

cs:ListOperationPlans

自動 O&M タスクプランのリストを照会する

cs:CancelOperationPlan

自動 O&M タスクプランをキャンセルする

cs:DescribeTasks

タスクリストを照会する

ACK の RAM 権限付与の詳細については、「RAM 権限付与」をご参照ください。

カスタムポリシーの例

重要

アカウントレベルの権限を持つ RAM ユーザーまたは RAM ロールは、アカウント全体のすべてのリソースに対して操作を実行できます。RAM ユーザーまたは RAM ロールに付与された権限が期待どおりであり、最小権限の原則に従っていることを確認してください。

リソースグループをサポートしていないリソースタイプの場合、リソースグループに付与された権限は有効になりません。カスタムポリシーを作成し、RAM コンソールで [リソース範囲] パラメーターを [アカウント] に設定する必要があります。

image

次のサンプルコードは、2 つのカスタムポリシーの例を示しています。ビジネス要件に基づいてポリシーの内容を変更できます。

  • 次のカスタムポリシーでは、リソースグループレベルの権限付与をサポートしていない読み取り専用操作が許可されます。

    カスタムポリシーでは、Action フィールドに、リソースグループ レベルの権限付与をサポートしていないすべての読み取り専用操作が含まれています。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "cs:DescribeAddon",
            "cs:DescribeAddons",
            "cs:DescribeEvents",
            "cs:DescribeEventsForRegion",
            "cs:DescribeKubeConfigManagementTaskList",
            "cs:DescribeKubernetesVersionMetadata",
            "cs:DescribePatternTypes",
            "cs:DescribePolicies",
            "cs:DescribePolicyDetails",
            "cs:DescribeTaskInfo",
            "cs:DescribeTemplateAttribute",
            "cs:DescribeTemplates",
            "cs:DescribeUserInstances",
            "cs:DescribeUserPermission",
            "cs:ListAddons",
            "cs:ListHaveKubeconfigDeletedAccounts",
            "cs:ListKubeConfigRecycle",
            "cs:ListOperationPlans",
            "cs:ListUserKubeConfigStates",
            "cs:QueryAlertContact",
            "cs:QueryAlertContactGroup",
            "cs:CheckServiceRole",
            "cs:DescribeTasks",
            "cs:DescribeUserQuota",
            "cs:ListOperationPlans",
            "cs:CheckUserClustersActivity"
          ],
          "Resource": "*"
        }
      ]
    }
  • 次のカスタムポリシーでは、リソースグループレベルの権限付与をサポートしていない書き込み操作が許可されます。

    カスタムポリシーでは、Action フィールドに、リソースグループレベルの権限付与をサポートしていないすべての操作が含まれています。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "cs:AddOrUpdateAlertContact", // アラート連絡先の追加または更新
            "cs:AddOrUpdateAlertContactGroup", // アラート連絡先グループの追加または更新
            "cs:CancelOperationPlan", // オペレーションプランのキャンセル
            "cs:CancelTask", // タスクのキャンセル
            "cs:CheckServiceRole", // サービスロールの確認
            "cs:CheckUserClustersActivity", // ユーザー クラスタ アクティビティの確認
            "cs:CleanUserPermissions", // ユーザー権限のクリーンアップ
            "cs:CreateKubernetesTrigger", // Kubernetes トリガーの作成
            "cs:CreateSessionMessage", // セッションメッセージの作成
            "cs:CreateTemplate", // テンプレートの作成
            "cs:DeleteAlertContact", // アラート連絡先の削除
            "cs:DeleteAlertContactGroup", // アラート連絡先グループの削除
            "cs:DeleteKubeConfigRecycleItem", // KubeConfig リサイクルアイテムの削除
            "cs:DeleteTemplate", // テンプレートの削除
            "cs:DeleteTriggerHook", // トリガーフックの削除
            "cs:DescribeAddon", // アドオンの記述
            "cs:DescribeAddons", // アドオンの記述
            "cs:DescribeEvents", // イベントの記述
            "cs:DescribeEventsForRegion", // リージョンごとのイベントの記述
            "cs:DescribeKubeConfigManagementTaskList", // KubeConfig 管理タスクリストの記述
            "cs:DescribeKubernetesVersionMetadata", // Kubernetes バージョンメタデータの記述
            "cs:DescribePatternTypes", // パターンの種類の記述
            "cs:DescribePolicies", // ポリシーの記述
            "cs:DescribePolicyDetails", // ポリシー詳細の記述
            "cs:DescribeTaskInfo", // タスク情報の記述
            "cs:DescribeTemplateAttribute", // テンプレート属性の記述
            "cs:DescribeTemplates", // テンプレートの記述
            "cs:DescribeUserInstances", // ユーザーインスタンスの記述
            "cs:DescribeUserPermission", // ユーザー権限の記述
            "cs:ListAddons", // アドオンの一覧表示
            "cs:ListHaveKubeconfigDeletedAccounts", // Kubeconfig が削除されたアカウントの一覧表示
            "cs:ListKubeConfigRecycle", // KubeConfig リサイクルの一覧表示
            "cs:ListOperationPlans", // オペレーションプランの一覧表示
            "cs:ListUserKubeConfigStates", // ユーザー KubeConfig 状態の一覧表示
            "cs:OpenAckService", // ACK サービスの開始
            "cs:DescribeTasks", // タスクの記述
            "cs:PauseTask", // タスクの一時停止
            "cs:QueryAlertContact", // アラート連絡先のクエリ
            "cs:QueryAlertContactGroup", // アラート連絡先グループのクエリ
            "cs:RestoreKubeConfigRecycleItem", // KubeConfig リサイクルアイテムの復元
            "cs:RestoreMultiKubeConfigRecycleItems", // 複数の KubeConfig リサイクルアイテムの復元
            "cs:ResumeTask", // タスクの再開
            "cs:UpdateMessageFeedback", // メッセージフィードバックの更新
            "cs:DescribeUserQuota", // ユーザー クォータの記述
            "cs:ListOperationPlans", // オペレーションプランの一覧表示
            "cs:CancelOperationPlan", // オペレーションプランのキャンセル
            "cs:UpdateTemplate", // テンプレートの更新
            "cs:UpdateUserPermissions" // ユーザー権限の更新
          ],
          "Resource": "*"
        }
      ]
    }