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

Container Service for Kubernetes:クラスター内の指定ユーザーの権限を ack-ram-tool で消去する

最終更新日:Jan 31, 2026

ack-ram-tool は、Container Service for Kubernetes が提供するコマンドラインインターフェイス (CLI) であり、クラスターの Resource Access Management (RAM) および Role-Based Access Control (RBAC) 権限を管理するのに役立ちます。組織からユーザーが退職したり、権限が変更されたりした場合、ack-ram-tool を使用してクラスター内の削除済みユーザーの権限を迅速に消去し、セキュリティリスクを防止してください。

手順 1:ack-ram-tool のインストール

  1. ご利用の環境のアーキテクチャに合わせて、ack-ram-tool クライアントをダウンロードしてください。

  2. 次のコマンドを実行して、クライアントプログラムに実行権限を付与します。

    chmod +x ./ack-ram-tool
  3. 次のコマンドを実行して、ack-ram-tool ファイルをシステムの PATH に含まれるディレクトリにコピーします。

    mkdir -p $HOME/bin && cp ./ack-ram-tool $HOME/bin/ack-ram-tool && export PATH=$HOME/bin:$PATH
  4. (オプション)次のコマンドを実行して、$HOME/bin の PATH 設定を永続化します。

    echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
    
  5. 次のコマンドを実行してクライアントのバージョンを確認します。バージョン番号が返された場合は、ack-ram-tool クライアントが正常にインストールされています。

    ack-ram-tool version

手順 2:Alibaba Cloud 認証情報の構成

Alibaba Cloud RAM ユーザーおよび SSO ユーザーは、以下の方法でクラウドリソースへのアクセス認証情報を構成・取得できます。

説明

現在の環境にアクセス認証情報に関連する環境変数がある場合、ack-ram-tool はそれらの変数で設定された認証情報を優先します。 ack-ram-tool コマンドの実行時に --ignore-env-credentials パラメーターを追加することで、それらを無視できます。 ack-ram-tool がサポートする認証情報関連の環境変数の詳細については、認証情報」をご参照ください

RAM ユーザー

ack-ram-tool クライアントは、RAM への身分認証のために、ローカルに構成された Alibaba Cloud キー認証情報に依存します。

アクセス認証情報の構成方法の詳細については、「Alibaba Cloud CLI」をご参照ください。

SSO ユーザー

Alibaba Cloud SSO ユーザーは、CloudSSO サービスが提供する acs-sso コマンドラインインターフェイス (CLI) ツールを使用してログインし、クラウドリソースへのアクセス認証情報を取得できます。acs-sso の詳細については、「CLI を使用して CloudSSO にログインし、Alibaba Cloud リソースにアクセスする」をご参照ください。Alibaba Cloud CLI ツールは外部モードをサポートしており、これにより外部コマンドラインツールを実行して動的にリソース認証情報を取得できます。次のコマンドを実行して CloudSSO にログインし、ローカルマシンに自動的に認証情報を構成します。

aliyun configure --mode External --profile sso

Configuring profile 'sso' in 'External' authenticate mode...
Process Command [acs-sso login --profile sso]:
Default Region Id [cn-shanghai]:
Default Output Format [json]: json (Only support json)
Default Language [zh|en] en:
Saving profile[sso] ...Done.


Configure Done!!!
..............888888888888888888888 ........=8888888888888888888D=..............
...........88888888888888888888888 ..........D8888888888888888888888I...........
.........,8888888888888ZI: ...........................=Z88D8888888888D..........
.........+88888888 ..........................................88888888D..........
.........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D..........
.........+88888888 ............. ************* ..............O8888888D..........
.........+88888888 .... Command Line Interface(Reloaded) ....O8888888D..........
.........+88888888...........................................88888888D..........
..........D888888888888DO+. ..........................?ND888888888888D..........
...........O8888888888888888888888...........D8888888888888888888888=...........
............ .:D8888888888888888888.........78888888888888888888O ..............

手順 3:ack-ram-tool のアクセス認証情報に必要な権限を構成する

