This is an automated email from the ASF dual-hosted git repository.

vernedeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 2daa160dde [INLONG-8531][Manager] Restrict cluster permission to 
Inlong administrator (#8532)
2daa160dde is described below

commit 2daa160dde37b2be88aa4901070f9c92980d997e
Author: vernedeng <[email protected]>
AuthorDate: Thu Jul 13 19:43:23 2023 +0800

    [INLONG-8531][Manager] Restrict cluster permission to Inlong administrator 
(#8532)
    
    * [INLONG-8531][Manager] Restrict cluster permission to Inlong administrator
---
 .../manager/dao/entity/InlongClusterEntity.java    |  1 -
 .../manager/dao/entity/InlongClusterTagEntity.java |  1 -
 .../dao/mapper/InlongClusterEntityMapper.java      |  3 --
 .../dao/mapper/InlongClusterTagEntityMapper.java   |  2 -
 .../mappers/InlongClusterEntityMapper.xml          | 50 ++++++++++------------
 .../mappers/InlongClusterTagEntityMapper.xml       | 26 +++++------
 .../resources/mappers/InlongGroupEntityMapper.xml  |  6 +--
 .../dao/mapper/InlongClusterEntityMapperTest.java  | 23 ----------
 .../manager/pojo/cluster/ClusterPageRequest.java   |  3 --
 .../manager/pojo/cluster/ClusterRequest.java       |  4 --
 .../pojo/cluster/ClusterTagPageRequest.java        |  3 --
 .../manager/pojo/cluster/ClusterTagRequest.java    |  4 --
 .../service/core/impl/AgentServiceTest.java        |  2 +
 .../main/resources/h2/apache_inlong_manager.sql    |  2 -
 .../manager-web/sql/apache_inlong_manager.sql      |  5 +--
 inlong-manager/manager-web/sql/changes-1.8.0.sql   | 14 +-----
 .../web/controller/InlongClusterController.java    | 23 +++++-----
 17 files changed, 52 insertions(+), 120 deletions(-)

diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
index 0e0e6f079f..98d150d0bb 100644
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
+++ 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
@@ -42,7 +42,6 @@ public class InlongClusterEntity implements Serializable {
     private String extParams;
     private String description;
     private String heartbeat;
-    private String tenant;
     private String inCharges;
 
     private Integer status;
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
index 55afa3396d..a92390cd9a 100644
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
+++ 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
@@ -33,7 +33,6 @@ public class InlongClusterTagEntity implements Serializable {
     private String clusterTag;
     private String extParams;
     private String description;
-    private String tenant;
     private String inCharges;
 
     private Integer status;
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
index d6ae75ef1a..ce2644691d 100644
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
+++ 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
@@ -17,7 +17,6 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.common.tenant.MultiTenantQuery;
 import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
 import org.apache.inlong.manager.pojo.cluster.ClusterPageRequest;
 import org.apache.inlong.manager.pojo.sort.standalone.SortSourceClusterInfo;
@@ -30,7 +29,6 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
-@MultiTenantQuery
 @Repository
 public interface InlongClusterEntityMapper {
 
@@ -55,7 +53,6 @@ public interface InlongClusterEntityMapper {
      *
      * @return All cluster info.
      */
-    @MultiTenantQuery(with = false)
     @Options(resultSetType = ResultSetType.FORWARD_ONLY, fetchSize = 
Integer.MIN_VALUE)
     Cursor<SortSourceClusterInfo> selectAllClusters();
 
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
index 44b7640650..0afed687f0 100644
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
+++ 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
@@ -17,7 +17,6 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.common.tenant.MultiTenantQuery;
 import org.apache.inlong.manager.dao.entity.InlongClusterTagEntity;
 import org.apache.inlong.manager.pojo.cluster.ClusterTagPageRequest;
 
@@ -26,7 +25,6 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
-@MultiTenantQuery
 @Repository
 public interface InlongClusterTagEntityMapper {
 
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
index e513afe492..e95cf6de36 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
@@ -32,7 +32,6 @@
         <result column="ext_params" jdbcType="LONGVARCHAR" 
property="extParams"/>
         <result column="description" jdbcType="VARCHAR" 
property="description"/>
         <result column="heartbeat" jdbcType="LONGVARCHAR" 
property="heartbeat"/>
-        <result column="tenant" jdbcType="VARCHAR" property="tenant"/>
         <result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
         <result column="status" jdbcType="INTEGER" property="status"/>
         <result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
@@ -43,7 +42,7 @@
         <result column="version" jdbcType="INTEGER" property="version"/>
     </resultMap>
     <sql id="Base_Column_List">
-        id, name, display_name, type, url, cluster_tags, ext_tag, token, 
ext_params, description, heartbeat, tenant,
+        id, name, display_name, type, url, cluster_tags, ext_tag, token, 
ext_params, description, heartbeat,
         in_charges, status, is_deleted, creator, modifier, create_time, 
modify_time, version
     </sql>
 
@@ -52,14 +51,13 @@
         insert into inlong_cluster (id, name, display_name, type,
                                     url, cluster_tags, ext_tag,
                                     token, ext_params, description,
-                                    heartbeat, tenant, in_charges,
+                                    heartbeat, in_charges,
                                     status, creator, modifier)
         values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
#{displayName,jdbcType=VARCHAR},
                 #{type,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, 
#{clusterTags,jdbcType=VARCHAR},
                 #{extTag,jdbcType=VARCHAR}, #{token,jdbcType=VARCHAR}, 
#{extParams,jdbcType=LONGVARCHAR},
-                #{description, jdbcType=VARCHAR}, 
#{heartbeat,jdbcType=LONGVARCHAR}, #{tenant,jdbcType=VARCHAR},
-                #{inCharges,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
#{creator,jdbcType=VARCHAR},
-                #{modifier,jdbcType=VARCHAR})
+                #{description, jdbcType=VARCHAR}, 
#{heartbeat,jdbcType=LONGVARCHAR}, #{inCharges,jdbcType=VARCHAR},
+                #{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR}, 
#{modifier,jdbcType=VARCHAR})
     </insert>
 
     <insert id="insertOnDuplicateKeyUpdate" useGeneratedKeys="true" 
keyProperty="id"
@@ -67,30 +65,28 @@
         insert into inlong_cluster (id, name, display_name, type,
                                     url, cluster_tags, ext_tag,
                                     token, ext_params, heartbeat,
-                                    tenant, in_charges, status,
+                                    in_charges, status,
                                     creator, modifier)
         values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
#{displayName,jdbcType=VARCHAR},
                 #{type,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, 
#{clusterTags,jdbcType=VARCHAR},
                 #{extTag,jdbcType=VARCHAR},#{token,jdbcType=VARCHAR}, 
#{extParams,jdbcType=LONGVARCHAR},
-                #{heartbeat,jdbcType=LONGVARCHAR}, #{tenant,jdbcType=VARCHAR}, 
#{inCharges,jdbcType=VARCHAR},
-                #{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR}, 
#{modifier,jdbcType=VARCHAR})
+                #{heartbeat,jdbcType=LONGVARCHAR}, 
#{inCharges,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
+                #{creator,jdbcType=VARCHAR}, #{modifier,jdbcType=VARCHAR})
         ON DUPLICATE KEY UPDATE cluster_tags = VALUES(cluster_tags),
                                 ext_tag      = VALUES(ext_tag),
                                 token        = VALUES(token),
                                 ext_params   = VALUES(ext_params),
                                 heartbeat    = VALUES(heartbeat),
-                                tenant       = VALUES(tenant),
                                 in_charges   = VALUES(in_charges),
                                 status       = VALUES(status),
                                 modifier     = VALUES(modifier)
     </insert>
 
-    <select id="selectById" resultMap="BaseResultMap">
+    <select id="selectById" parameterType="java.lang.Integer" 
resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
         from inlong_cluster
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and is_deleted = 0
+        where is_deleted = 0
         and id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByKey" 
resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
@@ -98,8 +94,7 @@
         <include refid="Base_Column_List"/>
         from inlong_cluster
         <where>
-            tenant = #{tenant,jdbcType=VARCHAR}
-            and is_deleted = 0
+            is_deleted = 0
             <if test="type != null and type != ''">
                 and type = #{type, jdbcType=VARCHAR}
             </if>
@@ -117,8 +112,7 @@
         <include refid="Base_Column_List"/>
         from inlong_cluster
         <where>
-            tenant = #{tenant,jdbcType=VARCHAR}
-            and is_deleted = 0
+            is_deleted = 0
             <if test="type != null and type != ''">
                 and type = #{type, jdbcType=VARCHAR}
             </if>
@@ -135,8 +129,7 @@
         <include refid="Base_Column_List"/>
         from inlong_cluster
         <where>
-            tenant = #{tenant,jdbcType=VARCHAR}
-            and is_deleted = 0
+            is_deleted = 0
             <if test="name != null and name != ''">
                 and name = #{name, jdbcType=VARCHAR}
             </if>
@@ -168,6 +161,11 @@
                 or ext_tag like CONCAT('%', #{keyword}, '%')
                 )
             </if>
+            <if test="isAdminRole == false">
+                and (
+                creator = #{currentUser, jdbcType=VARCHAR} or 
find_in_set(#{currentUser, jdbcType=VARCHAR}, in_charges)
+                )
+            </if>
             <if test="status != null and status != ''">
                 and status = #{status, jdbcType=INTEGER}
             </if>
@@ -179,8 +177,7 @@
         <include refid="Base_Column_List"/>
         from inlong_cluster
         <where>
-            tenant = #{tenant,jdbcType=VARCHAR}
-            and is_deleted = 0
+            is_deleted = 0
             <if test="clusterTag != null and clusterTag != ''">
                 and find_in_set(#{clusterTag, jdbcType=VARCHAR}, cluster_tags)
             </if>
@@ -215,8 +212,7 @@
             is_deleted           = #{isDeleted,jdbcType=INTEGER},
             modifier             = #{modifier,jdbcType=VARCHAR},
             version              = #{version,jdbcType=INTEGER} + 1
-        where tenant = #{tenant,jdbcType=VARCHAR}
-          and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
           and version = #{version,jdbcType=INTEGER}
     </update>
     <update id="updateByIdSelective" 
parameterType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
@@ -266,15 +262,13 @@
             </if>
             version = #{version,jdbcType=INTEGER} + 1
         </set>
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
         and version = #{version,jdbcType=INTEGER}
     </update>
 
-    <delete id="deleteByPrimaryKey">
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
         from inlong_cluster
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
     </delete>
 </mapper>
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
index 96160b856d..7054323383 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
@@ -25,7 +25,6 @@
         <result column="cluster_tag" jdbcType="VARCHAR" property="clusterTag"/>
         <result column="ext_params" jdbcType="LONGVARCHAR" 
property="extParams"/>
         <result column="description" jdbcType="VARCHAR" 
property="description"/>
-        <result column="tenant" jdbcType="VARCHAR" property="tenant"/>
         <result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
         <result column="status" jdbcType="INTEGER" property="status"/>
         <result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
@@ -36,33 +35,31 @@
         <result column="version" jdbcType="INTEGER" property="version"/>
     </resultMap>
     <sql id="Base_Column_List">
-        id, cluster_tag, ext_params, description, tenant, in_charges, status, 
is_deleted,
+        id, cluster_tag, ext_params, description, in_charges, status, 
is_deleted,
         creator, modifier, create_time, modify_time, version
     </sql>
 
     <insert id="insert" useGeneratedKeys="true" keyProperty="id"
             
parameterType="org.apache.inlong.manager.dao.entity.InlongClusterTagEntity">
         insert into inlong_cluster_tag (id, cluster_tag, ext_params,
-                                        description, tenant, in_charges,
+                                        description, in_charges,
                                         status, creator, modifier)
         values (#{id,jdbcType=INTEGER}, #{clusterTag,jdbcType=VARCHAR}, 
#{extParams,jdbcType=LONGVARCHAR},
-                #{description, jdbcType=VARCHAR}, #{tenant,jdbcType=VARCHAR}, 
#{inCharges,jdbcType=VARCHAR},
+                #{description, jdbcType=VARCHAR}, 
#{inCharges,jdbcType=VARCHAR},
                 #{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR}, 
#{modifier,jdbcType=VARCHAR})
     </insert>
 
-    <select id="selectById" resultMap="BaseResultMap">
+    <select id="selectById" parameterType="java.lang.Integer" 
resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
         from inlong_cluster_tag
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByTag" 
resultType="org.apache.inlong.manager.dao.entity.InlongClusterTagEntity">
         select
         <include refid="Base_Column_List"/>
         from inlong_cluster_tag
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and cluster_tag = #{clusterTag, jdbcType=VARCHAR}
+        where cluster_tag = #{clusterTag, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
     <select id="selectByCondition"
@@ -72,8 +69,7 @@
         <include refid="Base_Column_List"/>
         from inlong_cluster_tag
         <where>
-            tenant = #{tenant,jdbcType=VARCHAR}
-            and is_deleted = 0
+            is_deleted = 0
             <if test="keyword != null and keyword != ''">
                 and cluster_tag like CONCAT('%', #{keyword}, '%')
             </if>
@@ -107,15 +103,13 @@
             </if>
             version     = #{version,jdbcType=INTEGER} + 1
         </set>
-        where tenant = #{tenant,jdbcType=VARCHAR}
-          and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
           and version = #{version,jdbcType=INTEGER}
     </update>
 
-    <delete id="deleteByPrimaryKey">
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
         from inlong_cluster_tag
-        where tenant = #{tenant,jdbcType=VARCHAR}
-        and id = #{id,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
     </delete>
 </mapper>
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
index 61cd905ede..6dbdcccb5a 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
@@ -76,12 +76,12 @@
             <if test="name != null and name != ''">
                 name,
             </if>
-            <if test="tenant != null and tenant != ''">
-                tenant,
-            </if>
             <if test="description != null and description != ''">
                 description,
             </if>
+            <if test="tenant != null and tenant != ''">
+                tenant,
+            </if>
             <if test="mqType != null and mqType != ''">
                 mq_type,
             </if>
diff --git 
a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
 
b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
index 96e246fb32..0fc1294d1e 100644
--- 
a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
+++ 
b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
@@ -41,17 +41,6 @@ public class InlongClusterEntityMapperTest extends 
DaoBaseTest {
         
Assertions.assertNull(entityMapper.selectByNameAndType(entity.getName(), 
entity.getType()));
     }
 
-    @Test
-    public void deleteByPrimaryKeyWithOtherTenant() {
-        InlongClusterEntity entity = genEntity();
-        entityMapper.insert(entity);
-        setOtherTenant(ANOTHER_TENANT);
-        Assertions.assertEquals(0, 
entityMapper.deleteByPrimaryKey(entity.getId()));
-        
Assertions.assertNull(entityMapper.selectByNameAndType(entity.getName(), 
entity.getType()));
-        setOtherTenant(PUBLIC_TENANT);
-        
Assertions.assertNotNull(entityMapper.selectByNameAndType(entity.getName(), 
entity.getType()));
-    }
-
     @Test
     public void selectByCondition() {
         InlongClusterEntity entity = genEntity();
@@ -61,8 +50,6 @@ public class InlongClusterEntityMapperTest extends 
DaoBaseTest {
         request.setClusterTag("testTag");
 
         Assertions.assertEquals(1, 
entityMapper.selectByCondition(request).size());
-        setOtherTenant(ANOTHER_TENANT);
-        Assertions.assertEquals(0, 
entityMapper.selectByCondition(request).size());
     }
 
     @Test
@@ -74,17 +61,7 @@ public class InlongClusterEntityMapperTest extends 
DaoBaseTest {
         String newType = "newType";
         entity.setType(newType);
 
-        // the tenant will be modified in mybatis interceptor, set tenant here 
does not work
-        entity.setTenant(ANOTHER_TENANT);
         Assertions.assertEquals(1, entityMapper.updateById(entity));
-        entity = entityMapper.selectById(entity.getId());
-        Assertions.assertEquals(newType, entity.getType());
-
-        // should be public
-        Assertions.assertEquals(PUBLIC_TENANT, entity.getTenant());
-
-        setOtherTenant(ANOTHER_TENANT);
-        Assertions.assertEquals(0, entityMapper.updateById(entity));
     }
 
     private InlongClusterEntity genEntity() {
diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
index fece364a20..2e2b0d4ae2 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
@@ -55,9 +55,6 @@ public class ClusterPageRequest extends PageRequest {
     @ApiModelProperty(value = "Parent cluster ID, used for cluster node")
     private Integer parentId;
 
-    @ApiModelProperty(value = "Inlong tenant of cluster", hidden = true)
-    private String tenant;
-
     @ApiModelProperty(value = "Keywords, name, url, cluster tag, etc.")
     private String keyword;
 
diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
index 46c2b826ac..a2dd867a0c 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
@@ -90,10 +90,6 @@ public abstract class ClusterRequest {
     @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
-    @ApiModelProperty(value = "Inlong tenant of cluster", hidden = true)
-    @Length(max = 256, message = "length must be less than or equal to 256")
-    private String tenant;
-
     @ApiModelProperty(value = "Name of responsible person, separated by 
commas")
     @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
index cdc704fa2d..de2fb00eaf 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
@@ -44,9 +44,6 @@ public class ClusterTagPageRequest extends PageRequest {
     @ApiModelProperty(value = "Status")
     private Integer status;
 
-    @ApiModelProperty(value = "Inlong tenant of cluster tag", hidden = true)
-    private String tenant;
-
     @ApiModelProperty(value = "Current user", hidden = true)
     private String currentUser;
 
diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
index 46ecbb2694..a5ba5546ae 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
@@ -54,10 +54,6 @@ public class ClusterTagRequest {
     @Length(max = 256, message = "length must be less than or equal to 256")
     private String description;
 
-    @ApiModelProperty(value = "Inlong tenant of cluster tag", hidden = true)
-    @Length(max = 256, message = "length must be less than or equal to 256")
-    private String tenant;
-
     @ApiModelProperty(value = "Name of in charges, separated by commas")
     @Length(max = 512, message = "length must be less than or equal to 512")
     private String inCharges;
diff --git 
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
 
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
index 6f0cbebaf3..bfdbffba8c 100644
--- 
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
+++ 
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
@@ -66,6 +66,8 @@ class AgentServiceTest extends ServiceBaseTest {
 
     private static MockAgent agent;
     @Autowired
+    private HeartbeatService heartbeatService;
+    @Autowired
     private StreamSourceService sourceService;
     @Autowired
     private AgentService agentService;
diff --git 
a/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql 
b/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
index a12c0dcba6..d8017e86fb 100644
--- 
a/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
+++ 
b/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
@@ -81,7 +81,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster_tag`
     `cluster_tag` varchar(128) NOT NULL COMMENT 'Cluster tag',
     `ext_params`  mediumtext            DEFAULT NULL COMMENT 'Extended params, 
will be saved as JSON string',
     `description` varchar(256)          DEFAULT '' COMMENT 'Description of 
cluster tag',
-    `tenant`      varchar(256)          DEFAULT 'public' COMMENT 'Inlong 
tenant of the inlong cluster tag',
     `in_charges`  varchar(512) NOT NULL COMMENT 'Name of responsible person, 
separated by commas',
     `status`      int(4)                DEFAULT '0' COMMENT 'Cluster status',
     `is_deleted`  int(11)               DEFAULT '0' COMMENT 'Whether to 
delete, 0: not deleted, > 0: deleted',
@@ -110,7 +109,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
     `ext_params`            mediumtext            DEFAULT NULL COMMENT 
'Extended params, will be saved as JSON string',
     `description`           varchar(256)          DEFAULT '' COMMENT 
'Description of cluster',
     `heartbeat`             mediumtext            DEFAULT NULL COMMENT 
'Cluster heartbeat info',
-    `tenant`                varchar(256) NOT NULL DEFAULT 'public' COMMENT 
'Inlong tenant of cluster',
     `in_charges`            varchar(512) NOT NULL COMMENT 'Name of responsible 
person, separated by commas',
     `status`                int(4)                DEFAULT '0' COMMENT 'Cluster 
status',
     `is_deleted`            int(11)               DEFAULT '0' COMMENT 'Whether 
to delete, 0: not deleted, > 0: deleted',
diff --git a/inlong-manager/manager-web/sql/apache_inlong_manager.sql 
b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
index c38e413f30..8b0f155f36 100644
--- a/inlong-manager/manager-web/sql/apache_inlong_manager.sql
+++ b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
@@ -90,7 +90,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster_tag`
     `cluster_tag` varchar(128) NOT NULL COMMENT 'Cluster tag',
     `ext_params`  mediumtext            DEFAULT NULL COMMENT 'Extended params, 
will be saved as JSON string',
     `description` varchar(256)          DEFAULT '' COMMENT 'Description of 
cluster tag',
-    `tenant`      varchar(256)          DEFAULT 'public' COMMENT 'Inlong 
tenant of the inlong cluster tag',
     `in_charges`  varchar(512) NOT NULL COMMENT 'Name of responsible person, 
separated by commas',
     `status`      int(4)                DEFAULT '0' COMMENT 'Cluster status',
     `is_deleted`  int(11)               DEFAULT '0' COMMENT 'Whether to 
delete, 0: not deleted, > 0: deleted',
@@ -120,7 +119,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
     `ext_params`            mediumtext            DEFAULT NULL COMMENT 
'Extended params, will be saved as JSON string',
     `description`           varchar(256)          DEFAULT '' COMMENT 
'Description of cluster',
     `heartbeat`             mediumtext            DEFAULT NULL COMMENT 
'Cluster heartbeat info',
-    `tenant`                varchar(256) NOT NULL DEFAULT 'public' COMMENT 
'Inlong tenant of cluster',
     `in_charges`            varchar(512) NOT NULL COMMENT 'Name of responsible 
person, separated by commas',
     `status`                int(4)                DEFAULT '0' COMMENT 'Cluster 
status',
     `is_deleted`            int(11)               DEFAULT '0' COMMENT 'Whether 
to delete, 0: not deleted, > 0: deleted',
@@ -131,8 +129,7 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
     `version`               int(11)      NOT NULL DEFAULT '1' COMMENT 'Version 
number, which will be incremented by 1 after modification',
     PRIMARY KEY (`id`),
     UNIQUE KEY `unique_inlong_cluster` (`name`, `type`, `is_deleted`),
-    INDEX `cluster_type_index` (`type`),
-    INDEX `cluster_tenant_index` (`tenant`, `is_deleted`)
+    INDEX `cluster_type_index` (`type`)
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4 COMMENT ='Inlong cluster table';
 
diff --git a/inlong-manager/manager-web/sql/changes-1.8.0.sql 
b/inlong-manager/manager-web/sql/changes-1.8.0.sql
index b1ef5f8a78..99a5a4eb96 100644
--- a/inlong-manager/manager-web/sql/changes-1.8.0.sql
+++ b/inlong-manager/manager-web/sql/changes-1.8.0.sql
@@ -83,8 +83,8 @@ INSERT INTO tenant_user_role(username, role_code, tenant, 
creator)
     FROM user;
 
 -- To avoid the ambiguity, rename "tenant" in PulsarGroup & PulsarCluster to 
"pulsarTenant"
-UPDATE inlong_group SET ext_params = replace(ext_params, '"tenant"', 
'"pulsarTenant"');
-UPDATE inlong_cluster SET ext_params = replace(ext_params, '"tenant"', 
'"pulsarTenant"');
+UPDATE inlong_group SET ext_params = replace(ext_params, '"tenant":', 
'"pulsarTenant":');
+UPDATE inlong_cluster SET ext_params = replace(ext_params, '"tenant":', 
'"pulsarTenant":');
 
 ALTER TABLE `inlong_stream` MODIFY COLUMN `name` varchar(256) DEFAULT NULL 
COMMENT 'The name of the inlong stream page display, can be Chinese';
 
@@ -99,16 +99,6 @@ ALTER TABLE `data_node`
 CREATE INDEX datanode_tenant_index
     ON data_node (`tenant`, `is_deleted`);
 
--- To support multi-tenancy of cluster. Please see #8365
-ALTER TABLE `inlong_cluster`
-    ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant 
of cluster' after `heartbeat`;
-CREATE INDEX cluster_tenant_index
-    ON inlong_cluster (`tenant`, `is_deleted`);
-
--- To support multi-tenancy of cluster tag. Please see #8378
-ALTER TABLE `inlong_cluster_tag`
-    ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant 
of inlong cluster tag' after `description`;
-
 -- To support multi-tenancy of inlong consume. Please see #8378
 ALTER TABLE `inlong_consume`
     ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant 
of consume' after `ext_params`;
diff --git 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
index 6abdeef97c..119f5151e5 100644
--- 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
+++ 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
@@ -74,7 +74,7 @@ public class InlongClusterController {
     @PostMapping(value = "/cluster/tag/save")
     @ApiOperation(value = "Save cluster tag")
     @OperationLog(operation = OperationType.CREATE)
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Integer> saveTag(@Validated(SaveValidation.class) 
@RequestBody ClusterTagRequest request) {
         String currentUser = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.saveTag(request, currentUser));
@@ -83,6 +83,7 @@ public class InlongClusterController {
     @GetMapping(value = "/cluster/tag/get/{id}")
     @ApiOperation(value = "Get cluster tag by id")
     @ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass = 
Integer.class, required = true)
+    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN, 
UserRoleCode.INLONG_OPERATOR})
     public Response<ClusterTagResponse> getTag(@PathVariable Integer id) {
         String currentUser = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.getTag(id, currentUser));
@@ -90,17 +91,16 @@ public class InlongClusterController {
 
     @PostMapping(value = "/cluster/tag/list")
     @ApiOperation(value = "List cluster tags")
+    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN, 
UserRoleCode.INLONG_OPERATOR})
     public Response<PageResult<ClusterTagResponse>> listTag(@RequestBody 
ClusterTagPageRequest request) {
         request.setCurrentUser(LoginUserUtils.getLoginUser().getName());
-        request.setIsAdminRole(
-                
LoginUserUtils.getLoginUser().getRoles().contains(TenantUserTypeEnum.TENANT_ADMIN.name()));
         return Response.success(clusterService.listTag(request));
     }
 
     @PostMapping(value = "/cluster/tag/update")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update cluster tag")
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> updateTag(@Validated(UpdateValidation.class) 
@RequestBody ClusterTagRequest request) {
         String username = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.updateTag(request, username));
@@ -110,7 +110,7 @@ public class InlongClusterController {
     @ApiOperation(value = "Delete cluster tag by id")
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "id", value = "Cluster tag ID", dataTypeClass = 
Integer.class, required = true)
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> deleteTag(@PathVariable Integer id) {
         return Response.success(clusterService.deleteTag(id, 
LoginUserUtils.getLoginUser().getName()));
     }
@@ -118,7 +118,7 @@ public class InlongClusterController {
     @PostMapping(value = "/cluster/save")
     @ApiOperation(value = "Save cluster")
     @OperationLog(operation = OperationType.CREATE)
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Integer> save(@Validated(SaveValidation.class) 
@RequestBody ClusterRequest request) {
         String currentUser = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.save(request, currentUser));
@@ -127,6 +127,7 @@ public class InlongClusterController {
     @GetMapping(value = "/cluster/get/{id}")
     @ApiOperation(value = "Get cluster by id")
     @ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass = 
Integer.class, required = true)
+    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN, 
UserRoleCode.INLONG_OPERATOR})
     public Response<ClusterInfo> get(@PathVariable Integer id) {
         String currentUser = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.get(id, currentUser));
@@ -144,7 +145,7 @@ public class InlongClusterController {
     @PostMapping(value = "/cluster/update")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update cluster")
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> update(@Validated(UpdateByIdValidation.class) 
@RequestBody ClusterRequest request) {
         String username = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.update(request, username));
@@ -153,7 +154,7 @@ public class InlongClusterController {
     @PostMapping(value = "/cluster/updateByKey")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update cluster by key")
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<UpdateResult> updateByKey(
             @Validated(UpdateByKeyValidation.class) @RequestBody 
ClusterRequest request) {
         String username = LoginUserUtils.getLoginUser().getName();
@@ -163,7 +164,7 @@ public class InlongClusterController {
     @PostMapping(value = "/cluster/bindTag")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Bind or unbind cluster tag")
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> bindTag(@Validated @RequestBody BindTagRequest 
request) {
         String username = LoginUserUtils.getLoginUser().getName();
         return Response.success(clusterService.bindTag(request, username));
@@ -173,7 +174,7 @@ public class InlongClusterController {
     @ApiOperation(value = "Delete cluster by id")
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass = 
Integer.class, required = true)
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> delete(@PathVariable Integer id) {
         return Response.success(clusterService.delete(id, 
LoginUserUtils.getLoginUser().getName()));
     }
@@ -185,7 +186,7 @@ public class InlongClusterController {
             @ApiImplicitParam(name = "name", value = "Cluster name", 
dataTypeClass = String.class, required = true),
             @ApiImplicitParam(name = "type", value = "Cluster type", 
dataTypeClass = String.class, required = true),
     })
-    @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN, 
UserRoleCode.INLONG_ADMIN})
+    @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
     public Response<Boolean> deleteByKey(@RequestParam String name, 
@RequestParam String type) {
         return Response.success(clusterService.deleteByKey(name, type,
                 LoginUserUtils.getLoginUser().getName()));


Reply via email to