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

Container Service for Kubernetes:権限付与の概要

最終更新日:Sep 23, 2025

Container Service for Kubernetes (ACK) の認証システムは、Resource Access Management (RAM) 認証とロールベースアクセス制御 (RBAC) 認証で構成されています。 RAM と RBAC を使用して、クラウドリソースと ACK クラスタ内のリソースに対して柔軟で階層的な権限制御を実施できます。

認証システム

ACK の認証システムは、RAM 認証と RBAC 認証で構成されています。 RAM 認証は、クラウドリソースに対する権限を付与するために使用されます。 RBAC 認証は、クラスタ内の Kubernetes リソースに対する権限を付与するために使用されます。次の図は、ACK の認証システムを示しています。

  • RAM 認証: RAM のシステムポリシーとカスタムポリシーに基づいています。この認証システムは、ACK およびその他の Alibaba Cloud サービスの API 操作に対する権限を付与し、次の運用管理操作をサポートするために使用されます。

    • クラスタの作成、表示、スペックアップ、および削除。

    • ノードプールの作成、変更、およびスケーリング。

    • 認証の管理。

    • クラスタの監視、ログとイベントの収集。

  • RBAC 認証: Kubernetes RBAC に基づいています。この認証システムは、ACK クラスタ内の Kubernetes リソースに対する権限を付与し、運用管理操作をサポートするために使用されます。ほとんどの場合、RBAC 認証を使用して、次の Kubernetes リソースオブジェクトを追加、削除、変更、およびクエリするための権限を付与できます。

    • ワークロードリソース: Deployment、StatefulSet、DaemonSet、Job、CronJob、ポッド、および ReplicaSet。

    • ネットワークリソース: Service、Ingress、および NetworkPolicy。

    • ストレージリソース: 永続ボリューム (PV)、永続ボリューム要求 (PVC)、および StorageClass。

    • Namespace、ConfigMap、および Secret。

認証タイプ

認証タイプ

認証が必要

説明

RAM 認証

  • RAM ユーザーまたは RAM ロール: RAM ユーザーまたは RAM ロールにポリシーをアタッチする必要があります。

  • Alibaba Cloud アカウント: デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。認証は必要ありません。

  • サービスロール: ACK を初めて使用する場合は、Alibaba Cloud アカウントまたは RAM アカウント管理者 (RAM ユーザー) で認証を完了する必要があります。

  • RAM 認証では、システムポリシーまたはカスタムポリシーを RAM ユーザーまたは RAM ロールにアタッチできます。認証が完了した後でのみ、RAM ユーザーまたは RAM ロールは他の Alibaba Cloud サービスのリソースにアクセスできます。

  • ACK にサービスロールを割り当てた後、そのロールを偽装して ACK クラスタおよび他の Alibaba Cloud サービスのリソースにアクセスできます。 ACK のサービスロールの詳細については、「ACK ロール」をご参照ください。

RBAC 認証

  • RAM ユーザーまたは RAM ロール: RAM ユーザーまたは RAM ロールにポリシーをアタッチする必要があります。

  • Alibaba Cloud アカウント: デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。認証は必要ありません。

認証が完了した後でのみ、RAM ユーザーまたは RAM ロールは ACK One クラスタ内の Kubernetes リソースを管理する権限を持ちます。

RAM 認証

デフォルトでは、RAM ユーザーまたは RAM ロールはクラウドサービス API を使用する権限を持っていません。 RAM ユーザーまたは RAM ロールを使用してクラウドリソースを管理する前に、必要な権限を RAM ユーザーまたは RAM ロールに付与する必要があります。 RAM 認証では、システムポリシーまたはカスタムポリシーを RAM ユーザーまたは RAM ロールにアタッチできます。 詳細については、「RAM を使用してクラスタとクラウドリソースにアクセスするための権限を付与する」をご参照ください。

シナリオ

  • ラベルを使用してクラスタを分類し、RAM ポリシーでラベルを条件として構成して、きめ細かいアクセス制御を実装できます。 これにより、異なるユーザーにクラスタに対する異なる権限が付与されます。 詳細については、「ラベルを使用してきめ細かいアクセス制御を実装する」をご参照ください。

  • ワーカー RAM ロールを使用してクラスタ内の特定のアプリケーションに権限を付与すると、クラスタ内のすべてのノードに権限が付与されます。 これにより、権限の乱用のリスクが高まる可能性があります。 この問題に対処するために、ノードプールを作成するときに、異なるカスタムワーカー RAM ロールを異なるノードプールに割り当てることをお勧めします。 これにより、異なるノードプールが異なる RAM ロールを使用します。 詳細については、「カスタムワーカー RAM ロールを使用する」をご参照ください。

  • ACK クラスタ内のアプリケーションから他のクラウドサービスへの安全なアクセスを確保するために、RAM Roles for Service Accounts (RRSA) 機能を使用して、ポッドに対する API 権限制御を行うことができます。 詳細については、「RRSA を使用して異なるポッドに異なるクラウドサービスへのアクセスを許可する」をご参照ください。

  • ACK マネージドクラスター のノードセキュリティを確保するために、最小権限の原則に基づいて、クラスターのワーカー RAM ロールの権限を手動で制限できます。 詳細については、「ACK マネージドクラスターのワーカー RAM ロールの権限を手動で制限する」をご参照ください。

