@@ -9,6 +9,12 @@ namespace Certify.Models.Hub
99{
1010 public class StandardRoles
1111 {
12+ internal static Role BackupOperator { get ; } = new Role ( "backup_operator_role" , "Backup Operator" , "Can perform import and export operations" ,
13+ policies : new List < string > {
14+ StandardPolicies . ManagedInstanceSystemExport ,
15+ StandardPolicies . ManagedInstanceSystemImport
16+ } ) ;
17+
1218 public static Role Administrator { get ; } = new Role ( "sysadmin_role" , "Administrator" , "Certify Server Administrator" ,
1319 policies : new List < string > {
1420 StandardPolicies . ManagementHubAdmin ,
@@ -18,9 +24,11 @@ public class StandardRoles
1824 StandardPolicies . StoredCredentialAdmin ,
1925 StandardPolicies . ManagedChallengeAdmin ,
2026 StandardPolicies . AccessAdmin ,
27+ StandardPolicies . AccessTokenAdmin ,
2128 StandardPolicies . CertificateConsumer ,
22- StandardPolicies . AccessAdmin ,
23- StandardPolicies . ManagedChallengeAdmin
29+ StandardPolicies . ManagedChallengeAdmin ,
30+ StandardPolicies . ManagedInstanceSystemExport ,
31+ StandardPolicies . ManagedInstanceSystemImport
2432 } ) ;
2533
2634 public static Role CertificateManager { get ; } = new Role ( "cert_manager_role" , "Certificate Manager" , "Can manage and administer all certificates" ,
@@ -66,6 +74,7 @@ public class ResourceTypes
6674 {
6775 public static string System { get ; } = "system" ;
6876 public static string SecurityPrinciple { get ; } = "securityprinciple" ;
77+ public static string Role { get ; } = "role" ;
6978 public static string AccessToken { get ; } = "accesstoken" ;
7079 public static string Domain { get ; } = "domain" ;
7180 public static string ManagedItem { get ; } = "manageditem" ;
@@ -122,6 +131,8 @@ public static class StandardResourceActions
122131 public const string SecurityPrinciplePasswordValidate = "securityprinciple_password_validate_action" ;
123132 public const string SecurityPrincipleCheckAccess = "securityprinciple_access_check_action" ;
124133
134+ public const string RoleList = "role_list_action" ;
135+
125136 public const string ManagedChallengeList = "managedchallenge_list_action" ;
126137 public const string ManagedChallengeUpdate = "managedchallenge_update_action" ;
127138 public const string ManagedChallengeDelete = "managedchallenge_update_action" ;
@@ -134,14 +145,16 @@ public static class StandardResourceActions
134145 public const string ManagementHubInstanceAdd = "managementhub_instance_add_action" ;
135146 public const string ManagementHubInstanceUpdate = "managementhub_instance_update_action" ;
136147
148+ public const string ManagementHubInstanceExport = "managementhub_instance_export_action" ;
149+ public const string ManagementHubInstanceImport = "managementhub_instance_import_action" ;
150+
137151 public const string AccessTokenList = "accesstoken_list_action" ;
138152 public const string AccessTokenAdd = "accesstoken_add_action" ;
139153 public const string AccessTokenUpdate = "accesstoken_update_action" ;
140154 public const string AccessTokenDelete = "accesstoken_delete_action" ;
141155
142156 public const string SystemGeneralAction = "system_general_action" ;
143- public const string SystemExport = "system_export_action" ;
144- public const string SystemImport = "system_import_action" ;
157+
145158 public const string SystemStatusList = "system_status_list_action" ;
146159 public const string SystemServiceConfigList = "system_serviceconfig_list_action" ;
147160 public const string SystemCoreSettingsList = "system_coresettings_list_action" ;
@@ -157,13 +170,14 @@ public static class StandardResourceActions
157170 public const string ChallengeProviderDnsZonesList = "challengeprovider_dnszones_list_action" ;
158171
159172 public const string DeploymentTaskExecute = "deploymenttask_execute_action" ;
173+ public const string DeploymentTaskListProviders = "deploymenttask_list_providers_action" ;
160174
161- public const string CertificateDelete = "certificate_delete_action" ;
162175 }
163176
164177 public class StandardPolicies
165178 {
166179 public const string AccessAdmin = "access_admin_policy" ;
180+ public const string AccessTokenAdmin = "accesstoken_admin_policy" ;
167181 public const string ManagedItemAdmin = "manageditem_admin_policy" ;
168182 public const string CertificateConsumer = "certificate_consumer_policy" ;
169183 public const string CertificateAuthorityAdmin = "ca_admin_policy" ;
@@ -175,6 +189,8 @@ public class StandardPolicies
175189 public const string ManagementHubAdmin = "managementhub_admin_policy" ;
176190 public const string ManagementHubReader = "managementhub_reader_policy" ;
177191 public const string ManagedInstance = "managementhub_managedinstance_policy" ;
192+ public const string ManagedInstanceSystemImport = "system_import_policy" ;
193+ public const string ManagedInstanceSystemExport = "system_export_policy" ;
178194 }
179195
180196 public static class Policies
@@ -188,7 +204,8 @@ public static List<Role> GetStandardRoles()
188204 StandardRoles . CertificateConsumer ,
189205 StandardRoles . StoredCredentialConsumer ,
190206 StandardRoles . ManagedChallengeConsumer ,
191- StandardRoles . ManagedInstance
207+ StandardRoles . ManagedInstance ,
208+ StandardRoles . BackupOperator
192209 } ;
193210 }
194211
@@ -218,8 +235,18 @@ public static List<ResourceAction> GetStandardResourceActions()
218235 new ( StandardResourceActions . SecurityPrincipleList , "List Security Principles" , ResourceTypes . SecurityPrinciple ) ,
219236 new ( StandardResourceActions . SecurityPrincipleAdd , "Add New Security Principle" , ResourceTypes . SecurityPrinciple ) ,
220237 new ( StandardResourceActions . SecurityPrincipleUpdate , "Update Security Principles" , ResourceTypes . SecurityPrinciple ) ,
238+ new ( StandardResourceActions . SecurityPrincipleUpdateAssignedRoles , "Update Security Principle Assigned Roles" , ResourceTypes . SecurityPrinciple ) ,
221239 new ( StandardResourceActions . SecurityPrinciplePasswordUpdate , "Update Security Principle Passwords" , ResourceTypes . SecurityPrinciple ) ,
222240 new ( StandardResourceActions . SecurityPrincipleDelete , "Delete Security Principle" , ResourceTypes . SecurityPrinciple ) ,
241+ new ( StandardResourceActions . SecurityPrincipleCheckAccess , "Check Security Principle Access" , ResourceTypes . SecurityPrinciple ) ,
242+ new ( StandardResourceActions . SecurityPrinciplePasswordValidate , "Validate Security Principle Passwords" , ResourceTypes . SecurityPrinciple ) ,
243+
244+ new ( StandardResourceActions . AccessTokenAdd , "Add Access Token" , ResourceTypes . AccessToken ) ,
245+ new ( StandardResourceActions . AccessTokenDelete , "Delete Access Token" , ResourceTypes . AccessToken ) ,
246+ new ( StandardResourceActions . AccessTokenList , "List Access Tokens" , ResourceTypes . AccessToken ) ,
247+ new ( StandardResourceActions . AccessTokenUpdate , "Update Access Token" , ResourceTypes . AccessToken ) ,
248+
249+ new ( StandardResourceActions . RoleList , "List Roles" , ResourceTypes . Role ) ,
223250
224251 new ( StandardResourceActions . ManagedItemRequest , "Request New Managed Items" , ResourceTypes . ManagedItem ) ,
225252
@@ -247,9 +274,12 @@ public static List<ResourceAction> GetStandardResourceActions()
247274 new ( StandardResourceActions . ManagementHubInstancesList , "List managed instances" , ResourceTypes . ManagedInstance ) ,
248275 new ( StandardResourceActions . ManagementHubInstanceJoin , "Join management hub as a managed instance" , ResourceTypes . ManagedInstance ) ,
249276 new ( StandardResourceActions . ManagementHubInstanceDelete , "Delete managed instance from the hub" , ResourceTypes . ManagedInstance ) ,
277+ new ( StandardResourceActions . ManagementHubInstanceAdd , "Add managed instance details to the hub" , ResourceTypes . ManagedInstance ) ,
278+ new ( StandardResourceActions . ManagementHubInstanceUpdate , "Update managed instance detail in the hub" , ResourceTypes . ManagedInstance ) ,
279+
280+ new ( StandardResourceActions . ManagementHubInstanceExport , "Export system configuration" , ResourceTypes . ManagedInstance ) ,
281+ new ( StandardResourceActions . ManagementHubInstanceImport , "Import system configuration" , ResourceTypes . ManagedInstance ) ,
250282
251- new ( StandardResourceActions . SystemExport , "Export system configuration" , ResourceTypes . System ) ,
252- new ( StandardResourceActions . SystemImport , "Import system configuration" , ResourceTypes . System ) ,
253283 new ( StandardResourceActions . SystemStatusList , "List system status" , ResourceTypes . System ) ,
254284 new ( StandardResourceActions . SystemServiceConfigList , "List system service configuration" , ResourceTypes . System ) ,
255285 new ( StandardResourceActions . SystemCoreSettingsList , "List system core settings" , ResourceTypes . System ) ,
@@ -264,7 +294,8 @@ public static List<ResourceAction> GetStandardResourceActions()
264294 new ( StandardResourceActions . ChallengeProviderList , "List challenge providers" , ResourceTypes . ChallengeProvider ) ,
265295 new ( StandardResourceActions . ChallengeProviderDnsZonesList , "List challenge provider DNS zones" , ResourceTypes . ChallengeProvider ) ,
266296
267- new ( StandardResourceActions . DeploymentTaskExecute , "Execute deployment task" , ResourceTypes . DeploymentTask )
297+ new ( StandardResourceActions . DeploymentTaskExecute , "Execute deployment task" , ResourceTypes . DeploymentTask ) ,
298+ new ( StandardResourceActions . DeploymentTaskListProviders , "List deployment task providers" , ResourceTypes . DeploymentTask )
268299
269300 } ;
270301 }
@@ -302,6 +333,17 @@ public static List<ResourcePolicy> GetStandardPolicies()
302333 StandardResourceActions . SecurityPrinciplePasswordUpdate
303334 }
304335 } ,
336+ new ( ) {
337+ Id = StandardPolicies . AccessTokenAdmin ,
338+ Title = "Access Token Administration" ,
339+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
340+ ResourceActions = new List < string > {
341+ StandardResourceActions . AccessTokenList ,
342+ StandardResourceActions . AccessTokenAdd ,
343+ StandardResourceActions . AccessTokenDelete ,
344+ StandardResourceActions . AccessTokenUpdate ,
345+ }
346+ } ,
305347 new ( ) {
306348 Id = StandardPolicies . CertificateConsumer ,
307349 Title = "Consume Certificates" ,
@@ -396,15 +438,35 @@ public static List<ResourcePolicy> GetStandardPolicies()
396438 }
397439 } ,
398440 new ( ) {
399- Id = StandardPolicies . ManagedInstance ,
400- Title = "Management Hub Managed Instance" ,
401- Description = "Join management hub and alow to be managed by hub." ,
402- SecurityPermissionType = SecurityPermissionType . ALLOW ,
403- IsResourceSpecific = true ,
404- ResourceActions = new List < string > {
405- StandardResourceActions . ManagementHubInstanceJoin
406- }
407- }
441+ Id = StandardPolicies . ManagedInstance ,
442+ Title = "Management Hub Managed Instance" ,
443+ Description = "Join management hub and allow to be managed by hub." ,
444+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
445+ IsResourceSpecific = true ,
446+ ResourceActions = new List < string > {
447+ StandardResourceActions . ManagementHubInstanceJoin
448+ }
449+ } ,
450+ new ( ) {
451+ Id = StandardPolicies . ManagedInstanceSystemImport ,
452+ Title = "Instance Configuration Import" ,
453+ Description = "Import system configuration and apply to a target instance" ,
454+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
455+ IsResourceSpecific = true ,
456+ ResourceActions = new List < string > {
457+ StandardResourceActions . ManagementHubInstanceImport
458+ }
459+ } ,
460+ new ( ) {
461+ Id = StandardPolicies . ManagedInstanceSystemExport ,
462+ Title = "Instance Configuration Export" ,
463+ Description = "Export system configuration for a target instance" ,
464+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
465+ IsResourceSpecific = true ,
466+ ResourceActions = new List < string > {
467+ StandardResourceActions . ManagementHubInstanceExport
468+ }
469+ }
408470 } ;
409471 }
410472 }
0 commit comments