Power BI Report Server自定义安全扩展:无AD环境添加首个管理员用户
解决Power BI Report Server添加首个无AD管理员用户的问题
我来帮你一步步搞定这个问题——既然已经部署了自定义安全扩展,咱们直接通过操作Report Server的核心数据库来添加第一个非AD管理员:
步骤1:连接到Report Server数据库
首先,用SQL Server Management Studio(SSMS)连接到承载Report Server数据库的实例,找到默认名为ReportServer的数据库(如果安装时改了名称就用对应的)。
步骤2:获取系统管理员角色ID
执行以下SQL查询,找到内置的System Administrator角色的ID:
SELECT RoleID, RoleName FROM Roles WHERE RoleName = 'System Administrator' AND RoleType = 1;
把查询结果里的RoleID记下来,后面要用。
步骤3:插入自定义用户到Report Server的Users表
你需要从自己的UserAccounts数据库里拿到那个已注册用户的UserID(确保是唯一标识),然后执行插入语句:
INSERT INTO Users (UserID, UserName, AuthType) VALUES ('你的自定义用户ID', '用户名', '你的自定义扩展AuthType');
⚠️ 注意:AuthType必须和你自定义安全扩展代码里配置的认证类型完全一致(比如你扩展里定义的是CustomAuth,这里就填这个),否则Report Server无法识别。
步骤4:关联用户和系统管理员角色
现在把这个用户绑定到系统管理员权限上,执行以下SQL,替换其中的你的角色ID和你的自定义用户ID:
INSERT INTO PolicyUserRole (PolicyID, RoleID, UserID) SELECT PolicyID, '你的角色ID', '你的自定义用户ID' FROM Policies WHERE Name = 'System Root';
这个操作是把用户添加到系统根权限组,获得最高管理员权限。
步骤5:重启Report Server服务
最后,打开服务(services.msc),找到SQL Server Reporting Services服务,重启它让配置生效。
做完这些,你就可以用这个自定义用户登录Report Server,拥有管理员权限了。
内容的提问来源于stack exchange,提问作者Wiibroe




