@@ -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,12 @@ 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 ,
32+ StandardPolicies . SystemUser
2433 } ) ;
2534
2635 public static Role CertificateManager { get ; } = new Role ( "cert_manager_role" , "Certificate Manager" , "Can manage and administer all certificates" ,
@@ -66,6 +75,7 @@ public class ResourceTypes
6675 {
6776 public static string System { get ; } = "system" ;
6877 public static string SecurityPrinciple { get ; } = "securityprinciple" ;
78+ public static string Role { get ; } = "role" ;
6979 public static string AccessToken { get ; } = "accesstoken" ;
7080 public static string Domain { get ; } = "domain" ;
7181 public static string ManagedItem { get ; } = "manageditem" ;
@@ -122,6 +132,8 @@ public static class StandardResourceActions
122132 public const string SecurityPrinciplePasswordValidate = "securityprinciple_password_validate_action" ;
123133 public const string SecurityPrincipleCheckAccess = "securityprinciple_access_check_action" ;
124134
135+ public const string RoleList = "role_list_action" ;
136+
125137 public const string ManagedChallengeList = "managedchallenge_list_action" ;
126138 public const string ManagedChallengeUpdate = "managedchallenge_update_action" ;
127139 public const string ManagedChallengeDelete = "managedchallenge_update_action" ;
@@ -134,14 +146,16 @@ public static class StandardResourceActions
134146 public const string ManagementHubInstanceAdd = "managementhub_instance_add_action" ;
135147 public const string ManagementHubInstanceUpdate = "managementhub_instance_update_action" ;
136148
149+ public const string ManagementHubInstanceExport = "managementhub_instance_export_action" ;
150+ public const string ManagementHubInstanceImport = "managementhub_instance_import_action" ;
151+
137152 public const string AccessTokenList = "accesstoken_list_action" ;
138153 public const string AccessTokenAdd = "accesstoken_add_action" ;
139154 public const string AccessTokenUpdate = "accesstoken_update_action" ;
140155 public const string AccessTokenDelete = "accesstoken_delete_action" ;
141156
142157 public const string SystemGeneralAction = "system_general_action" ;
143- public const string SystemExport = "system_export_action" ;
144- public const string SystemImport = "system_import_action" ;
158+
145159 public const string SystemStatusList = "system_status_list_action" ;
146160 public const string SystemServiceConfigList = "system_serviceconfig_list_action" ;
147161 public const string SystemCoreSettingsList = "system_coresettings_list_action" ;
@@ -157,13 +171,14 @@ public static class StandardResourceActions
157171 public const string ChallengeProviderDnsZonesList = "challengeprovider_dnszones_list_action" ;
158172
159173 public const string DeploymentTaskExecute = "deploymenttask_execute_action" ;
174+ public const string DeploymentTaskListProviders = "deploymenttask_list_providers_action" ;
160175
161- public const string CertificateDelete = "certificate_delete_action" ;
162176 }
163177
164178 public class StandardPolicies
165179 {
166180 public const string AccessAdmin = "access_admin_policy" ;
181+ public const string AccessTokenAdmin = "accesstoken_admin_policy" ;
167182 public const string ManagedItemAdmin = "manageditem_admin_policy" ;
168183 public const string CertificateConsumer = "certificate_consumer_policy" ;
169184 public const string CertificateAuthorityAdmin = "ca_admin_policy" ;
@@ -175,6 +190,10 @@ public class StandardPolicies
175190 public const string ManagementHubAdmin = "managementhub_admin_policy" ;
176191 public const string ManagementHubReader = "managementhub_reader_policy" ;
177192 public const string ManagedInstance = "managementhub_managedinstance_policy" ;
193+ public const string ManagedInstanceSystemImport = "system_import_policy" ;
194+ public const string ManagedInstanceSystemExport = "system_export_policy" ;
195+ public const string SystemUser = "system_user_policy" ;
196+
178197 }
179198
180199 public static class Policies
@@ -188,7 +207,8 @@ public static List<Role> GetStandardRoles()
188207 StandardRoles . CertificateConsumer ,
189208 StandardRoles . StoredCredentialConsumer ,
190209 StandardRoles . ManagedChallengeConsumer ,
191- StandardRoles . ManagedInstance
210+ StandardRoles . ManagedInstance ,
211+ StandardRoles . BackupOperator
192212 } ;
193213 }
194214
@@ -218,8 +238,18 @@ public static List<ResourceAction> GetStandardResourceActions()
218238 new ( StandardResourceActions . SecurityPrincipleList , "List Security Principles" , ResourceTypes . SecurityPrinciple ) ,
219239 new ( StandardResourceActions . SecurityPrincipleAdd , "Add New Security Principle" , ResourceTypes . SecurityPrinciple ) ,
220240 new ( StandardResourceActions . SecurityPrincipleUpdate , "Update Security Principles" , ResourceTypes . SecurityPrinciple ) ,
241+ new ( StandardResourceActions . SecurityPrincipleUpdateAssignedRoles , "Update Security Principle Assigned Roles" , ResourceTypes . SecurityPrinciple ) ,
221242 new ( StandardResourceActions . SecurityPrinciplePasswordUpdate , "Update Security Principle Passwords" , ResourceTypes . SecurityPrinciple ) ,
222243 new ( StandardResourceActions . SecurityPrincipleDelete , "Delete Security Principle" , ResourceTypes . SecurityPrinciple ) ,
244+ new ( StandardResourceActions . SecurityPrincipleCheckAccess , "Check Security Principle Access" , ResourceTypes . SecurityPrinciple ) ,
245+ new ( StandardResourceActions . SecurityPrinciplePasswordValidate , "Validate Security Principle Passwords" , ResourceTypes . SecurityPrinciple ) ,
246+
247+ new ( StandardResourceActions . AccessTokenAdd , "Add Access Token" , ResourceTypes . AccessToken ) ,
248+ new ( StandardResourceActions . AccessTokenDelete , "Delete Access Token" , ResourceTypes . AccessToken ) ,
249+ new ( StandardResourceActions . AccessTokenList , "List Access Tokens" , ResourceTypes . AccessToken ) ,
250+ new ( StandardResourceActions . AccessTokenUpdate , "Update Access Token" , ResourceTypes . AccessToken ) ,
251+
252+ new ( StandardResourceActions . RoleList , "List Roles" , ResourceTypes . Role ) ,
223253
224254 new ( StandardResourceActions . ManagedItemRequest , "Request New Managed Items" , ResourceTypes . ManagedItem ) ,
225255
@@ -247,9 +277,12 @@ public static List<ResourceAction> GetStandardResourceActions()
247277 new ( StandardResourceActions . ManagementHubInstancesList , "List managed instances" , ResourceTypes . ManagedInstance ) ,
248278 new ( StandardResourceActions . ManagementHubInstanceJoin , "Join management hub as a managed instance" , ResourceTypes . ManagedInstance ) ,
249279 new ( StandardResourceActions . ManagementHubInstanceDelete , "Delete managed instance from the hub" , ResourceTypes . ManagedInstance ) ,
280+ new ( StandardResourceActions . ManagementHubInstanceAdd , "Add managed instance details to the hub" , ResourceTypes . ManagedInstance ) ,
281+ new ( StandardResourceActions . ManagementHubInstanceUpdate , "Update managed instance detail in the hub" , ResourceTypes . ManagedInstance ) ,
282+
283+ new ( StandardResourceActions . ManagementHubInstanceExport , "Export system configuration" , ResourceTypes . ManagedInstance ) ,
284+ new ( StandardResourceActions . ManagementHubInstanceImport , "Import system configuration" , ResourceTypes . ManagedInstance ) ,
250285
251- new ( StandardResourceActions . SystemExport , "Export system configuration" , ResourceTypes . System ) ,
252- new ( StandardResourceActions . SystemImport , "Import system configuration" , ResourceTypes . System ) ,
253286 new ( StandardResourceActions . SystemStatusList , "List system status" , ResourceTypes . System ) ,
254287 new ( StandardResourceActions . SystemServiceConfigList , "List system service configuration" , ResourceTypes . System ) ,
255288 new ( StandardResourceActions . SystemCoreSettingsList , "List system core settings" , ResourceTypes . System ) ,
@@ -264,7 +297,8 @@ public static List<ResourceAction> GetStandardResourceActions()
264297 new ( StandardResourceActions . ChallengeProviderList , "List challenge providers" , ResourceTypes . ChallengeProvider ) ,
265298 new ( StandardResourceActions . ChallengeProviderDnsZonesList , "List challenge provider DNS zones" , ResourceTypes . ChallengeProvider ) ,
266299
267- new ( StandardResourceActions . DeploymentTaskExecute , "Execute deployment task" , ResourceTypes . DeploymentTask )
300+ new ( StandardResourceActions . DeploymentTaskExecute , "Execute deployment task" , ResourceTypes . DeploymentTask ) ,
301+ new ( StandardResourceActions . DeploymentTaskListProviders , "List deployment task providers" , ResourceTypes . DeploymentTask )
268302
269303 } ;
270304 }
@@ -287,7 +321,15 @@ public static List<ResourcePolicy> GetStandardPolicies()
287321 StandardResourceActions . ManagedItemTaskAdd ,
288322 StandardResourceActions . ManagedItemTaskUpdate ,
289323 StandardResourceActions . ManagedItemTaskDelete ,
290- StandardResourceActions . ManagedItemLogView
324+ StandardResourceActions . ManagedItemLogView ,
325+ StandardResourceActions . TargetIPAddressesList ,
326+ StandardResourceActions . TargetServiceItemIdentifiersList ,
327+ StandardResourceActions . TargetServiceItemsList ,
328+ StandardResourceActions . TargetTypesList ,
329+ StandardResourceActions . ChallengeProviderList ,
330+ StandardResourceActions . ChallengeProviderDnsZonesList ,
331+ StandardResourceActions . DeploymentTaskExecute ,
332+ StandardResourceActions . DeploymentTaskListProviders
291333 }
292334 } ,
293335 new ( ) {
@@ -299,9 +341,22 @@ public static List<ResourcePolicy> GetStandardPolicies()
299341 StandardResourceActions . SecurityPrincipleAdd ,
300342 StandardResourceActions . SecurityPrincipleUpdate ,
301343 StandardResourceActions . SecurityPrincipleDelete ,
302- StandardResourceActions . SecurityPrinciplePasswordUpdate
344+ StandardResourceActions . SecurityPrinciplePasswordUpdate ,
345+ StandardResourceActions . SecurityPrincipleUpdateAssignedRoles
346+
303347 }
304348 } ,
349+ new ( ) {
350+ Id = StandardPolicies . AccessTokenAdmin ,
351+ Title = "Access Token Administration" ,
352+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
353+ ResourceActions = new List < string > {
354+ StandardResourceActions . AccessTokenList ,
355+ StandardResourceActions . AccessTokenAdd ,
356+ StandardResourceActions . AccessTokenDelete ,
357+ StandardResourceActions . AccessTokenUpdate ,
358+ }
359+ } ,
305360 new ( ) {
306361 Id = StandardPolicies . CertificateConsumer ,
307362 Title = "Consume Certificates" ,
@@ -371,7 +426,8 @@ public static List<ResourcePolicy> GetStandardPolicies()
371426 SecurityPermissionType = SecurityPermissionType . ALLOW ,
372427 IsResourceSpecific = true ,
373428 ResourceActions = new List < string > {
374- StandardResourceActions . ManagedChallengeRequest
429+ StandardResourceActions . ManagedChallengeRequest ,
430+ StandardResourceActions . ManagedChallengeCleanup
375431 }
376432 } ,
377433 new ( ) {
@@ -382,7 +438,15 @@ public static List<ResourcePolicy> GetStandardPolicies()
382438 IsResourceSpecific = true ,
383439 ResourceActions = new List < string > {
384440 StandardResourceActions . ManagementHubInstancesList ,
385- StandardResourceActions . ManagementHubInstanceDelete
441+ StandardResourceActions . ManagementHubInstanceAdd ,
442+ StandardResourceActions . ManagementHubInstanceUpdate ,
443+ StandardResourceActions . ManagementHubInstanceDelete ,
444+ StandardResourceActions . SystemStatusList ,
445+ StandardResourceActions . SystemCoreSettingsList ,
446+ StandardResourceActions . SystemCoreSettingsUpdate ,
447+ StandardResourceActions . SystemServiceConfigList ,
448+ StandardResourceActions . SystemServiceConfigUpdate ,
449+
386450 }
387451 } ,
388452 new ( ) {
@@ -396,15 +460,47 @@ public static List<ResourcePolicy> GetStandardPolicies()
396460 }
397461 } ,
398462 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- }
463+ Id = StandardPolicies . ManagedInstance ,
464+ Title = "Management Hub Managed Instance" ,
465+ Description = "Join management hub and allow to be managed by hub." ,
466+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
467+ IsResourceSpecific = true ,
468+ ResourceActions = new List < string > {
469+ StandardResourceActions . ManagementHubInstanceJoin
470+ }
471+ } ,
472+ new ( ) {
473+ Id = StandardPolicies . ManagedInstanceSystemImport ,
474+ Title = "Instance Configuration Import" ,
475+ Description = "Import system configuration and apply to a target instance" ,
476+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
477+ IsResourceSpecific = true ,
478+ ResourceActions = new List < string > {
479+ StandardResourceActions . ManagementHubInstanceImport
480+ }
481+ } ,
482+ new ( ) {
483+ Id = StandardPolicies . ManagedInstanceSystemExport ,
484+ Title = "Instance Configuration Export" ,
485+ Description = "Export system configuration for a target instance" ,
486+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
487+ IsResourceSpecific = true ,
488+ ResourceActions = new List < string > {
489+ StandardResourceActions . ManagementHubInstanceExport
490+ }
491+ } ,
492+ new ( ) {
493+ Id = StandardPolicies . SystemUser ,
494+ Title = "System User" ,
495+ Description = "Perform general system use actions" ,
496+ SecurityPermissionType = SecurityPermissionType . ALLOW ,
497+ IsResourceSpecific = true ,
498+ ResourceActions = new List < string > {
499+ StandardResourceActions . SecurityPrincipleCheckAccess ,
500+ StandardResourceActions . SecurityPrinciplePasswordValidate ,
501+ StandardResourceActions . RoleList ,
502+ }
503+ }
408504 } ;
409505 }
410506 }
0 commit comments