ack-ram-tool で使用するアクセス認証情報には、RAM 権限およびクラスターの RBAC 権限が必要です。

  1. 次の権限を RAM ユーザーに付与します。詳細については、「RAM ユーザーの権限を管理する」をご参照ください。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "cs:*"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ram:ListUsers",
            "ram:ListRoles"
          ],
          "Resource": "*"
        }
      ]
    }
  2. RAM ユーザーにクラスターの RBAC 管理者権限を付与します。

    1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[権限管理] を選択します。

    2. 「承認」ページで、[RAM ユーザー] タブをクリックします。追加する RAM ユーザーを見つけ、右側の列にある[権限の管理]をクリックして、[権限管理] ページに移動します。

    3. [権限の追加] をクリックします。[クラスター][名前空間] を選択します。[権限管理][管理者] に設定し、[権限の送信] をクリックします。

手順 4:クラスター内の指定 RAM ユーザーの RBAC バインディングをクエリする

ack-ram-tool rbac scan-user-permissions コマンドを実行すると、対象クラスター内の指定 RAM ユーザーの RBAC バインディング情報をクエリできます。

削除済み RAM ユーザーおよびロールの RBAC バインディングのみをクエリする

次のコマンドを実行して、クラスター内の削除済み RAM ユーザーおよびロールの RBAC バインディング情報を表示します。

ack-ram-tool rbac scan-user-permissions -c <cluster_ID>

期待される出力:

2023-12-12T15:34:37+08:00 INFO start to scan users and bindings for cluster c401890df511a4362bf24bece4da****
2023-12-12T15:34:43+08:00 WARN by default, only deleted users are included. Use the --all-users flag to include all users
UID                           UserType  UserName  Binding                                                    
30086537005566**** (deleted)  RamRole             ClusterRoleBinding/-/30086537005566****-clusterrolebinding  
24320678733226**** (deleted)  RamUser             ClusterRoleBinding/-/24320678733226****-clusterrolebinding  

次の表は、UserType パラメーターの内容を示しています。

UserType の値

説明

RamRole

RAM ロール

RamUser

RAM ユーザー

Root

Alibaba Cloud アカウント

すべての RAM ユーザーおよびロールの RBAC バインディングをクエリする

次のコマンドを実行して、すべての RAM ユーザーおよびロールの RBAC バインディング情報を表示します。

ack-ram-tool rbac scan-user-permissions --all-users -c <cluster_ID>

期待される出力:

2023-12-12T15:36:00+08:00 INFO Start to scan users and bindings for cluster c401890df511a4362bf24bece4da6****
UID                           UserType  UserName                   Binding                                                                
30032484611590**** (deleted)  RamRole                              ClusterRoleBinding/-/30032484611590****-clusterrolebinding              
20492499986425**** (deleted)  RamUser                              ClusterRoleBinding/-/20492499986425****-clusterrolebinding              
27203272572548****            RamUser   scan                       ClusterRoleBinding/-/27203272572548****-clusterrolebinding        
113802571552****              Root                                 ClusterRoleBinding/-/113802571552****-cluster-admin-clusterrolebinding  
29068913515444****            RamUser   test-ack-ram-check         ClusterRoleBinding/-/29068913515444****-clusterrolebinding  

現在の Alibaba Cloud アカウント配下のすべてのクラスターの RBAC バインディングをクエリする

次のコマンドを実行して、現在の Alibaba Cloud アカウント配下のすべてのクラスターの RBAC バインディング情報を表示します。

ack-ram-tool rbac scan-user-permissions -c all

期待される出力:

