IAM: Protect external service accounts frontend list page (#77834)

* Add `isExternal` property to frontend model

* Remove enabled and token buttons for external SA

* Replace trash icon for lock icon for external SA

* Block the role picker for external SA

* Filter SA list using the external filter

* Add only external filter at backend

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
This commit is contained in:
linoman
2023-11-09 17:45:46 +01:00
committed by GitHub
parent d4322f6e5a
commit 5bc4f56c79
11 changed files with 80 additions and 42 deletions

View File

@@ -85,7 +85,7 @@ type ServiceAccountDTO struct {
// example: false
IsDisabled bool `json:"isDisabled" xorm:"is_disabled"`
// example: false
IsManaged bool `json:"isManaged,omitempty" xorm:"-"`
IsExternal bool `json:"isExternal,omitempty" xorm:"-"`
// example: Viewer
Role string `json:"role" xorm:"role"`
// example: 0
@@ -157,7 +157,7 @@ type ServiceAccountProfileDTO struct {
// example: []
Teams []string `json:"teams" xorm:"-"`
// example: false
IsManaged bool `json:"isManaged,omitempty" xorm:"-"`
IsExternal bool `json:"isExternal,omitempty" xorm:"-"`
Tokens int64 `json:"tokens,omitempty"`
AccessControl map[string]bool `json:"accessControl,omitempty" xorm:"-"`