Skip to content

Commit 541c3cc

Browse files
Access Control: Expand list of controlled actions
1 parent 8507554 commit 541c3cc

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

src/Certify.Models/Hub/AccessControlConfig.cs

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Collections.Generic;
2-
using System.Diagnostics;
32

43
namespace Certify.Models.Hub
54
{
@@ -21,6 +20,8 @@ public class StandardRoles
2120
public static Role Administrator { get; } = new Role("sysadmin", "Administrator", "Certify Server Administrator",
2221
policies: new List<string> {
2322
StandardPolicies.ManagedItemAdmin,
23+
StandardPolicies.CertificateAuthorityAdmin,
24+
StandardPolicies.AcmeAccountAdmin,
2425
StandardPolicies.StoredCredentialAdmin,
2526
StandardPolicies.ManagedChallengeAdmin,
2627
StandardPolicies.AccessAdmin
@@ -71,6 +72,7 @@ public class ResourceTypes
7172
public static string Certificate { get; } = "certificate";
7273
public static string StoredCredential { get; } = "storedcredential";
7374
public static string CertificateAuthority { get; } = "ca";
75+
public static string AcmeAccount { get; } = "acmeaccount";
7476
public static string ManagedChallenge { get; } = "managedchallenge";
7577
}
7678

@@ -91,6 +93,16 @@ public static class StandardResourceActions
9193
public const string ManagedItemTaskDelete = "manageditem_task_delete";
9294
public const string ManagedItemLogView = "manageditem_log_view";
9395

96+
public const string CertificateAuthorityAdd = "ca_add";
97+
public const string CertificateAuthorityUpdate = "ca_update";
98+
public const string CertificateAuthorityDelete = "ca_delete";
99+
public const string CertificateAuthorityList = "ca_list";
100+
101+
public const string AcmeAccountAdd = "acmeaccount_add";
102+
public const string AcmeAccountUpdate = "acmeaccount_update";
103+
public const string AcmeAccountDelete = "acmeaccount_delete";
104+
public const string AcmeAccountList = "acmeaccount_list";
105+
94106
public const string StoredCredentialAdd = "storedcredential_add";
95107
public const string StoredCredentialUpdate = "storedcredential_update";
96108
public const string StoredCredentialDelete = "storedcredential_delete";
@@ -115,6 +127,8 @@ public class StandardPolicies
115127
public const string AccessAdmin = "access_admin";
116128
public const string ManagedItemAdmin = "manageditem_admin";
117129
public const string CertificateConsumer = "certificate_consumer";
130+
public const string CertificateAuthorityAdmin = "ca_admin";
131+
public const string AcmeAccountAdmin = "acmeaccount_admin";
118132
public const string StoredCredentialAdmin = "storedcredential_admin";
119133
public const string StoredCredentialConsumer = "storedcredential_consumer";
120134
public const string ManagedChallengeConsumer = "managedchallenge_consumer";
@@ -142,6 +156,16 @@ public static List<ResourceAction> GetStandardResourceActions()
142156
new(StandardResourceActions.CertificateDownload, "Certificate Download", ResourceTypes.Certificate),
143157
new(StandardResourceActions.CertificateKeyDownload, "Certificate Private Key Download", ResourceTypes.Certificate),
144158

159+
new(StandardResourceActions.CertificateAuthorityAdd, "Add New Certificate Authority", ResourceTypes.CertificateAuthority),
160+
new(StandardResourceActions.CertificateAuthorityUpdate, "Update Certificate Authority", ResourceTypes.CertificateAuthority),
161+
new(StandardResourceActions.CertificateAuthorityDelete, "Delete Certificate Authority", ResourceTypes.CertificateAuthority),
162+
new(StandardResourceActions.CertificateAuthorityList, "List Certificate Authority", ResourceTypes.CertificateAuthority),
163+
164+
new(StandardResourceActions.AcmeAccountAdd, "Add New ACME Account", ResourceTypes.AcmeAccount),
165+
new(StandardResourceActions.AcmeAccountUpdate, "Update ACME Account", ResourceTypes.AcmeAccount),
166+
new(StandardResourceActions.AcmeAccountDelete, "Delete ACME Account", ResourceTypes.AcmeAccount),
167+
new(StandardResourceActions.AcmeAccountList, "List ACME Accounts", ResourceTypes.AcmeAccount),
168+
145169
new(StandardResourceActions.StoredCredentialAdd, "Add New Stored Credential", ResourceTypes.StoredCredential),
146170
new(StandardResourceActions.StoredCredentialUpdate, "Update Stored Credential", ResourceTypes.StoredCredential),
147171
new(StandardResourceActions.StoredCredentialDelete, "Delete Stored Credential", ResourceTypes.StoredCredential),
@@ -162,7 +186,8 @@ public static List<ResourceAction> GetStandardResourceActions()
162186
new(StandardResourceActions.ManagedItemDelete, "Delete Managed Items", ResourceTypes.ManagedItem),
163187

164188
new(StandardResourceActions.ManagedItemTest, "Test Managed Item Renewal Checks", ResourceTypes.ManagedItem),
165-
new(StandardResourceActions.ManagedItemRenew, "Request/Renew Managed Items", ResourceTypes.ManagedItem),
189+
new(StandardResourceActions.ManagedItemRequest, "Request Managed Items", ResourceTypes.ManagedItem),
190+
new(StandardResourceActions.ManagedItemRenew, "Renew Managed Items", ResourceTypes.ManagedItem),
166191

167192
new(StandardResourceActions.ManagedItemTaskAdd, "Add Managed Item Tasks", ResourceTypes.ManagedItem),
168193
new(StandardResourceActions.ManagedItemTaskUpdate, "Update Managed Item Tasks", ResourceTypes.ManagedItem),
@@ -190,6 +215,7 @@ public static List<ResourcePolicy> GetStandardPolicies()
190215
StandardResourceActions.ManagedItemUpdate,
191216
StandardResourceActions.ManagedItemDelete,
192217
StandardResourceActions.ManagedItemTest,
218+
StandardResourceActions.ManagedItemRequest,
193219
StandardResourceActions.ManagedItemRenew,
194220
StandardResourceActions.ManagedItemTaskAdd,
195221
StandardResourceActions.ManagedItemTaskUpdate,
@@ -218,6 +244,28 @@ public static List<ResourcePolicy> GetStandardPolicies()
218244
StandardResourceActions.CertificateKeyDownload
219245
}
220246
},
247+
new() {
248+
Id=StandardPolicies.CertificateAuthorityAdmin,
249+
Title="Certificate Authority Administration",
250+
SecurityPermissionType= SecurityPermissionType.ALLOW,
251+
ResourceActions= new List<string>{
252+
StandardResourceActions.CertificateAuthorityAdd,
253+
StandardResourceActions.CertificateAuthorityUpdate,
254+
StandardResourceActions.CertificateAuthorityDelete,
255+
StandardResourceActions.CertificateAuthorityList
256+
}
257+
},
258+
new() {
259+
Id=StandardPolicies.AcmeAccountAdmin,
260+
Title="ACME Account Administration",
261+
SecurityPermissionType= SecurityPermissionType.ALLOW,
262+
ResourceActions= new List<string>{
263+
StandardResourceActions.AcmeAccountList,
264+
StandardResourceActions.AcmeAccountAdd,
265+
StandardResourceActions.AcmeAccountUpdate,
266+
StandardResourceActions.AcmeAccountDelete
267+
}
268+
},
221269
new() {
222270
Id=StandardPolicies.StoredCredentialAdmin,
223271
Title="Stored Credential Administration",

0 commit comments

Comments
 (0)