AccessControl: Resource permission translator (#95423)
* Standardize Resource Translator in options * Add resource UID translator for resource permissions * fix comments * fix comments
This commit is contained in:
@@ -42,6 +42,9 @@ func ProvideReceiverPermissionsService(
|
||||
options := resourcepermissions.Options{
|
||||
Resource: "receivers",
|
||||
ResourceAttribute: "uid",
|
||||
ResourceTranslator: func(ctx context.Context, orgID int64, resourceID string) (string, error) {
|
||||
return alertingac.ScopeReceiversProvider.GetResourceIDFromUID(resourceID), nil
|
||||
},
|
||||
Assignments: resourcepermissions.Assignments{
|
||||
Users: true,
|
||||
Teams: true,
|
||||
|
||||
@@ -41,8 +41,9 @@ func ProvideServiceAccountPermissions(
|
||||
teamService team.Service, userService user.Service, actionSetService resourcepermissions.ActionSetService,
|
||||
) (*ServiceAccountPermissionsService, error) {
|
||||
options := resourcepermissions.Options{
|
||||
Resource: "serviceaccounts",
|
||||
ResourceAttribute: "id",
|
||||
Resource: "serviceaccounts",
|
||||
ResourceAttribute: "id",
|
||||
ResourceTranslator: serviceaccounts.UIDToIDHandler(serviceAccountRetrieverService),
|
||||
ResourceValidator: func(ctx context.Context, orgID int64, resourceID string) error {
|
||||
ctx, span := tracer.Start(ctx, "accesscontrol.ossaccesscontrol.ProvideServiceAccountPermissions.ResourceValidator")
|
||||
defer span.End()
|
||||
|
||||
@@ -41,9 +41,10 @@ func ProvideTeamPermissions(
|
||||
teamService team.Service, userService user.Service, actionSetService resourcepermissions.ActionSetService,
|
||||
) (*TeamPermissionsService, error) {
|
||||
options := resourcepermissions.Options{
|
||||
Resource: "teams",
|
||||
ResourceAttribute: "id",
|
||||
OnlyManaged: true,
|
||||
Resource: "teams",
|
||||
ResourceAttribute: "id",
|
||||
OnlyManaged: true,
|
||||
ResourceTranslator: team.UIDToIDHandler(teamService),
|
||||
ResourceValidator: func(ctx context.Context, orgID int64, resourceID string) error {
|
||||
ctx, span := tracer.Start(ctx, "accesscontrol.ossaccesscontrol.ProvideTeamerPermissions.ResourceValidator")
|
||||
defer span.End()
|
||||
|
||||
Reference in New Issue
Block a user