Kubernetes用分散クラウドコンテナプラットフォーム (ACK One) 権限には、サービスにリンクされたロール、リソースアクセス管理 (RAM) システムポリシー、およびロールベースアクセス制御 (RBAC) ロールによって提供される権限が含まれます。 ACK Oneが提供する機能を使用するには、サービスアカウントに必要な権限を付与する必要があります。 このトピックでは、サービスロール、RAMポリシー、およびRBAC権限の関係について説明します。 また、サービスアカウントに適切な権限を付与する方法についても説明します。
権限の種類
権限タイプ | 権限付与の要求 | 説明 |
ACK Oneを初めて使用する場合は、Alibaba CloudアカウントまたはRAMアカウント管理者で認証を完了する必要があります。 | 承認が完了した後にのみ、ACK Oneは他のAlibaba Cloudサービスのリソースにアクセスできます。 | |
| 承認が完了した後にのみ、RAMユーザーまたはRAMロールはACK Oneが提供する機能を使用できます。 | |
| 権限付与が完了して初めて、RAMユーザーまたはRAMロールはACK OneクラスターのKubernetesリソースを管理できます。 |
サービスにリンクされたロール
Alibaba Cloudサービスは、特定の機能を実装するために他のAlibaba Cloudサービスにアクセスする必要があります。 この場合、Alibaba Cloudサービスは、他のAlibaba Cloudサービスにアクセスするためにサービスにリンクされたロールを引き受ける必要があります。 サービスにリンクされたロールはRAMロールです。
たとえば、ACK Oneでワークフロークラスターを作成した後、ACK Oneはワークフローを実行するためのエラスティックコンテナインスタンスを作成する必要があります。 これを行うには、ACK Oneにエラスティックコンテナインスタンスを作成する権限が必要です。
ACK Oneは、次のサービスにリンクされたロールを提供します。 ロールによって提供される権限の詳細については、「ACK Oneのサービスにリンクされたロールとロールの権限」をご参照ください。
ロール名 | 権限 |
AliyunCSDefaultRole |
|
AliyunServiceRoleForAdcp |
|
AliyunAdcpServerlessKubernetesロール |
|
AliyunAdcpManagedMseRole |
|
サービスにリンクされたロールを手動で作成する必要はありません。 ACK Oneコンソールを初めて使用するときに、コンソールは最初に承認を完了するように求めます。 承認を完了するには、画面上の指示に従う必要があります。
Alibaba CloudアカウントとRAMアカウント管理者のみがロール権限付与を完了できます。 通常のRAMユーザーはこの操作を実行できません。 システムが権限を持っていないことを要求する場合は、Alibaba CloudアカウントまたはRAMアカウント管理者を使用します。
RAMシステムポリシー
デフォルトでは、RAMユーザーにはAlibaba Cloudサービスに対する操作を呼び出す権限がありません。 RAMユーザーまたはRAMロールでACK Oneを使用するには、RAMユーザーまたはRAMロールにACK Oneリソースに対する権限を付与する必要があります。
ACK Oneは、グローバルリソースの読み取りと書き込みを制御するために、デフォルトで次のシステムポリシーを提供します。 システムポリシーは、オンデマンドでRAMユーザーまたはRAMロールにアタッチできます。
詳細については、「RAMユーザーまたはRAMロールへのシステム権限ポリシーのアタッチ」をご参照ください。
RAMシステムポリシー | 権限 | クラスター関連 | ||
登録済みクラスター | フリートインスタンス | ワークフロークラスター | ||
AliyunAdcpFullAccess | すべてのACK Oneリソースに対する読み取りおよび書き込み権限を提供します。 | 必須 | 必須 | 必須 |
AliyunAdcpReadOnlyAccess | すべてのACK Oneリソースに対して読み取り専用の権限を提供します。 | 必須 | 必須 | 必須 |
AliyunCSFullAccess | すべてのContainer Service for Kubernetes (ACK) リソースに対する読み取りおよび書き込み権限を提供します。 | 必須 | 必須 | 選択可能 |
AliyunCSReadOnlyAccess | すべてのACKリソースに対して読み取り専用の権限を提供します。 | 必須 | 必須 | 選択可能 |
AliyunVPCReadOnlyAccess | 作成するACKクラスターの仮想プライベートクラウド (VPC) を指定する権限を提供します。 | 必須 | 必須 | 必須 |
AliyunECIReadOnlyAccess | ポッドをelasticコンテナインスタンスにスケジュールする権限を提供します。 | 必須 | 必須 | 必須 |
AliyunLogReadOnlyAccess | 作成するACKクラスターのログを保存したり、ACKクラスターの構成検査情報を表示したりする既存のログプロジェクトを選択する権限を提供します。 | 必須 | 必須 | 必須 |
AliyunARMSReadOnlyAccess | ACKクラスターのManaged Service for Prometheusプラグインのモニタリングデータを表示する権限を提供します。 | 必須 | 必須 | 必須 |
AliyunRAMReadOnlyAccess | 既存のRAMポリシーを表示する権限を提供します。 | 必須 | 必須 | 必須 |
AliyunECSReadOnlyAccess | クラウド内の既存のノードをACKクラスターに追加したり、ノードの詳細を表示したりする権限を提供します。 | 必須 | 選択可能 | 選択可能 |
AliyunContainerRegistryReadOnlyAccess | Alibaba Cloudアカウント内のアプリケーションイメージを表示する権限を提供します。 | 必須 | 選択可能 | 選択可能 |
AliyunAHASReadOnlyAccess | クラスタートポロジ機能を使用するための権限を提供します。 | 必須 | 選択可能 | 選択可能 |
AliyunYundunSASReadOnlyAccess | ACKクラスターのランタイムモニタリングデータを表示する権限を提供します。 | 必須 | 選択可能 | 選択可能 |
AliyunKMSReadOnlyAccess | ACKクラスターを作成するときにシークレット暗号化機能を有効にする権限を提供します。 | 必須 | 選択可能 | 選択可能 |
AliyunESSReadOnlyAccess | ノードプールを表示、変更、スケールする権限など、クラウドでノードプール関連の操作を実行する権限を提供します。 | 必須 | 選択可能 | 選択可能 |
RBAC の権限
RAMシステムポリシーは、ACK Oneクラスターリソースに対する権限のみを制御できます。 RAMユーザーまたはRAMロールが指定されたACK Oneクラスター内のKubernetesリソースを管理したい場合 (GitOpsアプリケーションやArgoワークフローの作成やクエリなど) 、RAMユーザーまたはRAMロールに、ACK Oneクラスターとその名前空間に対するRBAC権限を付与する必要があります。
ACK Oneは、次の定義済みロールを提供します。
フリートインスタンスとワークフロークラスターに対するRBAC権限
RBACロール
権限
クラスター関連
フリートインスタンス
ワークフロークラスター
admin (管理者)
すべての名前空間のクラスター全体のリソースとリソースに対する読み取りおよび書き込み権限を提供します。
必須
必須
dev (開発者)
指定された名前空間のリソースに対する読み取りおよび書き込み権限を提供します。
必須
必須
gitops-dev (GitOps開発者)
argocd名前空間のアプリケーションリソースに対する読み取りおよび書き込み権限を提供します。
必須
選択可能
RBACによって制御されるリソースと権限を付与する方法の詳細については、「RAMユーザーまたはRAMロールへのRBAC権限の付与」をご参照ください。