@janus-idp/backstage-plugin-rbac
TypeScript icon, indicating that this package has built-in type declarations

1.17.9 • Public • Published

RBAC frontend plugin for Backstage

The RBAC UI plugin offers a streamlined user interface for effectively managing permissions in your Backstage instance. It allows you to assign permissions to users and groups, empowering them to view, create, modify and delete Roles, provided they have the necessary permissions.

For administrators

Installation

Installing as a dynamic plugin?

The sections below are relevant for static plugins. If the plugin is expected to be installed as a dynamic one:

Prerequisites

Follow the RBAC backend plugin README to integrate rbac in your Backstage instance.


NOTE

  • For non-admin users, to enable create role button on Administration -> RBAC roles list page, the role associated with your user should have the following permission policies associated with it. Add the following in your permission policies configuration file:
p, role:default/team_a, catalog-entity, read, allow
p, role:default/team_a, policy-entity, read, allow
p, role:default/team_a, policy-entity, create, allow
g, user:default/<login-id/user-name>, role:default/team_a
  • To fetch the permissions from other plugins like Kubernetes and Jenkins in the Role Form as mentioned here, add the following configuration in your app-config.yaml:
permission:
  enabled: true
  rbac:
    pluginsWithPermission:
      - kubernetes
      - jenkins
    admin:
      users:
        - name: user:default/<user-name>

Procedure

  1. Install the RBAC UI plugin executing the following command from the Backstage root directory :

    yarn workspace app add @janus-idp/backstage-plugin-rbac
  2. Add Route in packages/app/src/App.tsx:

    /* highlight-add-next-line */
    import { RbacPage } from '@janus-idp/backstage-plugin-rbac';
    
    <Route path="/rbac" element={<RbacPage />} />;
  3. Add Administration Sidebar Item in packages/app/src/components/Root/Root.tsx:

    /* highlight-add-next-line */
    import { Administration } from '@janus-idp/backstage-plugin-rbac';
    
    export const Root = ({ children }: PropsWithChildren<{}>) => (
     <SidebarPage>
       <Sidebar>
          ...
          <Administration />
          ...
       <Sidebar>
     </SidebarPage>
    );
  4. For users with vanilla backstage instance, would need to integrate Auth in to the instance:

    • # see https://backstage.io/docs/auth/ to learn about auth providers
      environment: development
      providers:
         # Plugin: GitHub
         github:
            development:
            clientId: ${GITHUB_BUCKET_CLIENT_ID}
            clientSecret: ${GITHUB_BUCKET_SECRET}
         # Plugin: BitBucket
         bitbucket:
            development:
            clientId: ${BIT_BUCKET_CLIENT_ID}
            clientSecret: ${BIT_BUCKET_SECRET}
         ...
    • Integrate the SignIn component to be able to sign-in to the Backstage instance.

Readme

Keywords

Package Sidebar

Install

npm i @janus-idp/backstage-plugin-rbac

Weekly Downloads

596

Version

1.17.9

License

Apache-2.0

Unpacked Size

17.5 MB

Total Files

452

Last publish

Collaborators

  • nickboldt
  • tomaskral
  • tumido