ACK One は、サービスリンクロール、RAM ポリシー、RBAC 権限の 3 つのレイヤーを通じてアクセスを制御します。
各ロールのタスク
| ロール | 設定が必要な内容 |
|---|---|
| Alibaba Cloud アカウント所有者 | 初回使用時にサービスリンクロールの権限付与を完了します。デフォルトでは、アカウントは完全な権限を持っています。 |
| RAM アカウント管理者 | 組織に代わってサービスリンクロールの権限付与を完了します。RAM ユーザーまたは RAM ロールに RAM システムポリシーをアタッチし、各クラスターに RBAC 権限を付与します。 |
| RAM ユーザーまたは RAM ロール | 管理者に RAM ポリシーのアタッチと RBAC 権限の付与を依頼してください。 |
権限のタイプ
ACK One の権限は、次の 2 つのレベルで構成されます:
-
コントロールプレーン権限 (RAM レイヤー):ACK One クラスターリソース (クラスターの作成、設定の表示、ACK One API の呼び出しなど) を管理できるユーザーを制御します。サービスリンクロールと RAM システムポリシーによって管理されます。
-
データプレーン権限 (RBAC レイヤー):クラスター内の Kubernetes オブジェクト (アプリケーションのデプロイ、GitOps パイプラインの管理、Argo ワークフローの実行など) を管理できるユーザーを制御します。
両方のレベルが必要です。RAM ポリシーだけでは、Kubernetes へのアクセス権は付与されません。
| 権限タイプ | 対象ユーザー | 制御対象 |
|---|---|---|
| サービスリンクロール | 初回セットアップ:Alibaba Cloud アカウントまたは RAM アカウント管理者 | ACK One から他の Alibaba Cloud サービスへのアクセス |
| RAM システムポリシー | RAM ユーザーおよび RAM ロール (Alibaba Cloud アカウントはデフォルトで完全な権限を持っています) | コンソールおよび API を使用した ACK One クラスターリソースへのアクセス |
| RBAC 権限 | RAM ユーザーおよび RAM ロール (Alibaba Cloud アカウントはデフォルトで完全な権限を持っています) | ACK One クラスター内の Kubernetes リソースへのアクセス |
サービスリンクロール
ACK One は、サービスリンクロールを利用して、ユーザーに代わって他の Alibaba Cloud サービス (Elastic Container Instance (ECI) の作成や Virtual Private Cloud (VPC) リソースの管理など) にアクセスします。
各ロールに付与されるすべての権限については、「ACK One のサービスリンクロールの権限」をご参照ください。
| ロール名 | 有効になる機能 |
|---|---|
| AliyunCSDefaultRole | Elastic Compute Service (ECS)、Virtual Private Cloud (VPC)、Server Load Balancer (SLB)、Resource Orchestration Service (ROS)、および Auto Scaling へのクラスター管理アクセス。すべての ACK One 機能に必要です。 |
| AliyunServiceRoleForAdcp | ECS、VPC、および SLB へのクラスター管理アクセス。すべての ACK One 機能に必要です。 |
| AliyunAdcpServerlessKubernetesRole | 分散 Argo ワークフロー用のフリートインスタンスと Kubernetes クラスターから、VPC、ECS、Alibaba Cloud DNS PrivateZone、ECI、および Simple Log Service (SLS) へのアクセス。すべての ACK One 機能に必要です。 |
| AliyunAdcpManagedMseRole | フリートインスタンスから Microservices Engine (MSE) へのアクセス。マルチクラスターゲートウェイにのみ必要です。 |
| AliyunCSManagedKubernetesRole | フリートインスタンスから ACK リソースへのアクセス。 |
| AliyunCSManagedLogRole | ロギングコンポーネントから他の Alibaba Cloud サービスへのアクセス。 |
| AliyunCSManagedCmsRole | CMS コンポーネントから他の Alibaba Cloud サービスへのアクセス。 |
| AliyunCSManagedArmsRole | Application Real-Time Monitoring Service (ARMS) プラグインから他の Alibaba Cloud サービスへのアクセス。 |
サービスリンクロールは自動的に作成されます。初めて ACK One コンソールを開くときに、プロンプトに従って権限付与を完了してください。
Alibaba Cloud アカウントと RAM アカウント管理者のみがロールの権限付与を完了できます。権限エラーが表示された場合は、Alibaba Cloud アカウントに切り替えるか、RAM アカウント管理者に依頼してください。
RAM システムポリシー
デフォルトでは、RAM ユーザーと RAM ロールには権限がありません。以下のシステムポリシーを 1 つ以上アタッチすることで、ACK One クラスターリソースへのアクセスを許可できます。
「RAM ユーザーまたは RAM ロールへのシステム権限ポリシーのアタッチ」をご参照ください。
| RAM システムポリシー | 権限 | 登録済みクラスター | フリートインスタンス | ワークフロークラスター |
|---|---|---|---|---|
| AliyunAdcpFullAccess | すべての ACK One リソースの読み取りおよび書き込み | はい | はい | はい |
| AliyunAdcpReadOnlyAccess | すべての ACK One リソースへの読み取り専用アクセス | はい | はい | はい |
| AliyunCSFullAccess | すべての Container Service for Kubernetes (ACK) リソースの読み取りおよび書き込み | はい | はい | いいえ |
| AliyunCSReadOnlyAccess | すべての ACK リソースへの読み取り専用アクセス | はい | はい | いいえ |
| AliyunVPCReadOnlyAccess | ACK クラスターの作成時に VPC を指定 | はい | はい | はい |
| AliyunECIReadOnlyAccess | Pod を ECI にスケジューリング | はい | はい | はい |
| AliyunLogReadOnlyAccess | クラスターのログプロジェクトの選択、または設定検査データの表示 | はい | はい | はい |
| AliyunARMSReadOnlyAccess | Managed Service for Prometheus プラグインからのモニタリングデータの表示 | はい | はい | はい |
| AliyunRAMReadOnlyAccess | 既存の RAM ポリシーの表示 | はい | はい | はい |
| AliyunECSReadOnlyAccess | 既存のノードを ACK クラスターに追加、またはノード詳細の表示 | はい | いいえ | いいえ |
| AliyunContainerRegistryReadOnlyAccess | Alibaba Cloud アカウント内のアプリケーションイメージの表示 | はい | いいえ | いいえ |
| AliyunAHASReadOnlyAccess | クラスタートポロジー機能の使用 | はい | いいえ | いいえ |
| AliyunYundunSASReadOnlyAccess | ACK クラスターのランタイムモニタリングデータの表示 | はい | いいえ | いいえ |
| AliyunKMSReadOnlyAccess | ACK クラスター作成時に Secret の暗号化を有効化 | はい | いいえ | いいえ |
| AliyunESSReadOnlyAccess | ノードプールの表示、変更、およびスケーリング | はい | いいえ | いいえ |
RBAC 権限
RAM ポリシーは、サービスとしての ACK One へのアクセスを制御しますが、クラスター内の Kubernetes リソースへのアクセスは制御しません。アプリケーションのデプロイ、GitOps パイプラインの管理、Argo ワークフローの実行などの操作には、特定のクラスターと Namespace に RBAC 権限を付与する必要があります。
ACK One は、以下の定義済み RBAC ロールを提供します:
フリートインスタンスとワークフロークラスター
| RBAC ロール | 権限スコープ | フリートインスタンス | ワークフロークラスター |
|---|---|---|---|
| admin (管理者) | クラスター全体のリソースとすべての Namespace に対する読み取りおよび書き込みアクセス | はい | はい |
| dev (開発者) | 指定された Namespace 内のリソースへの読み取りおよび書き込みアクセス | はい | はい |
| gitops-dev (GitOps 開発者) | argocd Namespace 内のアプリケーションリソースへの読み取りおよび書き込みアクセス | はい | いいえ |
「登録済みクラスターでの RBAC 権限」をご参照ください。
「RAM ユーザーまたは RAM ロールへの RBAC 権限の付与」をご参照ください。