SAP 用户与角色授权实操指南:SU01、PFCG、SU53 全流程
本文介绍如何在 SAP GUI 中使用 SU01 创建用户、使用 PFCG 创建并分配角色,以及使用 SU53 排查缺少权限的问题。
适用范围为采用经典 AS ABAP 用户与角色管理的 SAP ECC、SAP S/4HANA 本地部署及私有云环境。以下以直接维护用户和角色为例;如果企业通过中央用户管理或身份治理系统分配权限,应遵循对应管理流程。SAP S/4HANA Cloud 公有云的业务用户、业务角色管理不能直接照搬本文步骤。不同版本及登录语言下,按钮名称可能略有差异。
先明确三个概念:用户代表登录身份;角色组织岗位所需的应用入口与授权数据;**授权配置文件(Authorization Profile)**由角色中的授权数据生成,并通过用户比较写入用户主记录。角色里有事务码,仍需要维护相应业务权限。SAP 官方:用户与角色权限
新建用户 SU01
1. 直接创建用户
创建前先确认目标系统、客户端、用户姓名、岗位、账号有效期和已批准的角色清单。账号名称与角色名称应按企业规范填写,本文中的 Z_DEMO_USER 仅为示例。
- 在 SAP GUI 命令框输入
SU01,进入用户维护。 - 在“用户”字段输入新账号,点击“创建”。
- 在“地址(Address)”页签填写姓名、电子邮箱等身份信息。
- 在“登录数据(Logon Data)”页签维护用户类型、有效期和登录方式。如果使用密码登录,设置符合系统策略的初始密码。
- 在“默认值(Defaults)”页签按用户需求维护登录语言、日期格式、小数点格式等。
- 在“角色(Roles)”页签分配已经批准的角色,检查每项角色分配的起止日期。如果角色尚未准备好,可以先保存用户,再按下一节创建和分配角色。
- 保存用户,检查状态栏消息。随后完成角色授权配置文件生成及用户比较,并让用户验证登录与业务操作。
姓名、密码及其他必填字段以当前系统检查为准;采用单点登录时,按企业既定的身份认证方案维护,不应为了套用示例而额外启用密码登录。SAP 官方:创建用户
2. 如何选择用户类型
普通业务人员通过 SAP GUI 交互操作时,通常选择 Dialog(对话用户)。技术账号应按实际用途选择类型,不能为了免除密码管理要求而改变普通员工账号的类型。
| 用户类型 | 主要用途 |
|---|---|
| Dialog | 个人交互登录,例如普通业务人员的 SAP GUI 账号 |
| System | 后台处理以及系统内部通信等技术用途 |
| Communication | 外部 RFC 调用等无对话通信 |
| Service | 面向较大匿名用户群体的服务访问,权限应严格限制 |
| Reference | 提供可附加的公共授权,本身不能登录 |
这里的用户类型描述账号的技术用途,不能代替授权范围的设计。SAP 官方:AS ABAP 用户类型
3. 复制已有用户
同岗位用户具有相近的默认值、参数和角色时,可以在 SU01 中复制用户,以减少重复维护。
- 在
SU01输入作为模板的已有账号。 - 点击“复制”,输入新账号名称。
- 在复制对话框中选择需要复制的数据,例如默认值、参数和角色;选项以当前系统界面为准。
- 在新用户维护界面修改姓名、邮箱、登录数据及有效期。
- 逐项核对角色、角色有效期和参考用户,只保留新岗位需要的内容。
- 保存后检查复制日志,并完成授权生效验证。
复制完成不代表全部权限都复制成功。 执行复制的管理员如果没有分配某个角色、配置文件或参考用户的权限,相应内容可能无法复制,具体原因应查看日志。SAP 还明确说明:在权限允许时,源用户关联的参考用户也会被复制;新用户不需要时,应移除该关联。SAP 官方:复制用户
实际使用中,优先选用经过审核的同岗位模板用户,避免把管理员账号、跨岗位权限或临时权限当作模板。
新建角色 PFCG
1. 创建单一角色并维护菜单
以下以创建一个供测试用户使用的单一角色 Z_DEMO_DISPLAY 为例。名称仅为示例,实际命名应符合项目规范。
- 输入事务码
PFCG。 - 输入角色名称,选择创建“单一角色(Single Role)”。
- 在“描述(Description)”页签填写角色用途,例如负责哪些业务、允许访问哪些组织范围。
- 在“菜单(Menu)”页签加入需要的事务码。
- 保存角色。
单一角色维护自己的授权数据并生成配置文件;复合角色主要组合多个单一角色,不按单一角色的方式生成自己的授权配置文件。本文采用单一角色讲解授权维护流程。SAP 官方:创建标准角色
菜单是应用入口,授权数据决定允许的操作范围。 对从菜单或命令框直接启动的事务,S_TCODE 对象中的 TCD 字段控制事务启动权限;进入业务操作后,还可能检查业务授权对象。SAP 官方:授权检查
2. 维护授权数据和组织级别
- 打开“授权(Authorizations)”页签。
- 点击“更改授权数据(Change Authorization Data)”。
- 根据角色菜单带出的授权建议和业务需求,维护所需授权对象的字段值。
- 按批准的范围填写公司代码、工厂、采购组织等组织级别;实际出现哪些组织级别,取决于角色中的授权对象。
- 检查未维护字段、活动范围和过宽的值。只读岗位应以实际业务对象的活动定义为准,限制为需要的显示操作。
- 保存授权数据,然后生成授权配置文件。
授权建议是维护起点,不能当作所有业务操作必需权限的完整保证。如果某个流程仍报缺少权限,应结合实际检查结果分析。组织范围和操作范围应由业务需求决定,不能通过给所有字段填 * 来消除维护提示。SAP 官方:角色与授权维护
3. 角色保存后必须生成授权配置文件
原大纲中的“角色保存后要产生”,准确说法是:维护并保存授权数据后,需要生成(Generate)授权配置文件。
保存会保留角色维护数据;生成才会把当前授权数据形成可供用户使用的授权配置文件。在 PFCG 的授权维护界面执行“生成”,检查消息和授权页签状态。成功后,授权配置文件应为当前有效的生成版本。
如果角色菜单或授权值后来发生变化,需要再次检查、维护并生成。授权页签显示黄色或红色时,应阅读状态说明,确认是否存在生成版本过期、授权数据未维护或菜单变更尚未合并的问题,不能只再次保存就认为权限已更新。SAP 官方:生成授权配置文件、SAP 官方:变更后重新生成
菜单变更后的授权数据合并,与下一步的“用户比较”是两个操作:前者处理角色内部的授权建议与维护数据,后者处理用户主记录中的配置文件。
4. 分配用户并执行用户比较
- 在
PFCG打开角色的“用户(User)”页签。 - 添加用户,例如
Z_DEMO_USER。 - 设置角色分配的起止日期,确认当前日期处于有效期内。
- 保存角色。
- 点击“用户比较(User Comparison)”,按界面选择“完整比较(Complete/Full Comparison)”。
- 查看比较结果和状态消息,处理失败项目。
也可以在 SU01 的“角色”页签给用户分配角色,再回到 PFCG 检查并完成用户比较。不能仅凭 SU01 中显示角色名称,就认定授权已生效。
用户比较根据当前有效的角色分配,把相应的生成配置文件加入用户主记录,或移除不再应有的配置文件。需要批量处理时,可使用 PFUD;对有起止日期的角色分配,应由管理员安排并检查 PFCG_TIME_DEPENDENCY 的周期性比较作业,保证日期变化后配置文件得到更新。SAP 官方:角色分配与用户比较
不要把 PFCG 生成的配置文件直接手工填写到 SU01 的“配置文件(Profiles)”页签来代替角色分配。SAP 明确要求通过角色分配与用户比较建立这种关系;直接填入的生成配置文件可能在后续比较时被移除。SAP 官方:用户主记录比较
5. 让用户重新登录并验证
完成生成和比较后,让用户完全退出原登录会话并重新登录,再执行需要的业务操作,以验证新会话中的权限。SAP 官方说明,已登录用户需要重新登录,才能使用重新生成后的当前授权。SAP 官方:配置文件生成前提
测试不能只检查事务能否打开,还应验证允许的组织范围内能否完成操作,以及未批准的操作和组织范围是否被限制。测试账号如果已有其他角色,验证结果可能受到其他角色授权的影响,应先了解其全部授权来源。
缺少权限排查 SU53
1. 报错后立即查看 SU53
- 使用发生问题的用户,在目标系统和客户端重现报错。
- 报错后立即执行
SU53,不要先继续其他业务操作。 - 记录失败的授权对象、检查字段、所需值,以及相关用户授权信息。
- 同时记录事务码、触发步骤、报错消息、时间、客户端和实际处理的业务对象。
- 将这些信息交给负责该角色的权限管理员分析。
SU53 用于分析刚发生的权限拒绝。根据系统版本,它可以显示最近一次或一组近期失败的授权检查,但不提供业务操作的完整检查轨迹。记录数量和保留时间受版本、配置及缓冲区容量影响,应立即查看并核对检查时间与业务上下文。SAP 官方:SU53 错误分析 管理员在自己的账号下直接运行 SU53,也不能据此判断另一个用户的失败原因;应由出错用户先执行分析,或使用系统提供的“显示其他用户”功能并核对时间。SAP 官方:分析授权检查
2. 根据缺失项检查角色
例如,用户启动某个事务时,SU53 显示对象 S_TCODE 的字段 TCD 缺少该事务码。此时应先确认该岗位是否应该执行该事务,再检查已分配角色的菜单和生成授权。
如果事务能够打开,但处理某个公司代码或工厂的数据时报错,可能需要检查相应业务授权对象中的活动与组织值。具体对象和字段以实际检查结果为准。SAP 官方:启动权限与程序级检查
处理时按以下顺序核对:
- 业务需求是否成立。 确认该操作及数据范围属于用户岗位。
- 角色是否正确分配。 在
SU01检查角色名称和有效期。 - 授权值是否正确。 在
PFCG检查对象、活动和组织范围。 - 配置文件是否最新。 授权数据调整后重新生成。
- 用户主记录是否更新。 完成用户比较,检查结果。
- 用户是否使用新会话测试。 重新登录后重现原业务步骤。
如果修改的是多个用户共用的角色,新增授权会影响该角色的其他使用者,应先检查影响范围。不要看到 SU53 中有失败对象,就未经业务判断直接加入权限;程序可能进行可选功能探测,失败检查是否导致当前报错仍需结合实际流程确认。
3. SU53 无法定位时使用授权跟踪
一次业务操作可能触发多个检查,也可能涉及 RFC、后台任务或其他技术用户。用户当前会话中的 SU53 不一定能够反映实际执行账号的检查结果。此时可由权限管理员使用 STAUTHTRACE,或在适用系统中使用 ST01 授权跟踪。
建议在限定的用户和时间范围内开启跟踪,让用户重现一次问题,然后关闭跟踪并分析对象、字段和检查结果。使用 ST01 时,SAP 官方要求跟踪与被跟踪操作在同一个应用服务器上执行;跨会话、跨实例场景应确认实际跟踪范围。SAP 官方:系统授权跟踪、SAP 官方:STAUTHTRACE 使用说明
必要时可用 SU56 查看用户授权缓冲区,辅助核对当前会话中的授权。SU53 没有显示相关失败,也不能单独证明业务操作不存在权限问题,应继续核对执行用户、调用路径和应用报错。SAP 官方:SU53 与 SU56
4. 常见问题与检查方向
| 现象 | 优先检查 |
|---|---|
| 新用户无法登录 | 系统和客户端是否正确、账号锁定状态、用户有效期、用户类型及认证配置 |
| 角色已分配但事务无法启动 | 分配有效期、S_TCODE、授权配置文件生成状态和用户比较结果 |
| 事务能打开,处理数据时报权限错误 | 业务授权对象中的活动、公司代码、工厂等字段值 |
| 修改角色后用户权限没有变化 | 是否重新生成、是否完成比较、是否重新登录 |
| 复制用户后权限与模板不同 | 复制选项、角色有效期、参考用户以及复制日志 |
| SU53 结果与报错不吻合 | 执行时间、实际执行账号,以及是否需要授权跟踪 |
这些是排查方向,不能替代对状态消息和跟踪结果的分析。权限调整应遵循最小必要范围;不要把授予 SAP_ALL 当作日常修复方式。
5. 完整操作顺序
一次新用户授权可以按以下顺序完成:
- 用
SU01创建或复制用户,核对身份、登录数据和有效期。 - 用
PFCG创建或检查角色,维护菜单、业务授权及组织范围。 - 生成当前授权配置文件。
- 分配角色并检查分配有效期,执行用户比较。
- 让用户重新登录,验证允许和禁止的业务操作。
- 如果仍报缺少权限,立即检查
SU53,必要时进行授权跟踪;根据确认的需求调整后,再完成生成、比较和验证。
本文步骤依据 SAP 官方资料整理,未在读者的目标 SAP 系统中执行验证。实际维护应以当前版本、系统配置和企业权限管理流程为准。