RBAC 認証

RBAC 認証では、クラスタ内の Kubernetes リソースに対する権限のみを付与できます。 たとえば、RBAC 認証を使用して、クラスタ内のポッドまたはノードに関する情報をクエリする権限など、リソースに対する権限を RAM ユーザーまたは RAM ロールに付与できます。 RBAC 認証は、ACK コンソールの [認証] ページで実行できます。

Kubernetes RBAC は、RBAC ロールを RAM ユーザーまたは RAM ロールにバインドするために使用できる次のリソースオブジェクトを提供します。 Kubernetes RBAC は、許可権限のみをサポートします。 ClusterRole と Role の構成方法の詳細については、「カスタム RBAC ロールを使用して RAM ユーザーまたは RAM ロールの権限を制限する」をご参照ください。

  • Role: Role は、特定の名前空間内の権限を定義します。

  • RoleBinding: RoleBinding は、Role をユーザーにバインドするために使用されます。

  • ClusterRole: ClusterRole は、クラスタ全体の権限を定義します。

  • ClusterRoleBinding: ClusterRoleBinding は、ClusterRole をユーザーにバインドするために使用されます。

重要

ACK では、カスタム ClusterRole のみを RAM ユーザーまたは RAM ロールにバインドできます。 カスタム Role を RAM ユーザーまたは RAM ロールにバインドすることはできません。

ACK コンソール で、次の定義済みロールを RAM ユーザーまたは RAM ロールに割り当てることができます。 詳細については、「RBAC を使用してクラスタ内のリソースに対する操作権限を管理する」をご参照ください。

表 1. ロールと権限

定義済みロール

クラスタリソースに対する RBAC 権限

管理者

すべての名前空間内のすべての Kubernetes リソース、およびノード、PV、名前空間、リソースクォータなどのクラスターレベルのリソースに対する完全な読み取り/書き込み RBAC 権限。

読み取り専用管理者

すべての名前空間内のすべての Kubernetes リソース、およびノード、PV、名前空間、リソースクォータなどのクラスターレベルのリソースに対する読み取り専用の RBAC 権限。

運用エンジニア

次の RBAC 権限を付与します。

  • すべての名前空間でコンソールに表示されるすべての Kubernetes リソースへの読み取り/書き込みアクセス。

  • クラスターノード、PV、および名前空間への読み取りおよび更新アクセス。

  • 他のすべてのリソースへの読み取り専用アクセス。

開発者

コンソールに表示される Kubernetes リソースへの読み取り/書き込み RBAC アクセス。範囲はすべての名前空間または特定の名前空間の選択に限定されます。

制限付きユーザー

コンソールに表示される Kubernetes リソースへの読み取り専用 RBAC アクセス。範囲はすべての名前空間または特定の名前空間の選択に限定されます。

カスタム

権限は、選択した ClusterRole によって決定されます。意図しない権限を RAM ユーザーまたはロールに割り当てることを避けるために、付与する前に選択した ClusterRole で定義されている権限を確認してください。カスタム権限の詳細については、「カスタム RBAC を使用してクラスターリソースに対する操作を制限する」をご参照ください。

重要

cluster-admin ロールを RAM ユーザーまたは RAM ロールに割り当てると、ユーザーまたはロールは所属する Alibaba Cloud アカウントと同じ権限を取得します。 これにより、クラスタ内のすべてのリソースに対する完全制御が付与されます。 cluster-admin ロールを RAM ユーザーまたは RAM ロールに割り当てる場合は注意してください。

RAM ユーザーまたは RAM ロールにクラスタとアプリケーションを管理および保守するための権限を付与するには、RAM 認証と RBAC 認証を順番に実行する必要があります。 RBAC 認証を実行する前に、RAM 認証を完了する必要があります。 さまざまなシナリオで認証を完了するには、次のトピックを参照してください。

重要

退職した従業員または権限のない個人の場合、RAM ユーザーまたは RAM ロールを削除しても、kubeconfig ファイルにある RBAC 権限は自動的には取り消されません。 したがって、ユーザーの RAM ユーザーまたは RAM ロールを削除した後、ユーザーから kubeconfig ファイルを取り消す必要があります。 詳細については、「kubeconfig ファイルを削除する」をご参照ください。