Thanks for the information, @Roney.Uba.
I have identified all of the bits in USR_Privilege
in Automic Automation v24.3.
It seems that the field currently encompasses 48 bits. This means that 249 - 1 = 281474976710655 would be the value of USR_Privilege
that has all privileges enabled, including the deprecated and undocumented ones. The corresponding line in a transport case file would be:
F021+000281474976710655
The Automation Engine REST API provides names for all but three privileges. (Export a USER object to JSON, and the assigned privileges are listed.)
n |
Decimal 2n-1
|
Msg. number
|
AWI label or uc.msl message |
JSON label v24.3 |
1 |
1 |
909900 |
Enable / Disable automatic processing (STOP / GO) |
automatic_processing |
2 |
2 |
909901 |
Access to System Overview |
access_systemoverview |
3 |
4 |
909902 |
Access to Recycle Bin |
recycle_bin |
4 |
8 |
909903 |
Access to Transport Case |
transport_case |
5 |
16 |
909904 |
View messages from own user group |
view_messages |
6 |
32 |
909905 |
View messages to administrators |
view_administrators_messages |
7 |
64 |
909906 |
View all messages from accorded client |
view_all_messagesfrom_accorded_client |
8 |
128 |
909907 |
View security messages |
view_security_messages |
9 |
256 |
909942 |
Upgrade system, start and stop processes |
execute_system_upgrades |
10 |
512 |
909909 |
Access to client 99 |
|
11 |
1024 |
909910 |
Access to deactivated tasks |
access_to_selective_statistics |
12 |
2048 |
909911 |
Access to PasswordContainer |
|
13 |
4096 |
909912 |
Create and modify Backend variables |
create_and_modify_backend_variables |
14 |
8192 |
909913 |
Deal with authorizations at object level |
deal_with_authorizations_at_object_level |
15 |
16384 |
909914 |
Modify the status of a task manually |
modify_the_status_of_a_task_manually |
16 |
32768 |
909915 |
Object properties: allow manually reset of 'Edit Hint' |
object_properties_allow_manual_reset_of_edit_hint |
17 |
65536 |
909916 |
FileTransfer: Start without Login object specified |
filetransfer_start_without_login_object_specified |
18 |
131072 |
909917 |
Administrate Users / Groups |
|
19 |
262144 |
909918 |
View server utilization of all clients |
view_server_usage_of_all_clients |
20 |
524288 |
909919 |
Access to <No Folder> |
access_to_no_folder |
21 |
1048576 |
909920 |
Logon via CallAPI |
logon_via_callapi |
22 |
2097152 |
909921 |
SAP Criteria Manager |
sap_criteria_manager |
23 |
4194304 |
909922 |
Access to Version Management |
access_to_version_management_folder |
24 |
8388608 |
909923 |
Access to AutoForecast |
access_to_autoforecast |
25 |
16777216 |
909924 |
Create diagnostic information |
create_diagnostic_information |
26 |
33554432 |
909815 |
Take over task |
take_over_task |
27 |
67108864 |
909925 |
ILM actions |
ilm_actions |
28 |
134217728 |
909926 |
Create and modify SQL-Internal variables |
create_and_modify_sql_internal_variables |
29 |
268435456 |
909928 |
Work in Runbook Mode |
work_in_runbook_mode |
30 |
536870912 |
909927 |
Manage favorites on User Group level |
manage_favorites_on_usergroup_level |
31 |
1073741824 |
909930 |
Access to My Catalog |
access_to_service_catalog |
32 |
2147483648 |
909931 |
Access to Process Monitoring |
access_to_process_monitoring |
33 |
4294967296 |
909932 |
Access to Service Orchestrator |
ecc_service_level_govenor |
34 |
8589934592 |
909933 |
Manage SLAs and Business Units in Service Orchestrator |
ecc_manage_sla_and_bu |
35 |
17179869184 |
909934 |
Access to Policy Orchestrator |
access_to_policy_orchestrator |
36 |
34359738368 |
909935 |
Access to Process Assembly |
access_to_process_assembly |
37 |
68719476736 |
909936 |
Access to Administration |
access_to_administration |
38 |
137438953472 |
909937 |
Access to Dashboards |
access_to_dashboards |
39 |
274877906944 |
909939 |
Access to Predictive Analytics |
access_to_predictive_analytics |
40 |
549755813888 |
909938 |
Access to Messages |
access_to_messages |
41 |
1099511627776 |
909940 |
FileEvents: Start without Login object specified |
fileevents_start_without_login_object_specified |
42 |
2199023255552 |
909941 |
Access to Analytics |
access_to_analytics |
43 |
4398046511104 |
909811 |
Dump memory trace |
dump_memory_trace |
44 |
8796093022208 |
909943 |
Access to Analytics for all clients |
access_to_analytics_for_all_clients |
45 |
17592186044416 |
909813 |
Access to the metrics endpoint of Automation REST API |
access_metrics_endpoint |
46 |
35184372088832 |
909814 |
Upgrade Agents (CAU) |
execute_agent_upgrades |
47 |
70368744177664 |
909816 |
Token access and token creation |
token_access_and_token_creation |
48 |
140737488355328 |
909817 |
Database maintenance |
db_maintenance |
The values of ACLB_HelpIDC
in purple were guessed because they are adjacent to other similar messages.
The messages in red correspond to deprecated or undocumented privileges. They do not appear in the AWI.
The JSON labels in blue are returned by the REST API out-of-order, at the end after db_maintenance.
Update 2025.03.29 9:15 CET: I corrected the table. Some privileges were out-of-order, and many were shifted down by one. The following privilege was removed from the table because it does not appear to correspond to any of the bits of USR_Privilege
.
909929 |
Configure User Catalog through User Groups |
The table should now be 100% correct. I wrote a script to create 48 users, each with exactly one bit set in USR_Privilege
. I then exported these users to JSON to confirm which privilege was associated with each bit of USR_Privilege
.
For what it’s worth, I also confirmed that a user with all 48 privileges (even deprecated or undocumented ones) is able to import users with any privilege. However, the only way to grant all privileges in the first place is by modifying USR_Privilege
directly in the DB. (Using a transport case file is a quick and safe way to do this.) If the deprecated/undocumented privileges do anything else, I was not able to observe it.
Update 2025.03.31 8:41 CEST
Here is an (Oracle) SQL query that will list the privileges assigned to users.
WITH User_privileges AS (SELECT OH_CLIENT, OH_NAME,-- USR_AccessC0, USR_AccessC99, USR_Privilege,
CASE WHEN BITAND(USR_Privilege,1) = 1 THEN 1 ELSE 0 END AS automatic_processing,
CASE WHEN BITAND(USR_Privilege,2) = 2 THEN 1 ELSE 0 END AS access_systemoverview,
CASE WHEN BITAND(USR_Privilege,4) = 4 THEN 1 ELSE 0 END AS recycle_bin,
CASE WHEN BITAND(USR_Privilege,8) = 8 THEN 1 ELSE 0 END AS transport_case,
CASE WHEN BITAND(USR_Privilege,16) = 16 THEN 1 ELSE 0 END AS view_messages,
CASE WHEN BITAND(USR_Privilege,32) = 32 THEN 1 ELSE 0 END AS view_administrators_messages,
CASE WHEN BITAND(USR_Privilege,64) = 64 THEN 1 ELSE 0 END AS view_all_messagesfrom_accorded_client,
CASE WHEN BITAND(USR_Privilege,128) = 128 THEN 1 ELSE 0 END AS view_security_messages,
CASE WHEN BITAND(USR_Privilege,256) = 256 THEN 1 ELSE 0 END AS execute_system_upgrades,
CASE WHEN BITAND(USR_Privilege,512) = 512 THEN 1 ELSE 0 END AS access_to_client_99,
CASE WHEN BITAND(USR_Privilege,1024) = 1024 THEN 1 ELSE 0 END AS access_to_selective_statistics,
CASE WHEN BITAND(USR_Privilege,2048) = 2048 THEN 1 ELSE 0 END AS access_to_password_container,
CASE WHEN BITAND(USR_Privilege,4096) = 4096 THEN 1 ELSE 0 END AS create_and_modify_backend_variables,
CASE WHEN BITAND(USR_Privilege,8192) = 8192 THEN 1 ELSE 0 END AS deal_with_authorizations_at_object_level,
CASE WHEN BITAND(USR_Privilege,16384) = 16384 THEN 1 ELSE 0 END AS modify_the_status_of_a_task_manually,
CASE WHEN BITAND(USR_Privilege,32768) = 32768 THEN 1 ELSE 0 END AS object_properties_allow_manual_reset_of_edit_hint,
CASE WHEN BITAND(USR_Privilege,65536) = 65536 THEN 1 ELSE 0 END AS filetransfer_start_without_login_object_specified,
CASE WHEN BITAND(USR_Privilege,131072) = 131072 THEN 1 ELSE 0 END AS administrate_users_and_groups,
CASE WHEN BITAND(USR_Privilege,262144) = 262144 THEN 1 ELSE 0 END AS view_server_usage_of_all_clients,
CASE WHEN BITAND(USR_Privilege,524288) = 524288 THEN 1 ELSE 0 END AS access_to_no_folder,
CASE WHEN BITAND(USR_Privilege,1048576) = 1048576 THEN 1 ELSE 0 END AS logon_via_callapi,
CASE WHEN BITAND(USR_Privilege,2097152) = 2097152 THEN 1 ELSE 0 END AS sap_criteria_manager,
CASE WHEN BITAND(USR_Privilege,4194304) = 4194304 THEN 1 ELSE 0 END AS access_to_version_management_folder,
CASE WHEN BITAND(USR_Privilege,8388608) = 8388608 THEN 1 ELSE 0 END AS access_to_autoforecast,
CASE WHEN BITAND(USR_Privilege,16777216) = 16777216 THEN 1 ELSE 0 END AS create_diagnostic_information,
CASE WHEN BITAND(USR_Privilege,33554432) = 33554432 THEN 1 ELSE 0 END AS take_over_task,
CASE WHEN BITAND(USR_Privilege,67108864) = 67108864 THEN 1 ELSE 0 END AS ilm_actions,
CASE WHEN BITAND(USR_Privilege,134217728) = 134217728 THEN 1 ELSE 0 END AS create_and_modify_sql_internal_variables,
CASE WHEN BITAND(USR_Privilege,268435456) = 268435456 THEN 1 ELSE 0 END AS work_in_runbook_mode,
CASE WHEN BITAND(USR_Privilege,536870912) = 536870912 THEN 1 ELSE 0 END AS manage_favorites_on_usergroup_level,
CASE WHEN BITAND(USR_Privilege,1073741824) = 1073741824 THEN 1 ELSE 0 END AS access_to_service_catalog,
CASE WHEN BITAND(USR_Privilege,2147483648) = 2147483648 THEN 1 ELSE 0 END AS access_to_process_monitoring,
CASE WHEN BITAND(USR_Privilege,4294967296) = 4294967296 THEN 1 ELSE 0 END AS ecc_service_level_govenor,
CASE WHEN BITAND(USR_Privilege,8589934592) = 8589934592 THEN 1 ELSE 0 END AS ecc_manage_sla_and_bu,
CASE WHEN BITAND(USR_Privilege,17179869184) = 17179869184 THEN 1 ELSE 0 END AS access_to_policy_orchestrator,
CASE WHEN BITAND(USR_Privilege,34359738368) = 34359738368 THEN 1 ELSE 0 END AS access_to_process_assembly,
CASE WHEN BITAND(USR_Privilege,68719476736) = 68719476736 THEN 1 ELSE 0 END AS access_to_administration,
CASE WHEN BITAND(USR_Privilege,137438953472) = 137438953472 THEN 1 ELSE 0 END AS access_to_dashboards,
CASE WHEN BITAND(USR_Privilege,274877906944) = 274877906944 THEN 1 ELSE 0 END AS access_to_predictive_analytics,
CASE WHEN BITAND(USR_Privilege,549755813888) = 549755813888 THEN 1 ELSE 0 END AS access_to_messages,
CASE WHEN BITAND(USR_Privilege,1099511627776) = 1099511627776 THEN 1 ELSE 0 END AS fileevents_start_without_login_object_specified,
CASE WHEN BITAND(USR_Privilege,2199023255552) = 2199023255552 THEN 1 ELSE 0 END AS access_to_analytics,
CASE WHEN BITAND(USR_Privilege,4398046511104) = 4398046511104 THEN 1 ELSE 0 END AS dump_memory_trace,
CASE WHEN BITAND(USR_Privilege,8796093022208) = 8796093022208 THEN 1 ELSE 0 END AS access_to_analytics_for_all_clients,
CASE WHEN BITAND(USR_Privilege,17592186044416) = 17592186044416 THEN 1 ELSE 0 END AS access_metrics_endpoint,
CASE WHEN BITAND(USR_Privilege,35184372088832) = 35184372088832 THEN 1 ELSE 0 END AS execute_agent_upgrades,
CASE WHEN BITAND(USR_Privilege,70368744177664) = 70368744177664 THEN 1 ELSE 0 END AS token_access_and_token_creation,
CASE WHEN BITAND(USR_Privilege,140737488355328) = 140737488355328 THEN 1 ELSE 0 END AS db_maintenance
FROM OH,USR
WHERE OH_Idnr=USR_OH_Idnr
--AND OH_Client = 0
AND OH_DeleteFlag = 0),
Assigned_privileges AS (
SELECT OH_Client,OH_Name, RTRIM(XMLAGG(XMLELEMENT(E,
CASE WHEN automatic_processing = 1 THEN ' automatic_processing, ' END ||
CASE WHEN access_systemoverview = 1 THEN ' access_systemoverview, ' END ||
CASE WHEN recycle_bin = 1 THEN ' recycle_bin, ' END ||
CASE WHEN transport_case = 1 THEN ' transport_case, ' END ||
CASE WHEN view_messages = 1 THEN ' view_messages, ' END ||
CASE WHEN view_administrators_messages = 1 THEN ' view_administrators_messages, ' END ||
CASE WHEN view_all_messagesfrom_accorded_client = 1 THEN ' view_all_messagesfrom_accorded_client, ' END ||
CASE WHEN view_security_messages = 1 THEN ' view_security_messages, ' END ||
CASE WHEN execute_system_upgrades = 1 THEN ' execute_system_upgrades, ' END ||
CASE WHEN access_to_client_99 = 1 THEN ' access_to_client_99, ' END ||
CASE WHEN access_to_selective_statistics = 1 THEN ' access_to_selective_statistics, ' END ||
CASE WHEN access_to_password_container = 1 THEN ' access_to_password_container, ' END ||
CASE WHEN create_and_modify_backend_variables = 1 THEN ' create_and_modify_backend_variables, ' END ||
CASE WHEN deal_with_authorizations_at_object_level = 1 THEN ' deal_with_authorizations_at_object_level, ' END ||
CASE WHEN modify_the_status_of_a_task_manually = 1 THEN ' modify_the_status_of_a_task_manually, ' END ||
CASE WHEN object_properties_allow_manual_reset_of_edit_hint = 1 THEN ' object_properties_allow_manual_reset_of_edit_hint, ' END ||
CASE WHEN filetransfer_start_without_login_object_specified = 1 THEN ' filetransfer_start_without_login_object_specified, ' END ||
CASE WHEN administrate_users_and_groups = 1 THEN ' administrate_users_and_groups, ' END ||
CASE WHEN view_server_usage_of_all_clients = 1 THEN ' view_server_usage_of_all_clients, ' END ||
CASE WHEN access_to_no_folder = 1 THEN ' access_to_no_folder, ' END ||
CASE WHEN logon_via_callapi = 1 THEN ' logon_via_callapi, ' END ||
CASE WHEN sap_criteria_manager = 1 THEN ' sap_criteria_manager, ' END ||
CASE WHEN access_to_version_management_folder = 1 THEN ' access_to_version_management_folder, ' END ||
CASE WHEN access_to_autoforecast = 1 THEN ' access_to_autoforecast, ' END ||
CASE WHEN create_diagnostic_information = 1 THEN ' create_diagnostic_information, ' END ||
CASE WHEN take_over_task = 1 THEN ' take_over_task, ' END ||
CASE WHEN ilm_actions = 1 THEN ' ilm_actions, ' END ||
CASE WHEN create_and_modify_sql_internal_variables = 1 THEN ' create_and_modify_sql_internal_variables, ' END ||
CASE WHEN work_in_runbook_mode = 1 THEN ' work_in_runbook_mode, ' END ||
CASE WHEN manage_favorites_on_usergroup_level = 1 THEN ' manage_favorites_on_usergroup_level, ' END ||
CASE WHEN access_to_service_catalog = 1 THEN ' access_to_service_catalog, ' END ||
CASE WHEN access_to_process_monitoring = 1 THEN ' access_to_process_monitoring, ' END ||
CASE WHEN ecc_service_level_govenor = 1 THEN ' ecc_service_level_govenor, ' END ||
CASE WHEN ecc_manage_sla_and_bu = 1 THEN ' ecc_manage_sla_and_bu, ' END ||
CASE WHEN access_to_policy_orchestrator = 1 THEN ' access_to_policy_orchestrator, ' END ||
CASE WHEN access_to_process_assembly = 1 THEN ' access_to_process_assembly, ' END ||
CASE WHEN access_to_administration = 1 THEN ' access_to_administration, ' END ||
CASE WHEN access_to_dashboards = 1 THEN ' access_to_dashboards, ' END ||
CASE WHEN access_to_predictive_analytics = 1 THEN ' access_to_predictive_analytics, ' END ||
CASE WHEN access_to_messages = 1 THEN ' access_to_messages, ' END ||
CASE WHEN fileevents_start_without_login_object_specified = 1 THEN ' fileevents_start_without_login_object_specified, ' END ||
CASE WHEN access_to_analytics = 1 THEN ' access_to_analytics, ' END ||
CASE WHEN dump_memory_trace = 1 THEN ' dump_memory_trace, ' END ||
CASE WHEN access_to_analytics_for_all_clients = 1 THEN ' access_to_analytics_for_all_clients, ' END ||
CASE WHEN access_metrics_endpoint = 1 THEN ' access_metrics_endpoint, ' END ||
CASE WHEN execute_agent_upgrades = 1 THEN ' execute_agent_upgrades, ' END ||
CASE WHEN token_access_and_token_creation = 1 THEN ' token_access_and_token_creation, ' END ||
CASE WHEN db_maintenance = 1 THEN ' db_maintenance, ' END
).EXTRACT('//text()') ORDER BY OH_Name).GetClobVal(), ', ') AS Privileges
FROM User_privileges
GROUP BY OH_Client,OH_Name)
SELECT * FROM Assigned_privileges
WHERE 1=1
--AND OH_Name IN ('UC/UC', 'ADMIN/ADMIN', 'AUTOMIC/AUTOMIC')
ORDER BY OH_CLIENT, OH_NAME;
Enjoy!