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

Container Service for Kubernetes:タグを使用したきめ細かなアクセス制御

最終更新日:Jun 23, 2026

タグは、クラウドリソースを識別し、分類するためのものです。Resource Access Management (RAM) は、権限ポリシーを使用してユーザー ID を管理し、クラウドリソースへのアクセスと操作を制御します。Container Service for Kubernetes (ACK) クラスターにタグを追加し、RAM 権限ポリシーでこれらのタグを使用することで、きめ細かなアクセス制御を実装できます。これにより、異なるユーザーに特定のクラスターへのアクセス権を付与できます。

操作手順

Alibaba Cloud アカウント (root ユーザー) を使用して、RAM ユーザーが ACK クラスターにアクセスまたは管理するために特定のタグを指定することを要求するカスタムポリシーを作成できます。その後、このポリシーを RAM ユーザーにアタッチします。

  1. RAM ユーザーの作成

  2. Alibaba Cloud アカウント (root ユーザー) を使用して、RAM コンソールにログインします。詳細については、「カスタムポリシーの作成」をご参照ください。ポリシーでは、Condition 要素を使用してクラウドリソースに複数のタグ条件を設定し、権限を制限します。

    説明

    Alibaba Cloud アカウント (root ユーザー) は、アカウント内のすべてのリソースに対する完全な権限を持っています。また、RAM ユーザーに AdministratorAccess 権限を付与して、アカウント管理者にすることもできます。この管理者は、アカウント内のすべてのクラウドリソースを管理できます。詳細については、「RAM ユーザーをアカウント管理者として作成する」をご参照ください。

    ACK は、次の条件キーをサポートしています:

    条件キー

    説明

    acs:RequestTag

    リクエストに特定のタグを含めることを要求します。

    API リクエストにタグパラメーターが含まれていない場合、条件として acs:RequestTag を使用すると、権限付与は失敗します。

    acs:ResourceTag

    リソースに特定のタグが付与されていることを要求します。

    API リクエストにリソース ID パラメーターが含まれていない場合、条件として acs:ResourceTag を使用すると、権限付与は失敗します。

    ポリシーの例については、「ユースケース」をご参照ください。

  3. カスタムポリシーを RAM ユーザーにアタッチします。詳細については、「RAM ユーザーの権限の管理」をご参照ください。カスタムポリシーを作成する際は、「タグをサポートするリソースタイプ」および「タグベースの権限付与をサポートしないアクション」をご参照ください。

    説明

    既存の RAM ユーザーに権限を付与する前に、重複や競合を防ぐために、現在の権限ポリシーを確認してください。

ユースケース

以下のテンプレートは、さまざまなシナリオに対応するカスタムポリシーの例です。最小権限の原則に基づき、要件に合わせて調整してください。

権限ポリシー

説明

結果

{
    "Version": "1",
    "Statement": [{
        "Effect": "Allow",
        "Action": "cs:CreateCluster",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "acs:RequestTag/test": "foo"
            }
        }
    }]
}

ユーザーに test:foo タグを持つクラスターのみの作成を許可します。

  • クラスター作成時に [詳細オプション] セクションで test:foo タグを追加すると、操作は成功します。

  • test:foo タグなしで ACK クラスターを作成しようとすると、RAM ユーザーに必要な権限がないため、操作は失敗します。エラーメッセージ RAM policy Forbidden for action cs:CreateCluster が表示されます。エラーコードは StatusForbidden です。Alibaba Cloud アカウントの所有者または管理者に連絡して、必要な権限を付与してもらってください。

{
    "Version": "1",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "cs:DescribeClustersV1",
            "cs:GetClusters"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "acs:ResourceTag/test": "foo"
            }
        }
    }]
}

クラスターリストで test:foo タグを持つクラスターのみをユーザーが表示できるようにします。

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

  2. クラスターリストでクラスターを表示します。

    • test:foo タグを持つクラスターがない場合、クラスターリストは空になります。

    • クラスターに test:foo タグを追加すると、そのクラスターがリストに表示されます。

{
    "Version": "1",
    "Statement": [{
        "Effect": "Deny",
        "Action": [
            "cs:UntagResources",
            "cs:ListTagResources",
            "cs:TagResources",
            "cs:ModifyClusterTags"
        ],
        "Resource": "*"
    }]
}

ユーザーによるタグの変更を禁止します。

タグを変更しようとすると、操作は失敗します。

エラーコードは StatusForbidden で、エラーメッセージは RAM policy Forbidden for action cs:ModifyClusterTags です。これは、ユーザーがこのアクションに対して権限を持っていないことを示します。管理者に連絡して、必要な権限を付与してもらってください。ダイアログボックスには、「Kubernetes クラスターのアクセス制御の概要」へのリンクも表示されます。

参考資料

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

ACK は、次の表に記載されているリソースタイプに対してのみ、タグベースの権限付与をサポートしています。

サービス名

サービスコード

リソースタイプ

ACK

cs

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 ロールの Role-Based Access Control (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

タスクリストのクエリ

カスタムポリシーの例

重要

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

タグ条件を持つポリシーは、タグベースの権限付与をサポートしないアクションには適用されません。これらのアクションには、別のカスタムポリシーを作成してください。ポリシーを作成する際は、リソース範囲をAccount に設定し、ポリシーステートメントにタグ条件を含めないでください。

以下のカスタムポリシーの例は、必要に応じて調整できます。

  • 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",
            "cs:CreateSessionMessage",
            "cs:CreateTemplate",
            "cs:DeleteAlertContact",
            "cs:DeleteAlertContactGroup",
            "cs:DeleteKubeConfigRecycleItem",
            "cs:DeleteTemplate",
            "cs:DeleteTriggerHook",
            "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:OpenAckService",
            "cs:DescribeTasks",
            "cs:PauseTask",
            "cs:QueryAlertContact",
            "cs:QueryAlertContactGroup",
            "cs:RestoreKubeConfigRecycleItem",
            "cs:RestoreMultiKubeConfigRecycleItems",
            "cs:ResumeTask",
            "cs:UpdateMessageFeedback",
            "cs:DescribeUserQuota",
            "cs:ListOperationPlans",
            "cs:CancelOperationPlan",
            "cs:UpdateTemplate",
            "cs:UpdateUserPermissions"
          ],
          "Resource": "*"
        }
      ]
    }