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

Container Service for Kubernetes:クラスターのkubeconfigファイルを取り消す

最終更新日:Oct 31, 2024

マルチテナントシナリオでは、Container Service for Kubernetes (ACK) が署名し、ID情報を含むkubeconfigファイルを異なるロールを持つユーザーに発行します。 kubeconfigファイルを使用してACKクラスターに接続できます。 従業員が辞任した場合、または発行されたkubeconfigファイルが公開された場合、kubeconfigファイルを取り消して、kubeconfigファイルを使用してアクセスできるクラスターを保護できます。 このトピックでは、Alibaba CloudアカウントまたはResource Access Management (RAM) ユーザーを使用して、発行されたkubeconfigファイルを取り消す方法について説明します。

使用上の注意

クラスターの制限

  • ACK管理クラスターまたはACK専用クラスターへのアクセスに使用されるkubeconfigファイルを取り消すには、2019年10月15日以降にクラスターを作成する必要があります。

  • ACKサーバーレスクラスターへのアクセスに使用されるkubeconfigファイルを取り消すには、2019年9月6日以降にクラスターを作成する必要があります。

適用シナリオ

次のシナリオでは、kubeconfigファイルを取り消す必要があります。

  • Alibaba Cloudアカウントを使用して、Alibaba Cloudアカウントで管理されているRAMユーザーのkubeconfigファイルを取り消します。

  • RAMユーザーを使用して、RAMユーザーのkubeconfigファイルを取り消します。

クラスターへのアクセスに使用されたkubeconfigファイルを取り消すと、システムは自動的に新しいkubeconfigファイルをクラスターに割り当てます。

Alibaba Cloudアカウントを使用して、Alibaba Cloudアカウントが管理するすべてのRAMユーザーのkubeconfigファイルを取り消す

重要

Alibaba Cloudアカウントを使用して、Alibaba Cloudアカウントが管理するRAMユーザーまたはRAMロールのみのkubeconfigファイルを取り消すことができます。

Alibaba Cloudアカウントを使用してACKコンソールにログインし、次の手順を実行します。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[権限付与] をクリックします。

  2. [RAMユーザー] タブのRAMユーザーリストで、RAMユーザーの [KubeConfig Management] をクリックして、RAMユーザーが作成したクラスターのリストを表示します。 次に、指示に従ってkubeconfigファイルを取り消します。

RAMユーザーを使用してRAMユーザーのkubeconfigファイルを取り消す

RAMユーザーを使用してACKコンソールにログインし、次の手順を実行します。

重要

kubeconfigファイルが取り消されると、RAMユーザーはkubeconfigファイルを使用して対応するクラスターにアクセスできなくなります。 作業は慎重に行ってください。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[クラスター情報] をクリックします。

  3. [接続情報] タブをクリックし、[KubeConfigの取り消し] をクリックし、[OK] をクリックします。

辞任した従業員または信頼できないユーザーのkubeconfigファイルを取り消す

辞任した従業員または信頼できないユーザーが使用しているRAMユーザーまたはRAMロールを削除するには、まずAlibaba Cloudアカウントを使用してRAMユーザーまたはRAMロールのkubeconfigファイルを取り消す必要があります。 RAMユーザーまたはRAMロールのみを削除しても、RAMユーザーまたはRAMロールのkubeconfigファイルのrole-Based Access Control (RBAC) 権限は取り消されません。

重要

kubeconfigファイルを取り消す前に、対応するクラスター内のアプリケーションがkubeconfigファイルの権限に依存していないことを確認してください。 詳細については、「Alibaba Cloudアカウントを使用したRAMユーザーのkubeconfigファイルの取り消し」をご参照ください。

辞任した従業員または信頼できないユーザーが使用していたRAMユーザーを誤って削除したが、kubeconfigファイルを取り消していない場合は、次の手順を実行します。 RAMユーザーを削除する前に、RAMユーザーのkubeconfigファイルを取り消すことを推奨します。

クリックして、RAMユーザーが削除されたときにRAMユーザーのkubeconfigファイルを取り消す方法を表示します

  • RAMユーザーがごみ箱にある場合

    1. ごみ箱からRAMユーザーの基本情報を復元します。 RAMユーザーのAccessKeyペアを復元する必要はありません。 詳細については、「RAM ユーザーの削除」をご参照ください。

    2. Alibaba Cloudアカウントを使用して、RAMユーザーによって作成されたすべてのクラスターのkubeconfigファイルを取り消します。 詳細については、「Alibaba Cloudアカウントを使用したRAMユーザーのkubeconfigファイルの取り消し」をご参照ください。

    3. RAMユーザーをごみ箱に移動します。 詳細については、「RAM ユーザーの削除」をご参照ください。

  • RAMユーザーが完全に削除された場合: この場合、クラスター内のRAMユーザーまたはRAMロールのIDで始まるRBACバインディングを手動で削除する必要があります。

    1. クラスター管理者として次のコマンドを実行し、クラスター内のすべてのClusterRoleBindingsを表示します。

      kubectl get clusterrolebinding

      ACKの承認モジュールによって発行されるClusterRoleBindingsは、xxxxxxx-clusterrolebinding形式で命名されます。 xxxxxxxは、RAMユーザーまたはRAMロールのIDを示します。 IDが2で始まる場合、それはRAMユーザーバインディングです。 IDが3で始まる場合、それはRAMロールバインディングです。Container Service for Kubernetes

    2. クラスター管理者として次のコマンドを実行し、ACKの承認モジュールによって発行されたすべてのRoleBindingsを表示します。Container Service for Kubernetes

      kubectl get rolebinding -A | grep 'cs:ns:' 

      RoleBindingsの名前は、xxxxxxx-yyyyy-rolebinding形式です。 xxxxxxxは、RAMユーザーまたはRAMロールのIDを示します。 IDが2で始まる場合、それはRAMユーザーバインディングです。 IDが3で始まる場合、それはRAMロールバインディングです。

    3. 2で始まるRAMユーザーバインディングの場合は、RAMコンソールにログインします。 [ユーザー] ページで、RAMユーザーIDを検索して、RAMユーザーが存在するかどうかを確認します。 RAMユーザーが見つからない場合は、バインディングを削除する必要があります。

    4. 3で始まるRAMロールバインディングの場合、ListRoles APIを呼び出して、使用中のRAMロールのIDを表示します。 返されたリストにRAMロールIDが存在しない場合は、バインディングを削除する必要があります。

    5. RBACバインディングを削除するには、kubectl delete clusterrolebinding xxxxxxxxx-clusterrolebindingまたはkubectl delete rolebinding xxxxxxx-yyyy-rolebinding -n zzzzコマンドを実行します。 zzzzは、RoleBindingsの名前空間を示します。