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

Container Service for Kubernetes:ack-ram-tool を使用したユーザー権限のクリーンアップ

最終更新日:Mar 25, 2026

ack-ram-tool は、Container Service for Kubernetes が提供するコマンドラインツールであり、Container Service for Kubernetes クラスターおよび Container Service for Kubernetes の権限管理を支援します。ユーザーが組織を退職した場合や、その権限を変更する必要がある場合、ack-ram-tool を使用して、削除済みユーザーの Container Service for Kubernetes 権限を迅速に削除し、セキュリティリスクを軽減できます。

ステップ 1:ack-ram-tool のインストール

  1. お使いの OS およびアーキテクチャに対応した 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. (任意)以下のコマンドを実行して、~/.bash_profilePATH 設定を永続化します:

    echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
    
  5. 以下のコマンドを実行して、インストールを確認します。コマンドの出力にはクライアントのバージョンが表示されます。

    ack-ram-tool version

ステップ 2:Alibaba Cloud の認証情報の設定

RAM ユーザー および CloudSSO ユーザー は、以下のいずれかの方法でクラウドリソースへのアクセスに必要な 認証情報 を構成できます。

説明

環境に認証情報関連の環境変数が存在する場合、ack-ram-tool はデフォルトでこれらを使用します。これらの環境変数を無視するには、ack-ram-tool コマンドを実行する際に --ignore-env-credentials フラグを追加できます。 ack-ram-tool がサポートする認証情報関連の環境変数の詳細については、Credentials」をご参照ください。

RAM ユーザー

ack-ram-tool クライアントは、ローカルに構成された Alibaba Cloud 認証情報 を使用して RAM に対して認証を行います。

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

CloudSSO ユーザー

CloudSSO ユーザー の場合、CloudSSO が提供する CLI ツール acs-sso を使用してログインし、クラウドリソースへのアクセスに必要な 認証情報 を取得できます。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 で使用されるアクセス 認証情報 には、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 User タブをクリックし、対象の RAM ユーザー を検索して、[操作] 列の アクセス権限の管理 をクリックして、Permission Management ページを開きます。

    3. ロール権限の追加 をクリックし、対象の クラスター および Namespace を選択し、Permission ManagementAdmin に設定し、送信 をクリックします。

ステップ 4:RAM ユーザーの RBAC バインディングの照会

ack-ram-tool rbac scan-user-permissions コマンドを実行して、対象の クラスター 内の特定の RAM ユーザーRBAC バインディングを照会できます。

削除済みユーザーおよびロールのバインディングの照会

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

ack-ram-tool rbac scan-user-permissions -c <クラスター 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 ユーザー および RAM ロールRBAC バインディングを表示します。

ack-ram-tool rbac scan-user-permissions --all-users -c <クラスター 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 バインディングを表示します。

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:権限のクリーンアップ

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 ロール の権限をクリーンアップします。

以下のコマンドで使用する <UID> を取得するには、ack-ram-tool rbac scan-user-permissions -c <クラスター ID> コマンドを実行します。

ack-ram-tool rbac cleanup-user-permissions -c <クラスター 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

すべてのクラスターでの権限のクリーンアップ

以下のコマンドを実行して、ご利用の Alibaba Cloud アカウント 内のすべてのクラスターにおいて、特定の RAM ユーザー または 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 ファイルの削除」をご参照ください。