2023-12-12T16:44:55+08:00 INFO start to scan users and bindings for all clusters
2023-12-12T16:44:55+08:00 INFO start to get all clusters, users and roles
2023-12-12T16:44:58+08:00 INFO ---- c401890df511a4362bf24bece4da6**** (test-pro111323223) ----
2023-12-12T16:44:58+08:00 INFO [c401890df511a4362bf24bece4da6****] start to scan bindings for cluster c401890df511a4362bf24bece4da6****
2023-12-12T16:45:00+08:00 WARN [c401890df511a4362bf24bece4da6****] by default, only deleted users are included. Use the --all-users flag to include all users
ClusterId: c401890df511a4362bf24bece4da6****
UID                           UserType  UserName  Binding                                                    
30086537005566**** (deleted)  RamRole             ClusterRoleBinding/-/30086537005566****-clusterrolebinding  
20492499986425**** (deleted)  RamUser             ClusterRoleBinding/-/20492499986425****-clusterrolebinding  
2023-12-12T16:45:00+08:00 INFO ---- c137a979dec21472c8279c903cfc**** (test-pro) ----
2023-12-12T16:45:00+08:00 INFO [c137a979dec21472c8279c903cfce****] start to scan bindings for cluster c137a979dec21472c8279c903cfce****
2023-12-12T16:45:01+08:00 WARN [c137a979dec21472c8279c903cfce****] by default, only deleted users are included. Use the --all-users flag to include all users
ClusterId: c137a979dec21472c8279c903cfce****
UID                           UserType  UserName  Binding                                                    
30086537005566**** (deleted)  RamRole             ClusterRoleBinding/-/30086537005566****-clusterrolebinding  
24320678733226**** (deleted)  RamUser             ClusterRoleBinding/-/24320678733226****-clusterrolebinding  

手順 5:指定 RAM ユーザーまたは RAM ロールの RBAC バインディングを消去し、kubeconfig 権限をパージする

ack-ram-tool rbac cleanup-user-permissions コマンドを実行すると、対象クラスター内の指定 RAM ユーザーまたは RAM ロールの RBAC バインディングを消去し、そのユーザーの kubeconfig をパージできます。

重要
  • ログに this user has been active in the past 7 days というメッセージが含まれている場合、対象の RAM ユーザーまたは RAM ロールは過去 7 日以内にクラスターへのアクセス記録があります。操作には十分ご注意ください。

  • 消去操作の前に、ack-ram-tool は削除対象のバインディングの元の JSON ファイルを、現在のディレクトリ内にクラスター ID で命名されたフォルダにバックアップします。

単一クラスター内の RAM ユーザーまたは RAM ロールの権限を消去する

次のコマンドを実行して、単一クラスター内の指定 RAM ユーザーまたは RAM ロールの権限を消去します。

次のコマンド中の <UID> を取得するには、ack-ram-tool rbac scan-user-permissions -c <cluster_ID> コマンドを実行してください。

ack-ram-tool rbac cleanup-user-permissions -c <cluster_ID> -u <UID>

期待される出力:

期待される出力を表示する

2023-12-12T18:17:10+08:00 INFO start to scan users and bindings
2023-12-12T18:17:15+08:00 WARN we will clean up RBAC bindings as follows:
UID                 UserType  UserName   Binding                                                    
25908395708943****  RamUser   ack-admin  ClusterRoleBinding/-/25908395708943****-clusterrolebinding  
2023-12-12T18:17:15+08:00 WARN we will clean up kubeconfig permissions for users as follows:
UID: 25908395708943****
2023-12-12T18:17:15+08:00 INFO start to check cluster audit log for user 25908395708943****
2023-12-12T18:17:16+08:00 WARN this user has been active in the past 7 days, and the last activity time was: 2023-12-12T10:27:56+08:00. You will find the relevant audit log details below:
sls project: k8s-log-c137a979dec21472c8279c903cfce****
sls logstore: audit-c137a979dec21472c8279c903cfce****
last activity: 2023-12-12T10:27:56+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76e****)
? Are you sure you want to clean up these bindings and permissions? Yes
2023-12-12T18:17:37+08:00 INFO start to backup binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T18:17:38+08:00 INFO the origin binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding have been backed up to file c137a979dec21472c8279c903cfce****/ClusterRoleBinding--25908395708943****-clusterrolebinding.json
2023-12-12T18:17:38+08:00 INFO start to clean up kubeconfig permissions for uid 25908395708943****
2023-12-12T18:17:38+08:00 INFO finished clean up kubeconfig permissions for uid 25908395708943****
2023-12-12T18:17:38+08:00 INFO all bindings and permissions have been cleaned up

すべてのクラスターにおける RAM ユーザーまたは RAM ロールの権限を消去する

次のコマンドを実行して、現在の Alibaba Cloud アカウント配下のすべてのクラスターにおいて、指定 RAM ユーザーまたはロールの RBAC バインディングを消去し、その kubeconfig をパージします。

ack-ram-tool rbac cleanup-user-permissions -c all -u <UID>

期待される出力:

期待される出力を表示する

