blob: 24d8c050175d904573f0a91014e669475a7fe85b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
|
// Comprehensive GitLab SpiceDB Schema
// Based on systematic analysis of 798 GitLab permissions from 487+ policy files
// Includes all permissions from app/policies and ee/app/policies
// Full support for CI_JOB_TOKEN permissions and Custom Roles
definition organization {
relation admin: user
relation member: user
relation owner: user
// Core permissions
permission read = member + admin + owner
permission admin_organization = admin + owner
permission create_group = member + admin + owner
permission admin_compliance_framework = admin + owner
permission admin_external_audit_events = admin + owner
// Additional organization permissions
permission create_organization = admin + owner
permission admin_instance_external_audit_events = admin + owner
permission read_organization = member + admin + owner
permission read_all_organization_resources = admin + owner
permission admin_service_accounts = admin + owner
permission create_service_account = admin + owner
permission delete_service_account = admin + owner
permission admin_organization_cluster_agent_mapping = admin + owner
permission read_organization_cluster_agent_mapping = member + admin + owner
permission read_organization_user = member + admin + owner
permission update_organization_user = admin + owner
permission remove_user = admin + owner
permission delete_user = admin + owner
permission admin_add_on_purchase = admin + owner
permission manage_destroy = admin + owner
}
definition group {
relation developer: user
relation group_bot: user
relation guest: user
relation maintainer: user
relation organization: organization
relation owner: user
relation parent_group: group
relation planner: user
relation reporter: user
relation service_account: user
// Core access permissions
permission read = guest + reporter + developer + maintainer + owner + organization->member + parent_group->read
permission read_group = guest + reporter + developer + maintainer + owner + organization->member + parent_group->read
permission guest_access = guest + reporter + developer + maintainer + owner
permission reporter_access = reporter + developer + maintainer + owner
permission developer_access = developer + maintainer + owner
permission maintainer_access = maintainer + owner
permission owner_access = owner
permission planner_access = planner + reporter + developer + maintainer + owner
permission project_bot_access = group_bot
// Administrative permissions
permission admin_group = owner + organization->admin_organization
permission admin_group_member = maintainer + owner
permission admin_compliance_framework = owner + organization->admin_compliance_framework
permission admin_epic = reporter + developer + maintainer + owner
permission admin_cicd_variables = maintainer + owner
permission admin_runner = owner
permission admin_vulnerability = developer + maintainer + owner
permission archive_group = owner
permission remove_group = owner
permission change_visibility_level = owner
// Wiki permissions
permission create_wiki = developer + maintainer + owner
permission admin_wiki = maintainer + owner
permission read_wiki = guest + reporter + developer + maintainer + owner
permission download_wiki_code = reporter + developer + maintainer + owner
// Milestone and iteration permissions
permission admin_milestone = reporter + developer + maintainer + owner
permission read_milestone = guest + reporter + developer + maintainer + owner
permission create_milestone = reporter + developer + maintainer + owner
permission admin_iteration = reporter + developer + maintainer + owner
permission read_iteration = guest + reporter + developer + maintainer + owner
permission create_iteration = developer + maintainer + owner
permission admin_iteration_cadence = developer + maintainer + owner
permission read_iteration_cadence = guest + reporter + developer + maintainer + owner
permission create_iteration_cadence = developer + maintainer + owner
// Label permissions
permission admin_label = reporter + developer + maintainer + owner
permission read_label = guest + reporter + developer + maintainer + owner
permission read_group_labels = guest + reporter + developer + maintainer + owner
// Issue board permissions
permission admin_issue_board = reporter + developer + maintainer + owner
permission read_issue_board = guest + reporter + developer + maintainer + owner
permission admin_issue_board_list = reporter + developer + maintainer + owner
permission read_issue_board_list = guest + reporter + developer + maintainer + owner
// Epic board permissions (EE)
permission admin_epic_board = reporter + developer + maintainer + owner
permission read_epic_board = guest + reporter + developer + maintainer + owner
permission admin_epic_board_list = reporter + developer + maintainer + owner
permission read_epic_board_list = guest + reporter + developer + maintainer + owner
// Package and container permissions
permission admin_package = maintainer + owner
permission read_package = guest + reporter + developer + maintainer + owner
permission create_package = developer + maintainer + owner
permission destroy_package = maintainer + owner
permission read_container_image = guest + reporter + developer + maintainer + owner
// Security permissions
permission read_security_dashboard = reporter + developer + maintainer + owner
permission read_group_security_dashboard = reporter + developer + maintainer + owner
permission access_security_and_compliance = developer + maintainer + owner
permission admin_vulnerability = developer + maintainer + owner
permission read_vulnerability = reporter + developer + maintainer + owner
permission resolve_vulnerability_with_ai = developer + maintainer + owner
// Analytics permissions
permission read_group_analytics_dashboards = reporter + developer + maintainer + owner
permission view_productivity_analytics = reporter + developer + maintainer + owner
permission read_group_activity_analytics = reporter + developer + maintainer + owner
permission read_group_contribution_analytics = reporter + developer + maintainer + owner
permission read_group_repository_analytics = reporter + developer + maintainer + owner
permission view_group_devops_adoption = reporter + developer + maintainer + owner
permission view_group_ci_cd_analytics = reporter + developer + maintainer + owner
permission read_ci_cd_analytics = reporter + developer + maintainer + owner
permission read_group_build_report_results = reporter + developer + maintainer + owner
permission read_group_coverage_reports = reporter + developer + maintainer + owner
// Compliance permissions
permission read_compliance_dashboard = reporter + developer + maintainer + owner
permission admin_compliance_pipeline_configuration = owner
permission read_compliance_adherence_report = developer + maintainer + owner
permission read_compliance_violations_report = developer + maintainer + owner
permission read_group_audit_events = owner
// Member management
permission admin_member_access_request = maintainer + owner
permission read_member_access_request = guest + reporter + developer + maintainer + owner
permission invite_group_members = maintainer + owner
permission override_group_member = owner
permission activate_group_member = maintainer + owner
permission ban_group_member = owner
permission destroy_group_member = owner
permission update_group_member = maintainer + owner
// Service account permissions
permission admin_service_account_member = owner
permission create_service_account = owner
permission delete_service_account = owner
// Runner permissions
permission register_group_runners = maintainer + owner
permission admin_group_or_admin_runner = owner
permission read_group_runners = reporter + developer + maintainer + owner
permission read_group_all_available_runners = reporter + developer + maintainer + owner
// CRM permissions (EE)
permission admin_crm_contact = reporter + developer + maintainer + owner
permission read_crm_contact = guest + reporter + developer + maintainer + owner
permission admin_crm_organization = reporter + developer + maintainer + owner
permission read_crm_organization = guest + reporter + developer + maintainer + owner
// Custom field permissions (EE)
permission admin_custom_field = owner
permission read_custom_field = guest + reporter + developer + maintainer + owner
// Deploy token permissions
permission create_deploy_token = maintainer + owner
permission read_deploy_token = maintainer + owner
permission destroy_deploy_token = maintainer + owner
permission manage_deploy_tokens = maintainer + owner
permission update_group_deploy_key = maintainer + owner
permission update_group_deploy_key_for_group = maintainer + owner
// Dependency proxy permissions
permission admin_dependency_proxy = owner
permission read_dependency_proxy = guest + reporter + developer + maintainer + owner
// AI/Duo permissions
permission access_duo_features = developer + maintainer + owner
permission access_duo_chat = developer + maintainer + owner
permission access_ai_review_mr = developer + maintainer + owner
permission admin_duo_workflow = owner
permission read_duo_workflow = developer + maintainer + owner
permission update_duo_workflow = maintainer + owner
permission destroy_duo_workflow = owner
permission execute_duo_workflow_in_ci = developer + maintainer + owner
// Group settings permissions
permission change_share_with_group_lock = owner
permission change_prevent_sharing_groups_outside_hierarchy = owner
permission change_prevent_group_forking = owner
permission set_emails_disabled = owner
permission set_show_diff_preview_in_email = owner
permission change_new_user_signups_cap = owner
permission change_seat_control = owner
// Additional permissions
permission create_projects = maintainer + owner
permission transfer_projects = owner
permission import_projects = owner
permission admin_namespace = owner
permission read_namespace = guest + reporter + developer + maintainer + owner
permission admin_namespace_cluster_agent_mapping = owner
permission read_namespace_cluster_agent_mapping = guest + reporter + developer + maintainer + owner
permission create_subgroup = owner
permission list_subgroup_epics = reporter + developer + maintainer + owner
permission admin_integrations = owner
permission read_group_member = guest + reporter + developer + maintainer + owner
permission read_group_metadata = guest + reporter + developer + maintainer + owner
permission read_group_activity = guest + reporter + developer + maintainer + owner
permission read_group_issues = guest + reporter + developer + maintainer + owner
permission read_group_merge_requests = guest + reporter + developer + maintainer + owner
permission read_group_milestones = guest + reporter + developer + maintainer + owner
permission read_group_boards = guest + reporter + developer + maintainer + owner
permission read_group_release_stats = reporter + developer + maintainer + owner
permission read_group_credentials_inventory = owner
permission admin_group_credentials_inventory = owner
permission create_custom_emoji = developer + maintainer + owner
permission read_custom_emoji = guest + reporter + developer + maintainer + owner
permission delete_custom_emoji = owner
permission upload_file = guest + reporter + developer + maintainer + owner
permission read_upload = guest + reporter + developer + maintainer + owner
permission destroy_upload = maintainer + owner
permission admin_upload = owner
permission create_group_stage = owner
permission read_group_stage = guest + reporter + developer + maintainer + owner
permission update_group_stage = owner
permission delete_group_stage = owner
permission admin_ldap_group_links = owner
permission admin_saml_group_links = owner
permission admin_group_saml = owner
permission read_group_saml_identity = owner
permission create_jira_connect_subscription = owner
permission read_billable_member = owner
permission read_billing = owner
permission edit_billing = owner
permission start_trial = owner
permission admin_licensed_seat = owner
permission update_subscription_limit = owner
permission read_usage_quotas = owner
permission admin_push_rules = owner
permission change_push_rules = owner
permission change_commit_committer_check = owner
permission change_commit_committer_name_check = owner
permission change_reject_unsigned_commits = owner
permission change_reject_non_dco_commits = owner
permission enable_secret_push_protection = owner
permission read_saml_user = owner
permission read_limit_alert = owner
permission read_licenses = owner
permission read_dependency = guest + reporter + developer + maintainer + owner
permission read_lifecycle = reporter + developer + maintainer + owner
permission read_counts = reporter + developer + maintainer + owner
permission manage_merge_request_settings = owner
permission update_approval_rule = owner
permission export_group_memberships = owner
permission rollover_issues = owner
permission admin_achievement = owner
permission read_achievement = guest + reporter + developer + maintainer + owner
permission award_achievement = owner
permission read_insights = reporter + developer + maintainer + owner
permission read_resource_access_tokens = maintainer + owner
permission create_resource_access_tokens = owner
permission destroy_resource_access_tokens = owner
permission manage_resource_access_tokens = owner
permission admin_setting_to_allow_resource_access_token_creation = owner
permission read_member_role = guest + reporter + developer + maintainer + owner
permission admin_member_role = owner
permission view_member_roles = guest + reporter + developer + maintainer + owner
permission generate_description = developer + maintainer + owner
permission read_virtual_registry = guest + reporter + developer + maintainer + owner
permission create_virtual_registry = owner
permission update_virtual_registry = owner
permission destroy_virtual_registry = owner
permission create_saved_replies = developer + maintainer + owner
permission read_saved_replies = guest + reporter + developer + maintainer + owner
permission update_saved_replies = developer + maintainer + owner
permission destroy_saved_replies = developer + maintainer + owner
permission admin_value_stream = owner
permission modify_value_stream_dashboard_settings = owner
permission read_internal_note = reporter + developer + maintainer + owner
permission read_note = guest + reporter + developer + maintainer + owner
permission create_note = guest + reporter + developer + maintainer + owner
permission admin_note = maintainer + owner
permission mark_note_as_internal = reporter + developer + maintainer + owner
permission award_emoji = guest + reporter + developer + maintainer + owner
permission admin_web_hook = owner
permission read_web_hook = maintainer + owner
permission manage_devops_adoption_namespaces = owner
permission provision_cloud_runner = owner
permission provision_gke_runner = owner
permission read_runner_cloud_provisioning_info = owner
permission read_runner_gke_provisioning_info = owner
permission use_k = developer + maintainer + owner
permission view_type_of_work_charts = reporter + developer + maintainer + owner
permission view_edit_page = developer + maintainer + owner
permission view_globally = guest + reporter + developer + maintainer + owner
permission summarize_comments = developer + maintainer + owner
permission set_note_created_at = owner
permission set_issue_created_at = owner
permission set_issue_updated_at = owner
permission set_epic_created_at = owner
permission set_epic_updated_at = owner
permission set_show_default_award_emojis = owner
permission set_warn_about_potentially_unwanted_characters = owner
permission measure_comment_temperature = developer + maintainer + owner
permission read_product_analytics = reporter + developer + maintainer + owner
permission modify_product_analytics_settings = owner
permission read_harbor_registry = reporter + developer + maintainer + owner
permission read_cluster = reporter + developer + maintainer + owner
permission admin_cluster = owner
permission create_cluster = owner
permission update_cluster = owner
permission add_cluster = owner
permission read_cluster_agent = reporter + developer + maintainer + owner
permission read_cluster_environments = reporter + developer + maintainer + owner
permission read_prometheus = reporter + developer + maintainer + owner
permission read_grafana = reporter + developer + maintainer + owner
permission admin_protected_environments = owner
permission export_work_items = reporter + developer + maintainer + owner
permission import_work_items = developer + maintainer + owner
permission admin_work_item = reporter + developer + maintainer + owner
permission read_work_item = guest + reporter + developer + maintainer + owner
permission create_work_item = guest + reporter + developer + maintainer + owner
permission update_work_item = reporter + developer + maintainer + owner
permission admin_issue = reporter + developer + maintainer + owner
permission read_issue = guest + reporter + developer + maintainer + owner
permission create_issue = guest + reporter + developer + maintainer + owner
permission update_issue = reporter + developer + maintainer + owner
permission destroy_issue = owner
permission reopen_issue = reporter + developer + maintainer + owner
permission create_task = guest + reporter + developer + maintainer + owner
permission create_key_result = developer + maintainer + owner
permission create_objective = developer + maintainer + owner
permission set_issue_metadata = reporter + developer + maintainer + owner
permission set_work_item_metadata = reporter + developer + maintainer + owner
permission clone_issue = reporter + developer + maintainer + owner
permission clone_work_item = reporter + developer + maintainer + owner
permission move_issue = reporter + developer + maintainer + owner
permission move_work_item = reporter + developer + maintainer + owner
permission admin_merge_request = developer + maintainer + owner
permission update_merge_request = developer + maintainer + owner
permission create_epic_tree_relation = developer + maintainer + owner
permission admin_epic_relation = developer + maintainer + owner
permission admin_epic_link_relation = developer + maintainer + owner
permission admin_epic_tree_relation = developer + maintainer + owner
permission bulk_admin_epic = owner
permission read_epic_iid = guest + reporter + developer + maintainer + owner
permission read_epic_relation = guest + reporter + developer + maintainer + owner
permission read_epic_link_relation = guest + reporter + developer + maintainer + owner
permission set_epic_metadata = reporter + developer + maintainer + owner
permission set_confidentiality = reporter + developer + maintainer + owner
permission create_timelog = reporter + developer + maintainer + owner
permission admin_timelog = owner
permission read_timelog_category = guest + reporter + developer + maintainer + owner
permission read_issuable = guest + reporter + developer + maintainer + owner
permission read_issuable_participables = guest + reporter + developer + maintainer + owner
permission create_todo = guest + reporter + developer + maintainer + owner
permission update_todo = guest + reporter + developer + maintainer + owner
permission read_todo = guest + reporter + developer + maintainer + owner
permission update_subscription = guest + reporter + developer + maintainer + owner
permission reopen_merge_request = developer + maintainer + owner
permission resolve_note = developer + maintainer + owner
permission reposition_note = developer + maintainer + owner
permission request_access = guest
permission withdraw_member_access_request = guest + reporter + developer + maintainer + owner
permission read_shared_with_group = guest + reporter + developer + maintainer + owner
permission update_default_branch_protection = owner
permission update_git_access_protocol = owner
permission update_max_artifacts_size = owner
permission read_statistics = reporter + developer + maintainer + owner
permission read_cycle_analytics = reporter + developer + maintainer + owner
permission read_design_activity = reporter + developer + maintainer + owner
permission read_namespace_via_membership = guest + reporter + developer + maintainer + owner
permission read_nested_project_resources = guest + reporter + developer + maintainer + owner
permission read_namespace_catalog = guest + reporter + developer + maintainer + owner
permission read_dora = reporter + developer + maintainer + owner
permission read_enterprise_ai_analytics = reporter + developer + maintainer + owner
permission read_pro_ai_analytics = reporter + developer + maintainer + owner
permission read_security_inventory = developer + maintainer + owner
permission read_security_configuration = developer + maintainer + owner
permission read_security_orchestration_policies = developer + maintainer + owner
permission read_security_orchestration_policy_project = developer + maintainer + owner
permission update_security_orchestration_policy_project = owner
permission modify_security_policy = owner
permission admin_security_testing = owner
permission enable_continuous_vulnerability_scans = owner
permission configure_secret_detection_validity_checks = owner
permission read_secret_detection_validity_checks_status = developer + maintainer + owner
permission read_secret_push_protection_info = developer + maintainer + owner
permission admin_merge_request_approval_settings = owner
permission modify_approvers_rules = owner
permission modify_merge_request_author_setting = owner
permission modify_merge_request_committer_setting = owner
permission edit_group_approval_rule = owner
permission read_group_approval_rule = reporter + developer + maintainer + owner
permission create_vulnerability_export = developer + maintainer + owner
permission read_vulnerability_export = developer + maintainer + owner
permission read_vulnerability_statistics = reporter + developer + maintainer + owner
permission read_jobs_statistics = reporter + developer + maintainer + owner
permission read_runner_usage = owner
permission read_runners_registration_token = owner
permission update_runners_registration_token = owner
permission read_package_within_public_registries = guest + reporter + developer + maintainer + owner
permission read_code = guest + reporter + developer + maintainer + owner
permission read_resource_state_event = guest + reporter + developer + maintainer + owner
permission read_resource_weight_event = guest + reporter + developer + maintainer + owner
permission read_resource_iteration_event = guest + reporter + developer + maintainer + owner
permission read_resource_milestone_event = guest + reporter + developer + maintainer + owner
permission read_resource_label_event = guest + reporter + developer + maintainer + owner
permission admin_group_model_selection = owner
permission read_event = guest + reporter + developer + maintainer + owner
permission use_quick_actions = guest + reporter + developer + maintainer + owner
permission use_slash_commands = guest + reporter + developer + maintainer + owner
permission receive_notifications = guest + reporter + developer + maintainer + owner
}
definition project {
relation ci_job_token: ci_job
relation deploy_token: deploy_token
relation developer: user
relation group: group
relation guest: user
relation internal_access: user
relation maintainer: user
relation namespace: user
relation owner: user
relation planner: user
relation project_bot: user
relation public_access: user:*
relation reporter: user
// Core access permissions
permission read_project = guest + reporter + developer + maintainer + owner + group->read + namespace->read + public_access + internal_access
permission guest_access = guest + reporter + developer + maintainer + owner
permission reporter_access = reporter + developer + maintainer + owner
permission developer_access = developer + maintainer + owner
permission maintainer_access = maintainer + owner
permission owner_access = owner
permission planner_access = planner + reporter + developer + maintainer + owner
permission public_access = public_access
permission public_user_access = public_access + internal_access
permission project_bot_access = project_bot
permission build_read_project = ci_job_token
permission read_project_for_iids = guest + reporter + developer + maintainer + owner + group->read
// Administrative permissions
permission admin_project = owner + group->admin_group
permission archive_project = owner
permission remove_project = owner + group->admin_group
permission change_visibility_level = owner + group->admin_group
permission change_namespace = owner
permission rename_project = maintainer + owner
permission set_emails_disabled = owner
permission set_show_diff_preview_in_email = owner
permission set_show_default_award_emojis = owner
permission set_warn_about_potentially_unwanted_characters = owner
permission manage_owners = owner
// Code and repository permissions
permission read_code = guest + reporter + developer + maintainer + owner + ci_job_token + deploy_token + group->read
permission download_code = guest + reporter + developer + maintainer + owner + ci_job_token + deploy_token
permission build_download_code = guest + ci_job_token
permission download_code_spp_repository = developer + maintainer + owner
permission push_code = developer + maintainer + owner
permission build_push_code = ci_job_token
permission push_code_to_protected_branches = maintainer + owner
permission push_to_delete_protected_branch = maintainer + owner
permission fork_project = reporter + developer + maintainer + owner
permission link_forked_project = developer + maintainer + owner
permission remove_fork_project = owner
// Wiki permissions
permission create_wiki = developer + maintainer + owner
permission admin_wiki = maintainer + owner
permission read_wiki = guest + reporter + developer + maintainer + owner
permission read_wiki_page = guest + reporter + developer + maintainer + owner
permission download_wiki_code = reporter + developer + maintainer + owner
// Snippet permissions
permission create_snippet = developer + maintainer + owner
permission admin_snippet = maintainer + owner
permission read_snippet = guest + reporter + developer + maintainer + owner
permission update_snippet = maintainer + owner
// Milestone permissions
permission admin_milestone = reporter + developer + maintainer + owner
permission read_milestone = guest + reporter + developer + maintainer + owner
permission read_resource_milestone_event = guest + reporter + developer + maintainer + owner
// Label permissions
permission admin_label = reporter + developer + maintainer + owner
permission read_label = guest + reporter + developer + maintainer + owner
permission read_resource_label_event = guest + reporter + developer + maintainer + owner
// Branch and tag permissions
permission admin_tag = maintainer + owner
permission delete_tag = maintainer + owner
permission create_branch_rule = maintainer + owner
permission read_branch_rule = guest + reporter + developer + maintainer + owner
permission update_branch_rule = maintainer + owner
permission destroy_branch_rule = owner
permission admin_protected_branch = maintainer + owner
permission create_protected_branch = maintainer + owner
permission read_protected_branch = guest + reporter + developer + maintainer + owner
permission update_protected_branch = maintainer + owner
permission destroy_protected_branch = owner
permission create_protected_tags = maintainer + owner
permission read_protected_tags = guest + reporter + developer + maintainer + owner
permission update_protected_tags = maintainer + owner
permission destroy_protected_tags = owner
permission manage_protected_tags = maintainer + owner
permission admin_target_branch_rule = owner
permission read_target_branch_rule = guest + reporter + developer + maintainer + owner
permission update_squash_option = developer + maintainer + owner
permission create_squash_option = developer + maintainer + owner
permission read_squash_option = guest + reporter + developer + maintainer + owner
permission destroy_squash_option = owner
// CI/CD permissions
permission read_build = reporter + developer + maintainer + owner + ci_job_token
permission create_build = developer + maintainer + owner
permission update_build = developer + maintainer + owner
permission cancel_build = developer + maintainer + owner
permission erase_build = maintainer + owner
permission play_job = developer + maintainer + owner
permission read_job_artifacts = reporter + developer + maintainer + owner + ci_job_token
permission destroy_artifacts = maintainer + owner
permission admin_build = maintainer + owner
permission create_pipeline = developer + maintainer + owner + ci_job_token
permission create_bot_pipeline = developer + maintainer + owner
permission read_pipeline = guest + reporter + developer + maintainer + owner
permission update_pipeline = developer + maintainer + owner
permission cancel_pipeline = developer + maintainer + owner
permission destroy_pipeline = owner
permission admin_pipeline = maintainer + owner
permission read_pipeline_variable = developer + maintainer + owner
permission set_pipeline_variables = developer + maintainer + owner
permission read_pipeline_metadata = reporter + developer + maintainer + owner
permission admin_cicd_variables = maintainer + owner + group->admin_cicd_variables
permission change_restrict_user_defined_variables = owner
// Pipeline schedule permissions
permission create_pipeline_schedule = developer + maintainer + owner
permission read_pipeline_schedule = reporter + developer + maintainer + owner
permission update_pipeline_schedule = developer + maintainer + owner
permission admin_pipeline_schedule = maintainer + owner
permission play_pipeline_schedule = developer + maintainer + owner
permission take_ownership_pipeline_schedule = developer + maintainer + owner
permission read_pipeline_schedule_variables = developer + maintainer + owner
permission read_ci_pipeline_schedules_plan_limit = reporter + developer + maintainer + owner
// Commit status permissions
permission create_commit_status = developer + maintainer + owner
permission read_commit_status = reporter + developer + maintainer + owner
permission update_commit_status = developer + maintainer + owner
permission admin_commit_status = maintainer + owner
// Issue permissions
permission create_issue = guest + reporter + developer + maintainer + owner
permission read_issue = guest + reporter + developer + maintainer + owner
permission update_issue = reporter + developer + maintainer + owner
permission admin_issue = reporter + developer + maintainer + owner
permission destroy_issue = owner
permission reopen_issue = reporter + developer + maintainer + owner
permission set_issue_iid = owner
permission set_issue_created_at = owner
permission set_issue_updated_at = owner
permission set_issue_metadata = reporter + developer + maintainer + owner
permission set_issue_crm_contacts = reporter + developer + maintainer + owner
permission set_confidentiality = reporter + developer + maintainer + owner
permission read_issue_iid = guest + reporter + developer + maintainer + owner
permission create_incident = reporter + developer + maintainer + owner
permission import_issues = developer + maintainer + owner
permission export_work_items = reporter + developer + maintainer + owner
permission import_work_items = developer + maintainer + owner
permission clone_issue = reporter + developer + maintainer + owner
permission move_issue = reporter + developer + maintainer + owner
permission promote_to_epic = reporter + developer + maintainer + owner
permission read_confidential_issues = reporter + developer + maintainer + owner
permission mark_issue_for_publication = maintainer + owner
// Work item permissions
permission create_work_item = guest + reporter + developer + maintainer + owner
permission read_work_item = guest + reporter + developer + maintainer + owner
permission update_work_item = reporter + developer + maintainer + owner
permission admin_work_item = reporter + developer + maintainer + owner
permission delete_work_item = owner
permission clone_work_item = reporter + developer + maintainer + owner
permission move_work_item = reporter + developer + maintainer + owner
permission set_work_item_metadata = reporter + developer + maintainer + owner
permission admin_work_item_link = maintainer + owner
permission admin_parent_link = maintainer + owner
permission read_work_item_type = guest + reporter + developer + maintainer + owner
permission read_work_item_status = guest + reporter + developer + maintainer + owner
permission create_task = guest + reporter + developer + maintainer + owner
permission create_key_result = developer + maintainer + owner
permission create_objective = developer + maintainer + owner
// Issue board permissions
permission admin_issue_board = reporter + developer + maintainer + owner
permission read_issue_board = guest + reporter + developer + maintainer + owner
permission admin_issue_board_list = reporter + developer + maintainer + owner
permission read_issue_board_list = guest + reporter + developer + maintainer + owner
permission create_non_backlog_issues = reporter + developer + maintainer + owner
// Issue link permissions
permission admin_issue_link = reporter + developer + maintainer + owner
permission read_issue_link = guest + reporter + developer + maintainer + owner
permission admin_issue_relation = reporter + developer + maintainer + owner
permission create_external_issue_link = developer + maintainer + owner
// Merge request permissions
permission create_merge_request_from = developer + maintainer + owner
permission create_merge_request_in = developer + maintainer + owner
permission read_merge_request = guest + reporter + developer + maintainer + owner
permission update_merge_request = developer + maintainer + owner
permission admin_merge_request = developer + maintainer + owner
permission accept_merge_request = maintainer + owner
permission approve_merge_request = developer + maintainer + owner
permission destroy_merge_request = owner
permission reopen_merge_request = developer + maintainer + owner
permission read_merge_request_iid = guest + reporter + developer + maintainer + owner
permission set_merge_request_metadata = developer + maintainer + owner
permission create_merge_request_approval_rules = maintainer + owner
permission update_approvers = maintainer + owner
permission admin_merge_request_approval_settings = owner
permission reset_merge_request_approvals = maintainer + owner
permission modify_approvers_rules = owner
permission modify_merge_request_author_setting = owner
permission modify_merge_request_committer_setting = owner
permission manage_merge_request_settings = owner
permission read_approval_rule = reporter + developer + maintainer + owner
permission update_approval_rule = maintainer + owner
permission edit_approval_rule = maintainer + owner
permission read_approvers = reporter + developer + maintainer + owner
permission read_merge_request_closing_issue = guest + reporter + developer + maintainer + owner
permission read_merge_train = reporter + developer + maintainer + owner
permission read_merge_train_car = reporter + developer + maintainer + owner
permission delete_merge_train_car = maintainer + owner
// Design permissions
permission create_design = reporter + developer + maintainer + owner
permission read_design = guest + reporter + developer + maintainer + owner
permission update_design = developer + maintainer + owner
permission destroy_design = developer + maintainer + owner
permission move_design = developer + maintainer + owner
permission read_design_activity = guest + reporter + developer + maintainer + owner
// Container and package permissions
permission read_container_image = reporter + developer + maintainer + owner + ci_job_token
permission create_container_image = developer + maintainer + owner
permission update_container_image = developer + maintainer + owner
permission admin_container_image = maintainer + owner
permission destroy_container_image = maintainer + owner
permission destroy_container_image_tag = maintainer + owner
permission build_read_container_image = guest + ci_job_token
permission create_container_registry_protection_immutable_tag_rule = owner
permission destroy_container_registry_protection_tag_rule = developer + maintainer + owner
permission enable_container_scanning_for_registry = owner
permission read_package = reporter + developer + maintainer + owner
permission create_package = developer + maintainer + owner
permission destroy_package = maintainer + owner
permission admin_package = maintainer + owner
permission read_package_within_public_registries = guest + reporter + developer + maintainer + owner
permission view_package_registry_project_settings = reporter + developer + maintainer + owner
// Deploy token permissions
permission create_deploy_token = maintainer + owner
permission read_deploy_token = maintainer + owner
permission destroy_deploy_token = maintainer + owner
permission update_deploy_token = maintainer + owner
permission manage_deploy_tokens = maintainer + owner
// Environment and deployment permissions
permission create_environment = developer + maintainer + owner
permission read_environment = reporter + developer + maintainer + owner
permission update_environment = developer + maintainer + owner
permission admin_environment = maintainer + owner
permission destroy_environment = developer + maintainer + owner
permission stop_environment = developer + maintainer + owner
permission create_environment_terminal = maintainer + owner
permission create_deployment = developer + maintainer + owner
permission read_deployment = reporter + developer + maintainer + owner
permission update_deployment = developer + maintainer + owner
permission admin_deployment = maintainer + owner
permission destroy_deployment = maintainer + owner
permission approve_deployment = maintainer + owner
permission admin_protected_environments = owner
permission read_freeze_period = reporter + developer + maintainer + owner
permission create_freeze_period = maintainer + owner
permission update_freeze_period = maintainer + owner
permission destroy_freeze_period = maintainer + owner
// Feature flag permissions
permission create_feature_flag = developer + maintainer + owner
permission read_feature_flag = reporter + developer + maintainer + owner
permission update_feature_flag = developer + maintainer + owner
permission admin_feature_flag = maintainer + owner
permission destroy_feature_flag = developer + maintainer + owner
permission admin_feature_flags_client = maintainer + owner
permission admin_feature_flags_user_lists = maintainer + owner
permission admin_feature_flags_issue_links = maintainer + owner
// Security and vulnerability permissions
permission read_vulnerability = reporter + developer + maintainer + owner
permission admin_vulnerability = developer + maintainer + owner + group->admin_vulnerability
permission create_vulnerability_feedback = developer + maintainer + owner
permission read_vulnerability_feedback = reporter + developer + maintainer + owner
permission update_vulnerability_feedback = developer + maintainer + owner
permission destroy_vulnerability_feedback = developer + maintainer + owner
permission read_vulnerability_scanner = reporter + developer + maintainer + owner
permission read_vulnerability_merge_request_link = reporter + developer + maintainer + owner
permission admin_vulnerability_merge_request_link = developer + maintainer + owner
permission admin_vulnerability_issue_link = developer + maintainer + owner
permission admin_vulnerability_external_issue_link = developer + maintainer + owner
permission create_vulnerability_export = developer + maintainer + owner
permission read_vulnerability_export = developer + maintainer + owner
permission create_vulnerability_archive_export = developer + maintainer + owner
permission read_vulnerability_archive_export = developer + maintainer + owner
permission create_vulnerability_state_transition = developer + maintainer + owner
permission read_vulnerability_representation_information = reporter + developer + maintainer + owner
permission resolve_vulnerability_with_ai = developer + maintainer + owner
permission read_vulnerability_statistics = reporter + developer + maintainer + owner
// Security scanning permissions
permission access_security_and_compliance = developer + maintainer + owner
permission access_security_scans_api = developer + maintainer + owner
permission read_security_dashboard = reporter + developer + maintainer + owner
permission read_project_security_dashboard = reporter + developer + maintainer + owner
permission add_project_to_instance_security_dashboard = owner
permission read_instance_security_dashboard = owner
permission read_security_configuration = developer + maintainer + owner
permission read_security_orchestration_policies = developer + maintainer + owner
permission read_security_orchestration_policy_project = developer + maintainer + owner
permission update_security_orchestration_policy_project = owner
permission modify_security_policy = owner
permission admin_security_testing = owner
permission manage_security_settings = owner
permission read_security_settings = reporter + developer + maintainer + owner
permission read_security_inventory = developer + maintainer + owner
permission read_security_resource = developer + maintainer + owner
permission read_project_security_exclusions = developer + maintainer + owner
permission manage_project_security_exclusions = owner
permission enable_continuous_vulnerability_scans = owner
permission configure_secret_detection_validity_checks = owner
permission read_secret_detection_validity_checks_status = developer + maintainer + owner
permission read_secret_push_protection_info = developer + maintainer + owner
permission enable_secret_push_protection = owner
permission read_coverage_fuzzing = developer + maintainer + owner
permission create_coverage_fuzzing_corpus = developer + maintainer + owner
// Release permissions
permission create_release = developer + maintainer + owner
permission read_release = guest + reporter + developer + maintainer + owner
permission update_release = developer + maintainer + owner
permission destroy_release = maintainer + owner
permission read_release_evidence = guest + reporter + developer + maintainer + owner
// Runner permissions
permission admin_runner = owner + group->admin_runner
permission read_runner = reporter + developer + maintainer + owner
permission update_runner = owner
permission delete_runner = owner
permission assign_runner = maintainer + owner
permission create_runner = maintainer + owner
permission register_project_runners = maintainer + owner
permission admin_project_runners = maintainer + owner
permission read_project_runners = reporter + developer + maintainer + owner
permission read_runners_registration_token = maintainer + owner
permission update_runners_registration_token = maintainer + owner
permission read_runner_usage = owner
permission read_runner_cloud_provisioning_info = owner
permission read_runner_gke_provisioning_info = owner
permission provision_cloud_runner = owner
permission provision_gke_runner = owner
// Pages permissions
permission admin_pages = maintainer + owner
permission read_pages = maintainer + owner
permission update_pages = maintainer + owner
permission remove_pages = maintainer + owner
permission read_pages_content = guest + reporter + developer + maintainer + owner
permission read_pages_deployments = reporter + developer + maintainer + owner
permission update_pages_deployments = maintainer + owner
permission pages_multiple_versions = maintainer + owner
// Terraform state permissions
permission read_terraform_state = developer + maintainer + owner
permission admin_terraform_state = maintainer + owner
// Analytics permissions
permission read_analytics = reporter + developer + maintainer + owner
permission read_insights = reporter + developer + maintainer + owner
permission read_ci_cd_analytics = reporter + developer + maintainer + owner
permission read_code_review_analytics = reporter + developer + maintainer + owner
permission read_issue_analytics = reporter + developer + maintainer + owner
permission read_project_merge_request_analytics = reporter + developer + maintainer + owner
permission read_combined_project_analytics_dashboards = reporter + developer + maintainer + owner
permission read_project_level_value_stream_dashboard_overview_counts = reporter + developer + maintainer + owner
permission view_productivity_analytics = reporter + developer + maintainer + owner
permission read_cycle_analytics = reporter + developer + maintainer + owner
permission read_repository_graphs = reporter + developer + maintainer + owner
permission read_statistics = reporter + developer + maintainer + owner
permission daily_statistics = reporter + developer + maintainer + owner
permission read_build_report_results = reporter + developer + maintainer + owner
permission use_project_statistics_filters = reporter + developer + maintainer + owner
permission admin_value_stream = owner
// AI/Duo permissions
permission access_duo_features = developer + maintainer + owner + group->access_duo_features
permission access_duo_chat = developer + maintainer + owner
permission access_ai_review_mr = developer + maintainer + owner
permission access_duo_agentic_chat = developer + maintainer + owner
permission access_duo_core_features = developer + maintainer + owner
permission access_description_composer = developer + maintainer + owner
permission access_summarize_new_merge_request = developer + maintainer + owner
permission access_summarize_review = developer + maintainer + owner
permission access_generate_commit_message = developer + maintainer + owner
permission duo_workflow = developer + maintainer + owner
permission trigger_amazon_q = developer + maintainer + owner
permission generate_description = developer + maintainer + owner
permission generate_cube_query = developer + maintainer + owner
permission read_ai_agents = reporter + developer + maintainer + owner
permission write_ai_agents = developer + maintainer + owner
// Model registry permissions (ML)
permission read_model_experiments = reporter + developer + maintainer + owner
permission write_model_experiments = developer + maintainer + owner
permission read_model_registry = reporter + developer + maintainer + owner
permission write_model_registry = developer + maintainer + owner
// Observability permissions
permission read_observability = reporter + developer + maintainer + owner
permission write_observability = developer + maintainer + owner
// Compliance permissions
permission admin_compliance_framework = owner + group->admin_compliance_framework
permission read_compliance_framework = reporter + developer + maintainer + owner
permission read_compliance_dashboard = reporter + developer + maintainer + owner
permission read_compliance_adherence_report = developer + maintainer + owner
permission read_compliance_violations_report = developer + maintainer + owner
permission read_project_audit_events = owner
// Member and access permissions
permission admin_project_member = maintainer + owner
permission read_project_member = guest + reporter + developer + maintainer + owner
permission update_project_member = maintainer + owner
permission destroy_project_member = owner
permission destroy_project_bot_member = owner
permission invite_member = maintainer + owner
permission invite_project_members = maintainer + owner
permission import_project_members_from_another_project = maintainer + owner
permission admin_member_access_request = maintainer + owner
permission read_member_access_request = guest + reporter + developer + maintainer + owner
permission withdraw_member_access_request = guest + reporter + developer + maintainer + owner
permission override_group_member = owner
permission destroy_group_member = owner
permission destroy_project_group_link = owner
permission manage_group_link_with_owner_access = owner
permission read_shared_with_group = guest + reporter + developer + maintainer + owner
// Note and comment permissions
permission create_note = guest + reporter + developer + maintainer + owner
permission read_note = guest + reporter + developer + maintainer + owner
permission update_note = guest + reporter + developer + maintainer + owner
permission admin_note = maintainer + owner
permission resolve_note = developer + maintainer + owner
permission reposition_note = developer + maintainer + owner
permission mark_note_as_internal = reporter + developer + maintainer + owner
permission set_note_created_at = owner
permission read_internal_note = reporter + developer + maintainer + owner
permission award_emoji = guest + reporter + developer + maintainer + owner
permission summarize_comments = developer + maintainer + owner
permission measure_comment_temperature = developer + maintainer + owner
// Webhook permissions
permission admin_web_hook = owner
permission read_web_hook = maintainer + owner
// Upload permissions
permission upload_file = guest + reporter + developer + maintainer + owner
permission read_upload = guest + reporter + developer + maintainer + owner
permission destroy_upload = maintainer + owner
permission admin_upload = owner
// Project settings permissions
permission admin_project_aws = owner
permission admin_project_google_cloud = owner
permission admin_project_secrets_manager = owner
permission admin_google_cloud_artifact_registry = owner
permission read_google_cloud_artifact_registry = reporter + developer + maintainer + owner
permission update_max_artifacts_size = owner
permission set_pipeline_variables = developer + maintainer + owner
permission change_commit_committer_check = owner
permission change_commit_committer_name_check = owner
permission read_commit_committer_check = reporter + developer + maintainer + owner
permission read_commit_committer_name_check = reporter + developer + maintainer + owner
permission change_push_rules = owner
permission admin_push_rules = owner
permission change_reject_unsigned_commits = owner
permission change_reject_non_dco_commits = owner
permission read_reject_unsigned_commits = reporter + developer + maintainer + owner
permission read_reject_non_dco_commits = reporter + developer + maintainer + owner
// Integration permissions
permission admin_integrations = maintainer + owner
permission create_jira_connect_subscription = owner
permission admin_operations = maintainer + owner
permission admin_sentry = maintainer + owner
permission read_sentry_issue = reporter + developer + maintainer + owner
permission update_sentry_issue = developer + maintainer + owner
// Misc permissions
permission add_catalog_resource = owner
permission publish_catalog_version = developer + maintainer + owner
permission read_namespace_catalog = guest + reporter + developer + maintainer + owner
permission create_project = developer + maintainer + owner
permission request_access = guest
permission read_project_metadata = guest + reporter + developer + maintainer + owner
permission view_edit_page = developer + maintainer + owner
permission metrics_dashboard = reporter + developer + maintainer + owner
permission read_operations_dashboard = owner
permission use_k = developer + maintainer + owner
permission use_quick_actions = guest + reporter + developer + maintainer + owner
permission use_slash_commands = guest + reporter + developer + maintainer + owner
permission create_timelog = reporter + developer + maintainer + owner
permission admin_timelog = owner
permission read_timelog_category = guest + reporter + developer + maintainer + owner
permission create_todo = guest + reporter + developer + maintainer + owner
permission update_todo = guest + reporter + developer + maintainer + owner
permission read_todo = guest + reporter + developer + maintainer + owner
permission update_subscription = guest + reporter + developer + maintainer + owner
permission delete_project_subscription = owner
permission report_spam = guest + reporter + developer + maintainer + owner
permission read_issuable = guest + reporter + developer + maintainer + owner
permission read_issuable_participables = guest + reporter + developer + maintainer + owner
permission read_issuable_resource_link = guest + reporter + developer + maintainer + owner
permission admin_issuable_resource_link = developer + maintainer + owner
permission read_issuable_metric_image = reporter + developer + maintainer + owner
permission update_issuable_metric_image = developer + maintainer + owner
permission upload_issuable_metric_image = developer + maintainer + owner
permission destroy_issuable_metric_image = developer + maintainer + owner
permission read_incident_management_timeline_event = reporter + developer + maintainer + owner
permission admin_incident_management_timeline_event = developer + maintainer + owner
permission edit_incident_management_timeline_event = developer + maintainer + owner
permission read_incident_management_timeline_event_tag = reporter + developer + maintainer + owner
permission admin_incident_management_timeline_event_tag = maintainer + owner
permission read_incident_management_escalation_policy = reporter + developer + maintainer + owner
permission admin_incident_management_escalation_policy = maintainer + owner
permission read_incident_management_oncall_schedule = reporter + developer + maintainer + owner
permission admin_incident_management_oncall_schedule = maintainer + owner
permission update_escalation_status = developer + maintainer + owner
permission read_alert_management_alert = reporter + developer + maintainer + owner
permission update_alert_management_alert = developer + maintainer + owner
permission read_alert_management_metric_image = reporter + developer + maintainer + owner
permission update_alert_management_metric_image = developer + maintainer + owner
permission upload_alert_management_metric_image = developer + maintainer + owner
permission destroy_alert_management_metric_image = developer + maintainer + owner
permission publish_status_page = developer + maintainer + owner
permission rollover_issues = owner
// Resource access token permissions
permission read_resource_access_tokens = maintainer + owner
permission create_resource_access_tokens = owner
permission destroy_resource_access_tokens = owner
permission manage_resource_access_tokens = owner
permission admin_setting_to_allow_resource_access_token_creation = owner
// Path lock permissions
permission create_path_lock = developer + maintainer + owner
permission read_path_locks = guest + reporter + developer + maintainer + owner
permission admin_path_locks = maintainer + owner
permission destroy_path_lock = developer + maintainer + owner
// On-demand DAST scan permissions
permission create_on_demand_dast_scan = developer + maintainer + owner
permission read_on_demand_dast_scan = developer + maintainer + owner
permission edit_on_demand_dast_scan = developer + maintainer + owner
// Requirement permissions
permission create_requirement = reporter + developer + maintainer + owner
permission read_requirement = reporter + developer + maintainer + owner
permission update_requirement = reporter + developer + maintainer + owner
permission admin_requirement = maintainer + owner
permission destroy_requirement = maintainer + owner
permission import_requirements = developer + maintainer + owner
permission export_requirements = reporter + developer + maintainer + owner
permission create_requirement_test_report = reporter + developer + maintainer + owner
// Test case permissions
permission create_test_case = reporter + developer + maintainer + owner
// Secure file permissions
permission read_secure_files = developer + maintainer + owner
permission admin_secure_files = maintainer + owner
// License policy permissions
permission read_software_license_policy = reporter + developer + maintainer + owner
permission admin_software_license_policy = maintainer + owner
// Mirror permissions
permission admin_mirror = owner
permission admin_remote_mirror = owner
// Trigger permissions
permission admin_trigger = owner
permission manage_trigger = owner
// Cluster permissions
permission read_cluster = reporter + developer + maintainer + owner
permission add_cluster = maintainer + owner
permission create_cluster = maintainer + owner
permission update_cluster = maintainer + owner
permission admin_cluster = owner
permission read_cluster_agent = reporter + developer + maintainer + owner
permission read_cluster_environments = reporter + developer + maintainer + owner
// Prometheus and monitoring permissions
permission read_prometheus = reporter + developer + maintainer + owner
permission read_grafana = reporter + developer + maintainer + owner
permission read_pod_logs = developer + maintainer + owner
// Harbor registry permissions
permission read_harbor_registry = reporter + developer + maintainer + owner
// Build service proxy permissions
permission build_service_proxy_enabled = developer + maintainer + owner
permission create_build_service_proxy = developer + maintainer + owner
// Web IDE permissions
permission create_web_ide_terminal = developer + maintainer + owner
permission read_web_ide_terminal = developer + maintainer + owner
permission update_web_ide_terminal = developer + maintainer + owner
// Resource group permissions
permission read_resource_group = reporter + developer + maintainer + owner
permission update_resource_group = developer + maintainer + owner
// Deploy board permissions
permission read_deploy_board = reporter + developer + maintainer + owner
// External email permissions
permission read_external_emails = reporter + developer + maintainer + owner
// Import/Export permissions
permission read_import_error = owner
permission export_work_items = reporter + developer + maintainer + owner
permission import_work_items = developer + maintainer + owner
// Saved replies permissions
permission create_saved_replies = developer + maintainer + owner
permission read_saved_replies = guest + reporter + developer + maintainer + owner
permission update_saved_replies = developer + maintainer + owner
permission destroy_saved_replies = developer + maintainer + owner
// Other permissions
permission cache_blob = guest + reporter + developer + maintainer + owner
permission read_blob = guest + reporter + developer + maintainer + owner
permission read_commit = guest + reporter + developer + maintainer + owner
permission read_build_trace = developer + maintainer + owner
permission read_build_metadata = developer + maintainer + owner
permission jailbreak = owner
permission build_read_container_image = guest + ci_job_token
permission apply_suggestion = developer + maintainer + owner
permission read_project_subscription = guest + reporter + developer + maintainer + owner
permission read_storage_disk_path = owner
permission read_dora = reporter + developer + maintainer + owner
permission read_product_analytics = reporter + developer + maintainer + owner
permission modify_product_analytics_settings = owner
permission read_counts = reporter + developer + maintainer + owner
permission read_dependency = guest + reporter + developer + maintainer + owner
permission read_lifecycle = reporter + developer + maintainer + owner
permission read_usage_quotas = owner
permission read_limit_alert = owner
permission read_licenses = owner
permission read_scan = developer + maintainer + owner
permission read_event = guest + reporter + developer + maintainer + owner
permission read_parent = guest + reporter + developer + maintainer + owner
permission read_namespace = guest + reporter + developer + maintainer + owner
permission read_namespace_via_membership = guest + reporter + developer + maintainer + owner
permission read_nested_project_resources = guest + reporter + developer + maintainer + owner
permission view_globally = guest + reporter + developer + maintainer + owner
permission receive_notifications = guest + reporter + developer + maintainer + owner
permission read_enterprise_ai_analytics = reporter + developer + maintainer + owner
permission read_pro_ai_analytics = reporter + developer + maintainer + owner
permission read_component = guest + reporter + developer + maintainer + owner
permission read_component_version = guest + reporter + developer + maintainer + owner
permission read_application_setting = owner
permission read_resource_state_event = guest + reporter + developer + maintainer + owner
permission read_resource_weight_event = guest + reporter + developer + maintainer + owner
permission read_resource_iteration_event = guest + reporter + developer + maintainer + owner
permission read_resource_milestone_event = guest + reporter + developer + maintainer + owner
permission read_resource_label_event = guest + reporter + developer + maintainer + owner
permission read_deploy_key = maintainer + owner
permission update_deploy_key = maintainer + owner
permission update_deploy_key_title = maintainer + owner
permission update_deploy_keys_project = maintainer + owner
permission read_custom_emoji = guest + reporter + developer + maintainer + owner
permission create_custom_emoji = developer + maintainer + owner
permission delete_custom_emoji = owner
permission read_external_status_check = reporter + developer + maintainer + owner
permission read_external_status_check_response = developer + maintainer + owner
permission provide_status_check_response = developer + maintainer + owner
permission retry_failed_status_checks = developer + maintainer + owner
permission read_jobs_statistics = reporter + developer + maintainer + owner
permission read_finding_token_status = developer + maintainer + owner
permission read_ci_minutes_limited_summary = reporter + developer + maintainer + owner
permission admin_ci_minutes = owner
permission create_build_terminal = developer + maintainer + owner
permission read_builds = reporter + developer + maintainer + owner
permission read_user_achievement = guest + reporter + developer + maintainer + owner
permission destroy_user_achievement = owner
permission read_abuse_report = owner
permission read_emoji = guest + reporter + developer + maintainer + owner
permission read_dependency_list_export = developer + maintainer + owner
permission create_workspace = developer + maintainer + owner
permission read_workspace = developer + maintainer + owner
permission update_workspace = developer + maintainer + owner
permission read_workspace_variable = developer + maintainer + owner
permission read_workspaces_agent_config = developer + maintainer + owner
permission access_workspaces_feature = developer + maintainer + owner
permission modify_value_stream_dashboard_settings = owner
permission read_achievement = guest + reporter + developer + maintainer + owner
permission award_achievement = owner
permission admin_achievement = owner
permission read_all_workspaces = owner
permission read_crm_contact = reporter + developer + maintainer + owner
permission read_crm_contacts = reporter + developer + maintainer + owner
permission set_issue_crm_contacts = reporter + developer + maintainer + owner
permission admin_crm_contact = reporter + developer + maintainer + owner
permission read_crm_organization = reporter + developer + maintainer + owner
permission admin_crm_organization = reporter + developer + maintainer + owner
permission read_custom_field = guest + reporter + developer + maintainer + owner
permission admin_custom_field = owner
permission read_confidential_epic = reporter + developer + maintainer + owner
permission read_epic_iid = guest + reporter + developer + maintainer + owner
permission read_epic_relation = guest + reporter + developer + maintainer + owner
permission read_epic_link_relation = guest + reporter + developer + maintainer + owner
permission admin_epic_relation = developer + maintainer + owner
permission admin_epic_link_relation = developer + maintainer + owner
permission admin_epic_tree_relation = developer + maintainer + owner
permission read_duo_workflow_event = developer + maintainer + owner
permission read_geo_node = owner
permission read_geo_registry = owner
permission read_all_geo = owner
permission read_virtual_registry = guest + reporter + developer + maintainer + owner
permission read_application_statistics = owner
permission read_instance_metadata = owner
permission read_cloud_connector_status = owner
permission read_usage_trends_measurement = owner
permission read_billable_member = owner
permission read_billing = owner
permission edit_billing = owner
permission start_trial = owner
permission read_licensed_seat = owner
permission admin_licensed_seat = owner
permission read_member_role = guest + reporter + developer + maintainer + owner
permission admin_member_role = owner
permission view_member_roles = guest + reporter + developer + maintainer + owner
permission link = guest + reporter + developer + maintainer + owner
permission unlink = guest + reporter + developer + maintainer + owner
permission sign_in_with_saml_provider = guest + reporter + developer + maintainer + owner
permission read_saml_user = owner
permission read_group_saml_identity = owner
permission log_in = guest + reporter + developer + maintainer + owner
permission accept_terms = guest + reporter + developer + maintainer + owner
permission decline_terms = guest + reporter + developer + maintainer + owner
permission access_admin_area = owner
permission access_api = guest + reporter + developer + maintainer + owner
permission access_git = guest + reporter + developer + maintainer + owner
permission access_x_ray_on_instance = owner
permission access_advanced_vulnerability_management = developer + maintainer + owner
permission access_code_suggestions = developer + maintainer + owner
permission access_glab_ask_git_command = developer + maintainer + owner
permission execute_graphql_mutation = guest + reporter + developer + maintainer + owner
permission receive_notifications = guest + reporter + developer + maintainer + owner
permission approve_user = owner
permission reject_user = owner
permission block_pipl_user = owner
permission delete_pipl_user = owner
permission view_instance_devops_adoption = owner
permission manage_devops_adoption_namespaces = owner
permission read_admin_role = owner
permission create_admin_role = owner
permission update_admin_role = owner
permission delete_admin_role = owner
permission destroy_licenses = owner
permission export_user_permissions = owner
permission manage_subscription = owner
permission manage_duo_core_settings = owner
permission read_duo_core_settings = owner
permission manage_self_hosted_models_settings = owner
permission read_self_hosted_models_settings = owner
permission manage_ldap_admin_links = owner
permission read_runner_upgrade_status = owner
permission read_custom_attribute = owner
permission update_custom_attribute = owner
permission read_users_list = owner
permission read_admin_users = owner
permission read_admin_subscription = owner
permission read_admin_system_information = owner
permission read_admin_health_check = owner
permission read_admin_background_jobs = owner
permission read_admin_background_migrations = owner
permission read_admin_cicd = owner
permission read_admin_gitaly_servers = owner
permission read_admin_metrics_dashboard = owner
permission create_instance_runner = owner
permission update_max_pages_size = owner
permission delete_merge_train_car = maintainer + owner
permission provision_cloud_runner = owner
permission provision_gke_runner = owner
permission list_subgroup_epics = reporter + developer + maintainer + owner
permission get_user_associations_count = guest + reporter + developer + maintainer + owner
permission make_profile_private = guest + reporter + developer + maintainer + owner
permission disable_two_factor = owner
permission delete_conversation_thread = owner
permission audit_event_definitions = owner
permission delete_tag = maintainer + owner
permission update_deploy_token = maintainer + owner
permission update_deploy_key = maintainer + owner
permission update_deploy_key_title = maintainer + owner
permission update_deploy_keys_project = maintainer + owner
permission create_virtual_registry = owner
permission update_virtual_registry = owner
permission destroy_virtual_registry = owner
permission admin_dependency_proxy_packages_settings = owner
permission execute_duo_workflow_in_ci = developer + maintainer + owner
permission link_forked_project = developer + maintainer + owner
permission access_x_ray_on_instance = owner
permission read_runner_manager = owner
permission read_ephemeral_token = owner
permission rotate_token = owner
permission revoke_token = owner
permission read_token = owner
permission read_user_personal_access_tokens = owner
permission create_user_personal_access_token = owner
permission admin_user_email_address = owner
permission read_user_email_address = owner
permission read_user_groups = guest + reporter + developer + maintainer + owner
permission read_user_membership_counts = guest + reporter + developer + maintainer + owner
permission read_user_organizations = guest + reporter + developer + maintainer + owner
permission read_user_preference = guest + reporter + developer + maintainer + owner
permission read_user_profile = guest + reporter + developer + maintainer + owner
permission update_name = guest + reporter + developer + maintainer + owner
permission update_user = owner
permission update_user_status = guest + reporter + developer + maintainer + owner
permission destroy_user = owner
permission update_user_achievement = owner
permission update_owned_user_achievement = owner
permission read_usage = owner
permission view_type_of_work_charts = reporter + developer + maintainer + owner
permission admin_import_source_user = owner
permission create_group_with_default_branch_protection = owner
permission create_group_via_api = owner
permission update_escalation_status = developer + maintainer + owner
permission view_package_registry_project_settings = reporter + developer + maintainer + owner
permission admin_group_model_selection = owner
permission edit_on_demand_dast_scan = developer + maintainer + owner
permission edit_billing = owner
permission edit_group_approval_rule = owner
permission edit_approval_rule = maintainer + owner
permission admin_software_license_policy = maintainer + owner
permission read_software_license_policy = reporter + developer + maintainer + owner
permission bulk_admin_epic = owner
}
definition user {
relation organization_member: organization
relation organization_owner: organization
permission admin_user = user + organization_owner
permission create_user_personal_access_token = user
permission manage_user_personal_access_token = user
permission read_user = user + organization_member + organization_owner
// Additional user permissions
permission read_user_profile = user
permission read_user_preference = user
permission read_user_email_address = user
permission admin_user_email_address = user + organization_owner
permission read_user_groups = user
permission read_user_organizations = user
permission read_user_membership_counts = user
permission read_user_personal_access_tokens = user
permission update_user = user
permission update_user_status = user
permission update_name = user
permission destroy_user = user + organization_owner
permission disable_two_factor = user + organization_owner
permission make_profile_private = user
permission get_user_associations_count = user
permission create_saved_replies = user
permission read_saved_replies = user
permission update_saved_replies = user
permission destroy_saved_replies = user
permission create_snippet = user
permission read_user_achievement = user
permission update_user_achievement = user + organization_owner
permission update_owned_user_achievement = user
permission destroy_user_achievement = user + organization_owner
permission receive_notifications = user
permission log_in = user
permission access_api = user
permission access_git = user
permission execute_graphql_mutation = user
permission use_quick_actions = user
permission use_slash_commands = user
permission request_access = user
permission export_user_permissions = organization_owner
}
// Wiki resource
definition wiki_page {
relation project: project
relation group: group
relation author: user
permission read_wiki_page = project->read_wiki + group->read_wiki
permission create_note = project->create_note + group->create_note
permission read_note = project->read_note + group->read_note
permission update_subscription = project->guest_access + group->guest_access
}
// Snippet resource
definition snippet {
relation project: project
relation author: user
relation namespace: user
permission read_snippet = author + project->read_snippet
permission admin_snippet = author + project->admin_snippet
permission update_snippet = author + project->update_snippet
permission cache_blob = author + project->guest_access
permission create_note = author + project->create_note
permission read_note = project->read_note
permission award_emoji = project->guest_access
}
// Milestone resource
definition milestone {
relation project: project
relation group: group
permission read_milestone = project->read_milestone + group->read_milestone
permission admin_milestone = project->admin_milestone + group->admin_milestone
permission read_resource_milestone_event = project->read_resource_milestone_event + group->read_resource_milestone_event
}
// Label resource
definition label {
relation project: project
relation group: group
permission read_label = project->read_label + group->read_label
permission admin_label = project->admin_label + group->admin_label
permission read_resource_label_event = project->read_resource_label_event + group->read_resource_label_event
}
// Tag resource
definition tag {
relation project: project
relation creator: user
permission delete_tag = project->delete_tag
permission admin_tag = project->admin_tag
}
// Branch resource
definition branch {
relation project: project
permission create_branch_rule = project->create_branch_rule
permission read_branch_rule = project->read_branch_rule
permission update_branch_rule = project->update_branch_rule
permission destroy_branch_rule = project->destroy_branch_rule
}
// Protected branch resource
definition protected_branch {
relation project: project
permission create_protected_branch = project->create_protected_branch
permission read_protected_branch = project->read_protected_branch
permission update_protected_branch = project->update_protected_branch
permission destroy_protected_branch = project->destroy_protected_branch
permission admin_protected_branch = project->admin_protected_branch
}
// Protected tag resource
definition protected_tag {
relation project: project
permission create_protected_tags = project->create_protected_tags
permission read_protected_tags = project->read_protected_tags
permission update_protected_tags = project->update_protected_tags
permission destroy_protected_tags = project->destroy_protected_tags
permission manage_protected_tags = project->manage_protected_tags
}
// Pipeline schedule resource
definition pipeline_schedule {
relation project: project
relation owner: user
permission read_pipeline_schedule = project->read_pipeline_schedule
permission update_pipeline_schedule = owner + project->update_pipeline_schedule
permission admin_pipeline_schedule = project->admin_pipeline_schedule
permission play_pipeline_schedule = owner + project->play_pipeline_schedule
permission take_ownership_pipeline_schedule = project->take_ownership_pipeline_schedule
permission read_pipeline_schedule_variables = project->read_pipeline_schedule_variables
}
// Feature flag resource
definition feature_flag {
relation project: project
permission create_feature_flag = project->create_feature_flag
permission read_feature_flag = project->read_feature_flag
permission update_feature_flag = project->update_feature_flag
permission admin_feature_flag = project->admin_feature_flag
permission destroy_feature_flag = project->destroy_feature_flag
permission admin_feature_flags_client = project->admin_feature_flags_client
permission admin_feature_flags_user_lists = project->admin_feature_flags_user_lists
permission admin_feature_flags_issue_links = project->admin_feature_flags_issue_links
}
// Alert management resource
definition alert {
relation project: project
permission read_alert_management_alert = project->read_alert_management_alert
permission update_alert_management_alert = project->update_alert_management_alert
permission read_alert_management_metric_image = project->read_alert_management_metric_image
permission update_alert_management_metric_image = project->update_alert_management_metric_image
permission upload_alert_management_metric_image = project->upload_alert_management_metric_image
permission destroy_alert_management_metric_image = project->destroy_alert_management_metric_image
}
// Incident management resource
definition incident {
relation project: project
permission read_incident_management_timeline_event = project->read_incident_management_timeline_event
permission admin_incident_management_timeline_event = project->admin_incident_management_timeline_event
permission edit_incident_management_timeline_event = project->edit_incident_management_timeline_event
permission read_incident_management_timeline_event_tag = project->read_incident_management_timeline_event_tag
permission admin_incident_management_timeline_event_tag = project->admin_incident_management_timeline_event_tag
permission read_incident_management_escalation_policy = project->read_incident_management_escalation_policy
permission admin_incident_management_escalation_policy = project->admin_incident_management_escalation_policy
permission read_incident_management_oncall_schedule = project->read_incident_management_oncall_schedule
permission admin_incident_management_oncall_schedule = project->admin_incident_management_oncall_schedule
permission update_escalation_status = project->update_escalation_status
}
// On-demand DAST scan resource
definition on_demand_dast_scan {
relation project: project
permission create_on_demand_dast_scan = project->create_on_demand_dast_scan
permission read_on_demand_dast_scan = project->read_on_demand_dast_scan
permission edit_on_demand_dast_scan = project->edit_on_demand_dast_scan
}
// Requirement resource
definition requirement {
relation project: project
permission create_requirement = project->create_requirement
permission read_requirement = project->read_requirement
permission update_requirement = project->update_requirement
permission admin_requirement = project->admin_requirement
permission destroy_requirement = project->destroy_requirement
}
// Build resource
definition build {
relation project: project
relation pipeline: pipeline
relation user: user
permission read_build = project->read_build
permission read_build_trace = project->read_build_trace
permission read_build_metadata = project->read_build_metadata
permission read_job_artifacts = project->read_job_artifacts
permission update_build = project->update_build
permission cancel_build = user + project->cancel_build
permission erase_build = project->erase_build
permission play_job = project->play_job
permission create_build_terminal = project->create_build_terminal
permission read_web_ide_terminal = project->read_web_ide_terminal
permission update_web_ide_terminal = project->update_web_ide_terminal
permission create_build_service_proxy = project->create_build_service_proxy
permission update_commit_status = project->update_commit_status
}
// CI job resource (enhanced)
definition ci_job {
relation pipeline: pipeline
relation project: project
relation runner: runner
permission create_build = project->create_pipeline
permission download_code = project->download_code
permission read_build = project->read_build
permission read_container_image = project->read_container_image
permission read_project = project->read_project
permission read_ci_minutes_limited_summary = project->read_ci_minutes_limited_summary
permission jailbreak = project->jailbreak
}
// Pipeline resource (enhanced)
definition pipeline {
relation author: user
relation ci_job_token: ci_job
relation project: project
permission admin_pipeline = project->admin_pipeline
permission cancel_pipeline = project->developer + author
permission read_pipeline = project->read_project
permission update_pipeline = project->developer + author + ci_job_token
permission destroy_pipeline = project->destroy_pipeline
permission read_pipeline_metadata = project->read_pipeline_metadata
permission read_pipeline_variable = project->read_pipeline_variable
}
// Runner resource (enhanced)
definition runner {
relation group: group
relation instance: organization
relation organization: organization
relation project: project
permission admin_runner = project->admin_runner + group->admin_runner + organization->admin_organization
permission assign_runner = project->maintainer + group->maintainer + organization->admin
permission read_runner = project->read_project + group->read + organization->read
permission update_runner = project->admin_runner + group->admin_runner + organization->admin
permission delete_runner = project->admin_runner + group->admin_runner + organization->admin
permission read_builds = project->read_build + group->developer + organization->admin
permission read_ephemeral_token = project->admin_runner + group->admin_runner + organization->admin
}
// Issue resource (enhanced)
definition issue {
relation assignee: user
relation author: user
relation epic: epic
relation project: project
permission admin_issue = project->admin_issue
permission create_issue = project->create_issue
permission promote_to_epic = project->reporter
permission read_issue = project->read_project
permission set_confidentiality = project->reporter
permission update_issue = project->admin_issue + author + assignee
permission reopen_issue = project->reopen_issue
permission destroy_issue = project->destroy_issue
permission clone_issue = project->clone_issue
permission move_issue = project->move_issue
permission set_issue_metadata = project->set_issue_metadata
permission set_issue_crm_contacts = project->set_issue_crm_contacts
permission set_issue_iid = project->set_issue_iid
permission set_issue_created_at = project->set_issue_created_at
permission set_issue_updated_at = project->set_issue_updated_at
permission admin_issue_link = project->admin_issue_link
permission read_issue_link = project->read_issue_link
permission admin_issue_relation = project->admin_issue_relation
permission create_note = project->create_note
permission read_note = project->read_note
permission admin_note = project->admin_note
permission award_emoji = project->award_emoji
permission create_todo = project->create_todo
permission mark_note_as_internal = project->mark_note_as_internal
permission read_crm_contacts = project->read_crm_contacts
permission update_subscription = project->update_subscription
}
// Merge request resource (enhanced)
definition merge_request {
relation assignee: user
relation author: user
relation project: project
relation reviewer: user
permission accept_merge_request = project->accept_merge_request
permission admin_merge_request = project->developer + author
permission approve_merge_request = project->approve_merge_request + reviewer
permission create_merge_request_from = project->create_merge_request_from
permission read_merge_request = project->read_project
permission update_merge_request = project->update_merge_request
permission destroy_merge_request = project->destroy_merge_request
permission reopen_merge_request = project->reopen_merge_request
permission set_merge_request_metadata = project->set_merge_request_metadata
permission create_merge_request_approval_rules = project->create_merge_request_approval_rules
permission update_approvers = project->update_approvers
permission reset_merge_request_approvals = project->reset_merge_request_approvals
permission create_todo = project->create_todo
permission mark_note_as_internal = project->mark_note_as_internal
permission update_subscription = project->update_subscription
permission access_generate_commit_message = project->access_generate_commit_message
permission access_summarize_review = project->access_summarize_review
permission provide_status_check_response = project->provide_status_check_response
permission read_external_status_check_response = project->read_external_status_check_response
permission retry_failed_status_checks = project->retry_failed_status_checks
}
// Epic resource (enhanced)
definition epic {
relation assignee: user
relation author: user
relation group: group
permission admin_epic = group->admin_epic + author
permission create_epic = group->reporter
permission read_epic = group->read
permission update_epic = group->admin_epic + author + assignee
permission destroy_epic = group->owner
permission set_epic_metadata = group->reporter
permission set_epic_created_at = group->owner
permission set_epic_updated_at = group->owner
permission set_confidentiality = group->reporter
permission admin_epic_relation = group->developer
permission admin_epic_link_relation = group->developer
permission admin_epic_tree_relation = group->developer
permission create_epic_tree_relation = group->developer
permission read_epic_iid = group->read
permission read_epic_relation = group->read
permission read_epic_link_relation = group->read
permission create_note = group->create_note
permission read_note = group->read_note
permission admin_note = group->admin_note
permission award_emoji = group->award_emoji
permission create_todo = group->create_todo
permission mark_note_as_internal = group->mark_note_as_internal
permission measure_comment_temperature = group->measure_comment_temperature
permission read_issuable = group->read
permission read_issuable_participables = group->read
permission resolve_note = group->developer
permission summarize_comments = group->summarize_comments
}
// Work item resource (enhanced)
definition work_item {
relation assignee: user
relation author: user
relation project: project
permission admin_work_item = project->admin_issue
permission create_work_item = project->create_issue
permission read_work_item = project->read_project
permission update_work_item = project->admin_issue + author + assignee
permission delete_work_item = project->owner
permission clone_work_item = project->clone_work_item
permission move_work_item = project->move_work_item
permission set_work_item_metadata = project->set_work_item_metadata
permission admin_work_item_link = project->admin_work_item_link
permission admin_parent_link = project->admin_parent_link
permission report_spam = project->report_spam
}
// Vulnerability resource (enhanced)
definition vulnerability {
relation author: user
relation finding: finding
relation project: project
permission admin_vulnerability = project->admin_vulnerability
permission create_vulnerability_feedback = project->create_vulnerability_feedback
permission read_vulnerability = project->read_vulnerability
permission read_vulnerability_representation_information = project->read_vulnerability_representation_information
permission create_external_issue_link = project->create_external_issue_link
}
// Finding resource (enhanced)
definition finding {
relation project: project
relation scanner: scanner
permission admin_finding = project->admin_vulnerability
permission read_finding = project->read_vulnerability
permission read_finding_token_status = project->read_finding_token_status
}
// Container repository resource (enhanced)
definition container_repository {
relation group: group
relation project: project
permission admin_container_image = project->admin_container_image
permission destroy_container_image = project->admin_container_image
permission read_container_image = project->read_container_image + group->read_container_image
permission create_container_image = project->create_container_image
permission update_container_image = project->update_container_image
permission destroy_container_image_tag = project->destroy_container_image_tag
}
// Package resource (enhanced)
definition package {
relation group: group
relation project: project
permission admin_package = project->admin_package + group->admin_package
permission create_package = project->developer
permission destroy_package = project->admin_package
permission read_package = project->read_package + group->read_package
permission read_package_within_public_registries = project->read_package_within_public_registries + group->read_package_within_public_registries
}
// Environment resource (enhanced)
definition environment {
relation deployment: deployment
relation project: project
permission admin_environment = project->maintainer
permission read_environment = project->read_project
permission stop_environment = project->developer
permission create_environment = project->create_environment
permission update_environment = project->update_environment
permission destroy_environment = project->destroy_environment
permission create_environment_terminal = project->create_environment_terminal
}
// Deployment resource (enhanced)
definition deployment {
relation author: user
relation environment: environment
relation project: project
permission admin_deployment = project->maintainer
permission approve_deployment = project->maintainer
permission read_deployment = project->read_project
permission create_deployment = project->create_deployment
permission update_deployment = project->update_deployment
permission destroy_deployment = project->destroy_deployment
permission read_pages_deployments = project->read_pages_deployments
permission update_pages_deployments = project->update_pages_deployments
}
// Member role resource (enhanced)
definition member_role {
relation group: group
relation organization: organization
permission admin_member_role = group->owner + organization->admin
permission read_member_role = group->read + organization->read
permission delete_admin_role = organization->admin
permission read_admin_role = organization->admin
permission update_admin_role = organization->admin
}
// Compliance framework resource (enhanced)
definition compliance_framework {
relation group: group
relation organization: organization
permission admin_compliance_framework = group->admin_compliance_framework + organization->admin_compliance_framework
permission read_compliance_framework = group->read + organization->read
permission admin_compliance_pipeline_configuration = group->admin_compliance_pipeline_configuration
}
// Audit event resource (enhanced)
definition audit_event {
relation group: group
relation project: project
relation organization: organization
permission admin_external_audit_events = group->owner + organization->admin_external_audit_events
permission read_audit_event = group->owner + project->owner + organization->admin
permission read_admin_audit_log = organization->admin
permission admin_instance_external_audit_events = organization->admin
permission audit_event_definitions = organization->admin
}
// Deploy token resource (enhanced)
definition deploy_token {
relation project: project
relation group: group
permission read_registry = project->read_container_image + group->read_container_image
permission read_repository = project->read_code + group->read_code
permission write_registry = project->developer + group->developer
permission create_deploy_token = project->create_deploy_token + group->create_deploy_token
permission update_deploy_token = project->update_deploy_token + group->manage_deploy_tokens
}
// Personal access token resource (enhanced)
definition personal_access_token {
relation user: user
relation organization: organization
permission admin_token = user->user + organization->admin
permission use_token = user->user + organization->member
permission read_token = user->user
permission revoke_token = user->user + organization->admin
permission rotate_token = user->user
}
// Scanner resource (enhanced)
definition scanner {
relation project: project
relation group: group
permission admin_scanner = project->admin_vulnerability + group->admin_vulnerability
permission read_scanner = project->read_project + group->read
permission read_scan = project->read_scan
}
// Note resource
definition note {
relation project: project
relation group: group
relation author: user
relation noteable_issue: issue
relation noteable_merge_request: merge_request
relation noteable_epic: epic
permission read_note = project->read_note + group->read_note + author
permission admin_note = project->admin_note + group->admin_note + author
permission update_note = author + project->admin_note + group->admin_note
permission resolve_note = project->resolve_note + group->resolve_note
permission reposition_note = project->reposition_note + group->reposition_note
permission mark_note_as_internal = project->mark_note_as_internal + group->mark_note_as_internal
permission award_emoji = project->award_emoji + group->award_emoji
}
// Todo resource
definition todo {
relation user: user
relation project: project
relation group: group
permission read_todo = user
permission update_todo = user
}
// Timelog resource
definition timelog {
relation project: project
relation group: group
relation user: user
permission admin_timelog = project->admin_timelog + group->admin_timelog
permission create_timelog = project->create_timelog + group->create_timelog
}
// Custom emoji resource
definition custom_emoji {
relation group: group
relation creator: user
permission read_custom_emoji = group->read_custom_emoji
permission delete_custom_emoji = group->delete_custom_emoji + creator
}
// Saved reply resource
definition saved_reply {
relation user: user
relation project: project
relation group: group
permission create_saved_replies = user + project->create_saved_replies + group->create_saved_replies
permission read_saved_replies = user + project->read_saved_replies + group->read_saved_replies
permission update_saved_replies = user + project->update_saved_replies + group->update_saved_replies
permission destroy_saved_replies = user + project->destroy_saved_replies + group->destroy_saved_replies
}
// Achievement resource
definition achievement {
relation namespace: group
relation user: user
permission read_achievement = namespace->read_achievement
permission admin_achievement = namespace->admin_achievement
permission award_achievement = namespace->award_achievement
permission read_user_achievement = user
permission update_user_achievement = namespace->admin_achievement
permission update_owned_user_achievement = user
permission destroy_user_achievement = namespace->admin_achievement
}
// Virtual registry resource
definition virtual_registry {
relation group: group
permission read_virtual_registry = group->read_virtual_registry
permission create_virtual_registry = group->create_virtual_registry
permission update_virtual_registry = group->update_virtual_registry
permission destroy_virtual_registry = group->destroy_virtual_registry
}
// Workspace resource
definition workspace {
relation project: project
relation user: user
permission create_workspace = project->create_workspace
permission read_workspace = project->read_workspace + user
permission update_workspace = project->update_workspace + user
permission read_workspace_variable = project->read_workspace_variable
permission read_workspaces_agent_config = project->read_workspaces_agent_config
permission access_workspaces_feature = project->access_workspaces_feature
permission read_all_workspaces = project->owner
}
// CRM contact resource
definition crm_contact {
relation group: group
permission read_crm_contact = group->read_crm_contact
permission admin_crm_contact = group->admin_crm_contact
}
// CRM organization resource
definition crm_organization {
relation group: group
permission read_crm_organization = group->read_crm_organization
permission admin_crm_organization = group->admin_crm_organization
}
// Custom field resource
definition custom_field {
relation project: project
relation group: group
permission read_custom_field = project->read_custom_field + group->read_custom_field
permission admin_custom_field = project->admin_custom_field + group->admin_custom_field
}
// Duo workflow resource
definition duo_workflow {
relation group: group
relation project: project
permission admin_duo_workflow = group->admin_duo_workflow
permission read_duo_workflow = group->read_duo_workflow + project->duo_workflow
permission update_duo_workflow = group->update_duo_workflow
permission destroy_duo_workflow = group->destroy_duo_workflow
permission execute_duo_workflow_in_ci = group->execute_duo_workflow_in_ci + project->execute_duo_workflow_in_ci
permission read_duo_workflow_event = group->read_duo_workflow_event + project->read_duo_workflow_event
}
// Group stage resource
definition group_stage {
relation group: group
permission create_group_stage = group->create_group_stage
permission read_group_stage = group->read_group_stage
permission update_group_stage = group->update_group_stage
permission delete_group_stage = group->delete_group_stage
}
// Resource access token resource
definition resource_access_token {
relation project: project
relation group: group
permission read_resource_access_tokens = project->read_resource_access_tokens + group->read_resource_access_tokens
permission create_resource_access_tokens = project->create_resource_access_tokens + group->create_resource_access_tokens
permission destroy_resource_access_tokens = project->destroy_resource_access_tokens + group->destroy_resource_access_tokens
permission manage_resource_access_tokens = project->manage_resource_access_tokens + group->manage_resource_access_tokens
}
// Cluster resource
definition cluster {
relation project: project
relation group: group
relation instance: organization
permission read_cluster = project->read_cluster + group->read_cluster + instance->read
permission add_cluster = project->add_cluster + group->add_cluster + instance->admin
permission create_cluster = project->create_cluster + group->create_cluster + instance->admin
permission update_cluster = project->update_cluster + group->update_cluster + instance->admin
permission admin_cluster = project->admin_cluster + group->admin_cluster + instance->admin
permission read_cluster_environments = project->read_cluster_environments + group->read_cluster_environments + instance->read
permission use_k = project->use_k + group->use_k + instance->admin
}
// Cluster agent resource
definition cluster_agent {
relation project: project
relation group: group
relation organization: organization
permission read_cluster_agent = project->read_cluster_agent + group->read_cluster_agent + organization->read_organization_cluster_agent_mapping
permission admin_namespace_cluster_agent_mapping = group->admin_namespace_cluster_agent_mapping
permission admin_organization_cluster_agent_mapping = organization->admin_organization_cluster_agent_mapping
permission read_namespace_cluster_agent_mapping = group->read_namespace_cluster_agent_mapping
permission read_organization_cluster_agent_mapping = organization->read_organization_cluster_agent_mapping
}
// Service account resource
definition service_account {
relation organization: organization
relation group: group
permission admin_service_accounts = organization->admin_service_accounts + group->admin_service_accounts
permission create_service_account = organization->create_service_account + group->create_service_account
permission delete_service_account = organization->delete_service_account + group->delete_service_account
permission admin_service_account_member = group->admin_service_account_member
}
// Import source user resource
definition source_user {
relation namespace: group
permission admin_import_source_user = namespace->owner
}
// Admin role resource
definition admin_role {
relation organization: organization
permission read_admin_role = organization->admin
permission create_admin_role = organization->admin
permission update_admin_role = organization->admin
permission delete_admin_role = organization->admin
}
// Terms resource
definition term {
relation user: user
permission accept_terms = user
permission decline_terms = user
}
// SAML provider resource
definition saml_provider {
relation group: group
permission sign_in_with_saml_provider = group->guest_access
permission admin_group_saml = group->admin_group_saml
permission read_group_saml_identity = group->read_group_saml_identity
permission admin_saml_group_links = group->admin_saml_group_links
permission read_saml_user = group->read_saml_user
}
// Thread resource (for conversations)
definition thread {
relation user: user
permission delete_conversation_thread = user
}
// Global resource for instance-wide permissions
definition global {
relation admin: user
relation user: user
permission access_admin_area = admin
permission access_api = user
permission access_git = user
permission access_code_suggestions = user
permission access_duo_chat = user
permission access_duo_core_features = user
permission access_glab_ask_git_command = user
permission access_workspaces_feature = user
permission access_x_ray_on_instance = admin
permission admin_instance_external_audit_events = admin
permission admin_member_role = admin
permission admin_service_accounts = admin
permission admin_web_hook = admin
permission approve_user = admin
permission create_admin_role = admin
permission create_group = user
permission create_group_via_api = user
permission create_group_with_default_branch_protection = admin
permission create_instance_runner = admin
permission create_organization = admin
permission create_snippet = user
permission destroy_licenses = admin
permission execute_graphql_mutation = user
permission export_user_permissions = admin
permission log_in = user
permission manage_devops_adoption_namespaces = admin
permission manage_duo_core_settings = admin
permission manage_ldap_admin_links = admin
permission manage_self_hosted_models_settings = admin
permission manage_subscription = admin
permission read_admin_audit_log = admin
permission read_admin_background_jobs = admin
permission read_admin_background_migrations = admin
permission read_admin_cicd = admin
permission read_admin_gitaly_servers = admin
permission read_admin_health_check = admin
permission read_admin_metrics_dashboard = admin
permission read_admin_role = admin
permission read_admin_subscription = admin
permission read_admin_system_information = admin
permission read_admin_users = admin
permission read_all_geo = admin
permission read_all_workspaces = admin
permission read_application_statistics = admin
permission read_billable_member = admin
permission read_cloud_connector_status = admin
permission read_custom_attribute = admin
permission read_instance_metadata = admin
permission read_jobs_statistics = admin
permission read_licenses = admin
permission read_member_role = admin
permission read_operations_dashboard = admin
permission read_runner_upgrade_status = admin
permission read_runner_usage = admin
permission read_usage_trends_measurement = admin
permission read_users_list = admin
permission read_web_hook = admin
permission receive_notifications = user
permission reject_user = admin
permission update_custom_attribute = admin
permission update_max_pages_size = admin
permission use_project_statistics_filters = user
permission use_quick_actions = user
permission use_slash_commands = user
permission view_instance_devops_adoption = admin
permission view_member_roles = user
permission view_productivity_analytics = user
permission read_duo_core_settings = admin
permission read_self_hosted_models_settings = admin
}
|