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

Container Service for Kubernetes:カスタムワーカーRAMロールを使用してノードプールの詳細なアクセス制御を実装する

最終更新日:Oct 31, 2024

デフォルトでは、Container Service for Kubernetes (ACK) 管理クラスターは、すべてのノードで共有されるデフォルトのワーカーリソースアクセス管理 (RAM) ロールを作成します。 ワーカーRAMロールを使用してアプリケーションを承認すると、権限はクラスター内のすべてのノード間で共有されます。 作成時にカスタムワーカーRAMロールを異なるノードプールに割り当てることで、クラスター内のすべてのノード間でワーカーRAMロールを共有する潜在的なリスクを軽減できます。

前提条件

Kubernetes 1.22以降を実行するACKマネージドクラスターが作成されます。 詳細については、「ACK管理クラスターの作成」をご参照ください。

ステップ1: RAMロールの作成

コンソール、API、またはTerraformを使用して、ワーカーRAMロールを作成できます。

重要
  • RAMロールの名前は、Kubernetes MasterRole- またはKubernetes WorkerRole- で始めることはできません。

  • RAMロールの信頼できるサービスは、Elastic Compute Serviceである必要があります。

コンソールを使用したRAMロールの作成

  1. Alibaba CloudアカウントRAMコンソールにログインします

    説明

    Alibaba Cloudアカウントには、アカウント内のリソースに対する完全な管理権限があります。 RAMユーザーを作成し、RAMユーザーにAdministratorAccessポリシーをアタッチできます。 その後、RAMユーザーをアカウント管理者として使用して、Alibaba cloudアカウントに属するすべてのクラウドリソースを管理できます。 詳細については、「アカウント管理者としてのRAMユーザーの作成」をご参照ください。

  2. 左側のナビゲーションウィンドウで、アイデンティティ > ロールを選択します。

  3. ロールページでロールの作成をクリックします。

  4. ロールの作成ページでAlibaba Cloud Serviceを選択し、次へをクリックします。

  5. Role TypeパラメーターとしてNormal Service Roleを選択します。

  6. RAMロール名Noteパラメーターを指定します。

  7. 信頼できるサービスとしてElastic Compute Serviceを選択します。

  8. OKをクリックします。

  9. 閉じるをクリックします。

APIまたはTerraformを使用してRAMロールを作成する

APIまたはTerraformを使用してRAMロールを作成する場合は、信頼ポリシーが次のように設定されていることを確認してください。 RAMロールの信頼ポリシーを変更する方法の詳細については、「RAMロールの信頼ポリシーの編集」をご参照ください。

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ecs.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

ステップ2: ノードプールの作成時にワーカーRAMロールを割り当てる

重要

クラスターまたはノードプールを作成するときに、カスタムワーカーRAMロールを割り当てることができます。 既存のノードプールのワーカーRAMロールを変更することはできません。

ACKコンソールでクラスターまたはノードプールを作成する場合、ノードプールの詳細オプション設定で、手順1: RAMロールの作成で作成したロールとしてWorker RAMロールを選択し、新しいノードプールに割り当てます。 詳細については、「クラスター作成時のノードプールの詳細オプション」および「ノードプール作成時の詳細設定」をご参照ください。

関連ドキュメント

デフォルトでは、RAMロールは作成後に権限を持ちません。

不要になった権限を、できるだけ早い機会にRAMロールから取り消します。 詳細については、「RAMロールから権限を取り消す」をご参照ください。