2023-12-12T19:28:23+08:00 INFO start to scan users and bindings for all clusters
2023-12-12T19:28:23+08:00 INFO start to get all clusters, users and roles
2023-12-12T19:28:24+08:00 INFO ---- c401890df511a4362bf24bece4da6**** (test-pro111323223) ----
2023-12-12T19:28:24+08:00 INFO [c401890df511a4362bf24bece4da6****] start to clean up bindings and permissions for cluster c401890df511a4362bf24bece4da6**** 
2023-12-12T19:28:24+08:00 INFO [c401890df511a4362bf24bece4da6****] start to scan users and bindings
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] we will clean up RBAC bindings as follows:
UID                 UserType  UserName   Binding                                                    
25908395708943****  RamUser   ack-admin  ClusterRoleBinding/-/25908395708943****-clusterrolebinding  
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] we will clean up kubeconfig permissions for users as follows:
UID: 259083957089437690
2023-12-12T19:28:25+08:00 INFO [c401890df511a4362bf24bece4da6****] start to check cluster audit log for user 25908395708943**** 
2023-12-12T19:28:25+08:00 WARN [c401890df511a4362bf24bece4da6****] this user has been active in the past 7 days, and the last activity time was: 2023-12-12T10:27:56+08:00. You will find the relevant audit log details below:
sls project: k8s-log-c401890df511a4362bf24bece4da****  
sls logstore: audit-c401890df511a4362bf24bece4da6**** 
last activity: 2023-12-12T10:27:56+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76****)
? Are you sure you want to clean up these bindings and permissions? Yes
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] start to backup binding ClusterRoleBinding/-/25908395708943**** -clusterrolebinding
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] the origin binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding have been backed up to file c401890df511a4362bf24bece4da6**** /ClusterRoleBinding--259083957089437XXX-clusterrolebinding.json
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] start to clean up kubeconfig permissions for uid 25908395708943**** 
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] finished clean up kubeconfig permissions for uid 25908395708943**** 
2023-12-12T19:28:49+08:00 INFO [c401890df511a4362bf24bece4da6****] all bindings and permissions have been cleaned up
2023-12-12T19:28:49+08:00 INFO ---- c137a979dec21472c8279c903cfce****  (test-pro) ----
2023-12-12T19:28:49+08:00 INFO [c137a979dec21472c8279c903cfce****] start to clean up bindings and permissions for cluster c137a979dec21472c8279c903cfce**** 
2023-12-12T19:28:49+08:00 INFO [c137a979dec21472c8279c903cfce****] start to scan users and bindings
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] we will clean up RBAC bindings as follows:
UID                 UserType  UserName   Binding                                                    
25908395708943****   RamUser   ack-admin  ClusterRoleBinding/-/25908395708943**** -clusterrolebinding  
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] we will clean up kubeconfig permissions for users as follows:
UID: 25908395708943**** 
2023-12-12T19:28:51+08:00 INFO [c137a979dec21472c8279c903cfce****] start to check cluster audit log for user 25908395708943**** 
2023-12-12T19:28:51+08:00 WARN [c137a979dec21472c8279c903cfce****] this user has been active in the past 7 days, and the last activity time was: 2023-12-12T17:55:50+08:00. You will find the relevant audit log details below:
sls project: k8s-log-c137a979dec21472c8279c903cfce**** 
sls logstore: audit-c137a979dec21472c8279c903cfce**** 
last activity: 2023-12-12T17:55:50+08:00 (auditID: 8f6f1483-77f3-44b3-85cb-f23d1a76****)
? Are you sure you want to clean up these bindings and permissions? Yes
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] start to backup binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] the origin binding ClusterRoleBinding/-/25908395708943****-clusterrolebinding have been backed up to file c137a979dec21472c8279c903cfce**** /ClusterRoleBinding--25908395708943**** -clusterrolebinding.json
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] start to clean up kubeconfig permissions for uid 25908395708943**** 
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] finished clean up kubeconfig permissions for uid 25908395708943**** 
2023-12-12T19:28:52+08:00 INFO [c137a979dec21472c8279c903cfce****] all bindings and permissions have been cleaned up

参照情報

kubeconfig の管理方法の詳細については、「kubeconfig のパージ」をご参照ください。