diff --git a/plugins/catalog-backend/src/service/AuthorizedCatalogProcessingOrchestrator.ts b/plugins/catalog-backend/src/service/AuthorizedCatalogProcessingOrchestrator.ts index e4657f01ba..76fad3b33c 100644 --- a/plugins/catalog-backend/src/service/AuthorizedCatalogProcessingOrchestrator.ts +++ b/plugins/catalog-backend/src/service/AuthorizedCatalogProcessingOrchestrator.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { NotAllowedError } from '@backstage/errors'; -import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; +import { catalogEntityValidatePermission } from '@backstage/plugin-catalog-common/alpha'; import { AuthorizeResult } from '@backstage/plugin-permission-common'; import { CatalogProcessingOrchestrator, @@ -47,7 +47,7 @@ export class AuthorizedCatalogProcessingOrchestrator await this.permissionApi.authorize( [ { - permission: catalogEntityCreatePermission, + permission: catalogEntityValidatePermission, }, ], { credentials }, diff --git a/plugins/catalog-backend/src/service/AuthorizedLocationAnalyzer.ts b/plugins/catalog-backend/src/service/AuthorizedLocationAnalyzer.ts index de0cc189b3..dc9af81dcd 100644 --- a/plugins/catalog-backend/src/service/AuthorizedLocationAnalyzer.ts +++ b/plugins/catalog-backend/src/service/AuthorizedLocationAnalyzer.ts @@ -15,7 +15,7 @@ */ import { NotAllowedError } from '@backstage/errors'; -import { catalogLocationCreatePermission } from '@backstage/plugin-catalog-common/alpha'; +import { catalogLocationAnalyzePermission } from '@backstage/plugin-catalog-common/alpha'; import { AuthorizeResult } from '@backstage/plugin-permission-common'; import { BackstageCredentials, @@ -39,7 +39,7 @@ export class AuthorizedLocationAnalyzer implements LocationAnalyzer { await this.permissionApi.authorize( [ { - permission: catalogLocationCreatePermission, + permission: catalogLocationAnalyzePermission, }, ], { credentials: credentials }, diff --git a/plugins/catalog-common/src/alpha.ts b/plugins/catalog-common/src/alpha.ts index 2dfc028332..8a3ed17431 100644 --- a/plugins/catalog-common/src/alpha.ts +++ b/plugins/catalog-common/src/alpha.ts @@ -20,9 +20,11 @@ export { catalogEntityCreatePermission, catalogEntityDeletePermission, catalogEntityRefreshPermission, + catalogEntityValidatePermission, catalogLocationReadPermission, catalogLocationCreatePermission, catalogLocationDeletePermission, + catalogLocationAnalyzePermission, catalogPermissions, } from './permissions'; export type { CatalogEntityPermission } from './permissions'; diff --git a/plugins/catalog-common/src/permissions.ts b/plugins/catalog-common/src/permissions.ts index 3082c0da70..fa86268f61 100644 --- a/plugins/catalog-common/src/permissions.ts +++ b/plugins/catalog-common/src/permissions.ts @@ -91,6 +91,15 @@ export const catalogEntityRefreshPermission = createPermission({ resourceType: RESOURCE_TYPE_CATALOG_ENTITY, }); +/** + * This permission is used to authorize validating catalog entities. + * @alpha + */ +export const catalogEntityValidatePermission = createPermission({ + name: 'catalog.entity.validate', + attributes: {}, +}); + /** * This permission is used to designate actions that involve reading one or more * locations from the catalog. @@ -118,6 +127,15 @@ export const catalogLocationCreatePermission = createPermission({ }, }); +/** + * This permission is used to authorize analyzing catalog locations. + * @alpha + */ +export const catalogLocationAnalyzePermission = createPermission({ + name: 'catalog.location.analyze', + attributes: {}, +}); + /** * This permission is used to designate actions that involve deleting locations * from the catalog. @@ -139,7 +157,9 @@ export const catalogPermissions = [ catalogEntityCreatePermission, catalogEntityDeletePermission, catalogEntityRefreshPermission, + catalogEntityValidatePermission, catalogLocationReadPermission, catalogLocationCreatePermission, catalogLocationDeletePermission, + catalogLocationAnalyzePermission, ];