GithubHelp home page GithubHelp logo

tencentblueking / bk-iam Goto Github PK

View Code? Open in Web Editor NEW
68.0 68.0 42.0 29.58 MB

BK-IAM is a centralized permission management service provided by The Tencent BlueKing; based on ABAC

License: Other

Makefile 0.11% Shell 0.01% Go 99.09% Smarty 0.08% Dockerfile 0.03% Python 0.69%
abac bk-iam iam

bk-iam's Issues

ldap相同ou无法测试

我们同一个ldap,ou=People,dc=xxx 想在蓝鲸中配置成两个登录域,但是实践的时候出现,可以新增ldap目录,但是同步用户数据更新的时候,出现【Duplicate entry 'People' for key 'code'】不允许配置两个相同People的操作,我们该如何配置,才能将同一个ldap配置成两个登录域

接入权限中心时,支持选择无权限提示方式,无操作权限的页面和操作直接隐藏

需求背景
部分客户和系统希望对权限的控制均由管理员下放,不希望用户自主申请;把每个saas没有权限,跳转申请的的功能屏蔽掉。有些用户本来就不可以去申请这个资源的权限的,但是留了入口他也能申请,会有一堆这种权限申请的单子

需求
1、当前交互为无权限的操作置灰,且点击后支持前往申请。期望支持无权限的直接隐藏
2、若需求1暂不能支持。希望能够提供查询指定用户权限策略的接口

版本信息有误

BUG反馈还是需求提交(Is this a BUG REPORT or FEATURE REQUEST)? (choose one):
缺陷

bk-iam-app SaaS/bk-iam后台版本(The versions used):
最新版存在该问题

发生了什么(What happened):
image

bk-iam 事务回滚方法建议优化

代码:https://github.com/TencentBlueKing/bk-iam/blob/master/pkg/database/utils.go
使用场景:

        // 生成统一的DB事务
	tx, err := database.GenerateDefaultDBTx()
	defer database.RollBackWithLog(tx)
        // err如果不为nil,tx会为nil
	if err != nil {
		err = errorWrapf(err, "define tx fail")
		return
	}
// RollBackWithLog will rollback and log if error
func RollBackWithLog(tx *sqlx.Tx) {
        // 这里加个tx nil判断 return最好
	err := tx.Rollback()
	if err != sql.ErrTxDone && err != nil {
		logging.GetSQLLogger().Error(err)
	}
}

提供注册数据修改/回退接口

BUG反馈还是需求提交(Is this a BUG REPORT or FEATURE REQUEST)? (choose one):
需求提交

bk-iam-app SaaS/bk-iam后台版本(The versions used):
当前最新版本仍未有该功能

需求背景:
目前很多外部自研saas进行权限中心接入,接入过程经常需要进行注册数据调整(例如变更system_id)或回退注册动作进行重新操作,目前实现这个修改动作需要采用数据库方案, 不够便捷也不够安全

期望是什么(What you expected to happen):

  1. 权限中心提供与注册这块内容相关的页面,方便注册方了解自己注册的转态,修改注册的数据及回退注册动作
  2. 如果页面啥上实现不合适,那可以提供进行注册回退及相关修改的接口
  • 修改已注册系统ID的接口
  • 回退对应系统注册操作的接口(清楚所有该系统相关的注册数据)

bk-iam后台的SQL语句中的 groups 与 mysql8 的keywords冲突

Bug: bk-iam后台的SQL语句中的 groups 与 mysql8 的keywords冲突

  • bkiam SaaS:1.9.4
  • bkiam 后台:1.12.5

发生了什么(What happened):
问题:bkiam后台服务使用 mysql 8.0.23 进行承载数据时,普通用户在根据 action_id 为 access_developer_center 进行鉴权时,后台日志出现以下报错:

Error 1064: You have an error in your SQL syntax; check the manual the corresponds to your MySQL server version for the right syntax to user near 'groups
    FROM subject_system_group
    WHERE system_id = 'bk_paas' AND subject_pk ' at line 3

经检查,是由于 iam 后台所定义的 sql 查询语句使用了 groups 的关键字,这是 mysql 8 新增的保留关键字,所以导致语法错误。
image

期望是什么(What you expected to happen):
在不修改数据库表结构的前提下,建议是把 SQL 语句中的所有关键字都使用反引号 ` 进行包括起来 ,也可以遵循 MySQL 的 不完全限定名 unqualified name ,使用 table_name.column_name 的方式进行编写 SQL 语句。
如:

SELECT
  `subject_pk`,
  `groups`,
FROM
  `subject_system_group`
WHERE
  `system_id` = ?
AND
  `subject_pk` IN (?)

如何复现(How to reproduce it):
只需要把 bkiam 后台切换成 mysql8 即可。

相关的日志详情(SaaS 及后台日志说明 https://bk.tencent.com/docs/document/6.0/160/8398)和截图等(Log & Screenshot):

备注(Anything else we need to know):

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.