feat(ACI): EE-261 Add RBAC to ACI (#226)

Co-authored-by: Simon Meng <simon.meng@portainer.io>
This commit is contained in:
cong meng
2021-04-09 12:20:33 +12:00
committed by GitHub
parent 4682056058
commit 6eb3dfd3c2
11 changed files with 270 additions and 23 deletions
@@ -0,0 +1,60 @@
package authorization
import (
portainer "github.com/portainer/portainer/api"
)
// DefaultAzureAuthorizations returns a set of default azure authorizations based on user's role.
func DefaultAzureAuthorizations() map[portainer.RoleID]portainer.Authorizations {
return map[portainer.RoleID]portainer.Authorizations{
portainer.RoleIDEndpointAdmin: {
portainer.OperationAzureSubscriptionsList: true,
portainer.OperationAzureSubscriptionGet: true,
portainer.OperationAzureProviderGet: true,
portainer.OperationAzureResourceGroupsList: true,
portainer.OperationAzureResourceGroupGet: true,
portainer.OperationAzureContainerGroupsList: true,
portainer.OperationAzureContainerGroupGet: true,
portainer.OperationAzureContainerGroupCreate: true,
portainer.OperationAzureContainerGroupDelete: true,
},
portainer.RoleIDOperator: {
portainer.OperationAzureSubscriptionsList: true,
portainer.OperationAzureSubscriptionGet: true,
portainer.OperationAzureProviderGet: true,
portainer.OperationAzureResourceGroupsList: true,
portainer.OperationAzureResourceGroupGet: true,
portainer.OperationAzureContainerGroupsList: true,
portainer.OperationAzureContainerGroupGet: true,
},
portainer.RoleIDHelpdesk: {
portainer.OperationAzureSubscriptionsList: true,
portainer.OperationAzureSubscriptionGet: true,
portainer.OperationAzureProviderGet: true,
portainer.OperationAzureResourceGroupsList: true,
portainer.OperationAzureResourceGroupGet: true,
portainer.OperationAzureContainerGroupsList: true,
portainer.OperationAzureContainerGroupGet: true,
},
portainer.RoleIDStandardUser: {
portainer.OperationAzureSubscriptionsList: true,
portainer.OperationAzureSubscriptionGet: true,
portainer.OperationAzureProviderGet: true,
portainer.OperationAzureResourceGroupsList: true,
portainer.OperationAzureResourceGroupGet: true,
portainer.OperationAzureContainerGroupsList: true,
portainer.OperationAzureContainerGroupGet: true,
portainer.OperationAzureContainerGroupCreate: true,
portainer.OperationAzureContainerGroupDelete: true,
},
portainer.RoleIDReadonly: {
portainer.OperationAzureSubscriptionsList: true,
portainer.OperationAzureSubscriptionGet: true,
portainer.OperationAzureProviderGet: true,
portainer.OperationAzureResourceGroupsList: true,
portainer.OperationAzureResourceGroupGet: true,
portainer.OperationAzureContainerGroupsList: true,
portainer.OperationAzureContainerGroupGet: true,
},
}
}