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

Container Service for Kubernetes:ack-ram-toolを使用して、ACKクラスター上の指定されたユーザーの権限を取り消す

最終更新日:Oct 31, 2024

ack-ram-toolは、Container Service for Kubernetes (ACK) が提供するコマンドラインツールで、ACKクラスターでのRAM (Resource Access Management) 権限とRBAC (Role-Based Access Control) 権限の管理に役立ちます。 ack-ram-toolを使用して、セキュリティ上のリスクを回避するために削除されたユーザーの権限を変更または取り消すことができます。

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

  1. 次のいずれかのコマンドを実行して、オペレーティングシステムにack-ram-toolをインストールして構成します。

    Darwin_arm64でack-ram-toolをインストールおよび設定するためのコマンドを表示

    cd /tmp
    wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Darwin_arm64.tar.gz
    tar zxvf ack-ram-tool_0.18.0_Darwin_arm64.tar.gz
    cp ack-ram-tool /usr/local/bin
    ack-ram-tool version

    Darwin_x86_64でack-ram-toolをインストールおよび設定するためのコマンドを表示

    cd /tmp
    wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Darwin_x86_64.tar.gz
    tar zxvf ack-ram-tool_0.18.0_Darwin_x86_64.tar.gz
    cp ack-ram-tool /usr/local/bin
    ack-ram-tool version

    Linux_arm64でack-ram-toolをインストールおよび設定するためのコマンドを表示

    cd /tmp
    wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Linux_arm64.tar.gz 
    tar zxvf ack-ram-tool_0.18.0_Linux_arm64.tar.gz
    cp ack-ram-tool /usr/local/bin
    ack-ram-tool version

    Linux_x86_64でack-ram-toolをインストールおよび設定するためのコマンドを表示

    cd /tmp
    wget https://ack-ram-tool.oss-cn-hangzhou.aliyuncs.com/dist/v0.18.0/ack-ram-tool_0.18.0_Linux_x86_64.tar.gz
    tar zxvf ack-ram-tool_0.18.0_Linux_x86_64.tar.gz
    cp ack-ram-tool /usr/local/bin
    ack-ram-tool version
  2. 次のいずれかの方法を使用して、ack-ram-toolに必要な資格情報を設定できます。

    • 次の環境変数から資格情報を自動的に読み取ります。

      • ALIBABA_CLOUD_ACCESS_KEY_ID

      • ALIBABA_CLOUD_ACCESS_KEY_SECRET

      • ALIBABA_CLOUD_SECURITY_TOKEN SECURITY_TOKENを取得する方法の詳細については、「STSとは」をご参照ください。

    • aliyun CLIの設定ファイル ~/.aliyun/config.jsonから資格情報を読み取ります。 詳細については、「プロファイルの設定」をご参照ください。

手順2: 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. [権限の追加] をクリックし、[クラスター][名前空間] を指定し、[権限管理][管理者] に設定し、[送信] をクリックします。

手順3: クラスター内の指定されたRAMユーザーとRAMロールのRBACバインディングの照会

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

削除されたRAMユーザーとRAMロールのRBACバインディングのみを照会

次のコマンドを実行して、クラスターで削除されたRAMユーザーと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ユーザーとRAMロールのRBACバインディングの照会

次のコマンドを実行して、すべてのRAMユーザーと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  

手順4: クラスター内の指定されたRAMユーザーとRAMロールのRBACバインディングを削除し、kubeconfigファイルを削除する

ack-ram-tool rbac cleanup-user-permissionsコマンドを実行して、クラスター内の指定されたRAMユーザーとロールのRBACバインディングを削除し、kubeconfigファイルを削除します。

重要
  • ログにこのユーザーが過去7日間アクティブだったと表示された場合、RAMユーザーまたはRAMロールは過去7日間にクラスターにアクセスしました。 この手順を実行するときは注意が必要です。

  • ack-ram-toolがRBACバインディングJSONファイルを削除する前に、RBACバインディングJSONファイルのバックアップをクラスターIDにちなんで名付けられたフォルダーに作成します。

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

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

ack-ram-tool rbac scan-user-permissions -c <Cluster ID> コマンドを実行して、<UID> の値を取得します。

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ユーザーまたは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ファイルの削除」をご参照ください。