databricks-cli/libs/iamutil/service_principal.go

17 lines
555 B
Go
Raw Normal View History

package iamutil
import (
"github.com/databricks/databricks-sdk-go/service/iam"
"github.com/google/uuid"
)
// Determines whether a given user is a service principal.
// This function uses a heuristic: if the user name is a UUID, then we assume
// it's a service principal. Unfortunately, the service principal listing API is too
// slow for our purposes. And the "users" and "service principals get" APIs
// only allow access by workspace admins.
func IsServicePrincipal(user *iam.User) bool {
_, err := uuid.Parse(user.UserName)
return err == nil
}