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

Container Service for Kubernetes:カスタムRAMポリシーの作成

最終更新日:Oct 31, 2024

このトピックでは、カスタムRAM (Resource Access Management) ポリシーを作成する方法について説明します。 このトピックでは、カスタムRAMポリシーを作成し、RAMユーザーまたはRAMロールにアタッチして、RAMユーザーまたはRAMロールにContainer Service for Kubernetes (ACK) クラスターの照会、変更、および削除を行う権限を付与します。

前提条件

カスタムポリシーを作成する前に、ポリシー要素、構造、および構文に関する基本的な知識があります。 詳細については、「ポリシー要素」をご参照ください。

背景情報

ACKによって提供されるシステムポリシーは、粗粒である。 システムポリシーが要件を満たせない場合は、カスタムポリシーを作成して、ACKクラスターの詳細なアクセス制御を実装できます。 たとえば、指定したクラスターの操作権限を制御する場合は、このきめ細かい管理要件を満たすカスタムポリシーを作成する必要があります。

ロールベースのアクセス制御 (RBAC) を使用してRAMユーザーまたはRAMロールにクラスターを管理する権限を付与する前に、RAMコンソールでRAMユーザーまたはRAMロールにクラスターを管理する権限を付与する必要があります。 要件に基づいて、クラスターに対するRAMユーザーまたはRAMロールの読み取りおよび書き込み権限を付与できます。

  • 読み取り権限: クラスター設定やkubeconfigファイルなど、指定されたクラスターに関する基本情報を表示します。

  • 書き込み権限: クラスターのスケーリングとアップグレード、クラスターへのノードの追加と削除など、指定されたクラスターを管理します。

RAMユーザーまたはRAMロールに対してRBAC権限付与を実行する前に、RAMユーザーまたはRAMロールに、管理するクラスターに対する読み取り専用権限があることを確認してください。

{
  "Statement": [
    {
      "Action": [
        "cs:Get*",
        "cs:List*",
        "cs:Describe*"
      ],
      "Effect": "Allow",
      "Resource": [
        "acs:cs:*:*:cluster/<yourclusterID>"
      ]
    }
  ],
  "Version": "1"
}

RAMユーザーまたはRAMロールにクラスターで必要なRAM権限が付与されたら、RBACを使用してRAMユーザーまたはRAMロールにクラスターリソースの管理を許可します。 詳細については、「RAMユーザーまたはRAMロールへのRBAC権限の付与」をご参照ください。

カスタマイズポリシーの作成

  1. Alibaba Cloudアカウントを使用して、または許可されたRAMユーザーまたはRAMロールとしてRAMコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。

  3. [ポリシー] ページで、[ポリシーの作成] をクリックします。

  4. [ポリシーの作成] ページで、[JSON] をクリックします。 次に、policy Documentコードエディターにポリシーの内容を入力します。

    {
     "Statement": [{
         "Action": [
             "cs:Get*",
             "cs:List*",
             "cs:Describe*",
             "cs:ScaleCluster",
             "cs:DeleteCluster"
         ],
         "Effect": "Allow",
         "Resource": [
             "acs:cs:*:*:cluster/Cluster ID"
         ]
     }],
     "Version": "1"
    }

    次の説明に基づいてポリシーを設定します。

    • [アクション] フィールドに付与する権限を入力します。

      説明

      アクションフィールドでワイルドカード文字を使用できます。

    • 要件に基づいて [リソース] フィールドを設定します。

      • 1つのクラスターに権限を付与する

        "Resource": [
             "acs:cs:*:*:cluster/Cluster ID"
         ]
      • 複数のクラスターに対する権限の付与

        "Resource": [
             "acs:cs:*:*:cluster/Cluster ID",
             "acs:cs:*:*:cluster/Cluster ID"
         ]
      • すべてのクラスターに権限を付与する

        "Resource": [
             "*"
         ]

        クラスターIDをクラスターのIDに置き換えます。

  5. ポリシーを編集した後、ポリシー情報を編集する次に、入力します。名前をクリックし、OK.

  6. [ポリシー] ページに戻ります。 検索ボックスにポリシー名またはメモを入力し、検索アイコンをクリックして、新しく作成されたポリシーを検索できます。

関連ドキュメント

RAMユーザーまたはRAMロールにクラスター固有でないAPI操作を呼び出す権限を付与

RAMユーザーまたはRAMロールに、DescribeEventsなどの非クラスター固有のAPIを呼び出す権限を付与する場合は、ポリシーコンテンツの [リソース] フィールドにクラスターIDを指定しないでください。

次のコードブロックは、現在のRAMポリシーを示しています。

{
    "Statement": [
        {
            "Action": [
                "cs:Get*",
                "cs:List*",
                "cs:Describe*"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:cs:*:*:cluster/c2e63856bcd714197****"
            ]
        }
    ],
    "Version": "1"
}

DescribeEvents操作を呼び出す権限を付与するには、次のコードブロックに示すように、対応するRAMアクションcs:DescribeEventsをRAMポリシーに追加する必要があります。

{
    "Statement": [
        {
            "Action": [
                "cs:DescribeEvents"
            ],
            "Effect": "Allow",
            "Resource": [
              "*"
            ]
        },
        {
            "Action": [
                "cs:Get*",
                "cs:List*",
                "cs:Describe*"
            ],
            "Effect": "Allow",
            "Resource": [
                "acs:cs:*:*:cluster/c2e63856bcd714197****"
            ]
        }
    ],
    "Version": "1"
}