Skip to content

FAS-PFM-SEC-05Staff Administration and Customer Entry acceptance

Markdown

FAS-PFM-SEC-05

Staff Administration and Customer Entry acceptance

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaPlatformModuleSecurity, Customers and WorkspacesRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

Scenarios

5 scenarios proving FEAT-PFM-SEC-05 as a whole.

01 Staff administration keeps HQ authority separate from customer entry behaviournegative proposed
Exercises
CAP-PFM-SEC-016 CAP-PFM-SEC-017 CAP-PFM-SEC-018
Relies on
ATS-PFM-SEC-016-01 ATS-PFM-SEC-017-02 ATS-PFM-SEC-018-01
Preconditions
A staff reader and a Rhythm Administrator have active staff memberships.
Steps
[object Object]
Expected
HQ operations follow staff keys and the entry request supplies no customer authority.
Data
A disposable customer and workspace with run-owned memberships, assignments and definitions; clock-controlled expiry fixtures where needed.
Source
services-platform:modules/security/tests/e2e/hq-staff-and-roles.e2e.spec.js#refuses an administrator of a customer, holding every key at that customer, as 403,services-platform:modules/security/tests/e2e/approved-access.e2e.spec.js#refuses a request for more days than the maximum, 400,services-platform:modules/security/tests/integration/services/service-principals/hq-service-principals-routes.integration.spec.js#answers a staff reader 200 with every principal, this suite’s among them with its kind and status
02 Suspending staff ends the access attached to their staff role interactionnegative proposed
Exercises
CAP-PFM-SEC-016 CAP-PFM-SEC-017
Relies on
ATS-PFM-SEC-016-05 ATS-PFM-SEC-017-08
Preconditions
A staff member has standing access and another administrator can suspend that member.
Steps
[object Object]
Expected
The suspended member cannot use standing customer access despite retained browser state.
Data
A disposable customer and workspace with run-owned memberships, assignments and definitions; clock-controlled expiry fixtures where needed.
Source
services-platform:modules/security/tests/integration/services/invitations/delete-user.integration.spec.js#refuses the delete as the staff guard does, naming its machine code,services-platform:modules/security/tests/integration/services/staff-access/rhythm-administrator-standing-access.integration.spec.js#gives each Rhythm Administrator one active customer-level standing grant in every customer but Rhythm’s own
03 Customer approval and revocation delimit support work lifecycle proposed
Exercises
CAP-PFM-SEC-016 CAP-PFM-SEC-017
Relies on
ATS-PFM-SEC-016-01 ATS-PFM-SEC-017-04 ATS-PFM-SEC-017-06 ATS-PFM-SEC-017-13
Preconditions
A customer administrator receives a support request from identified Rhythm staff.
Steps
[object Object]
Expected
The grant and matching assignment agree; revocation ends customer work while the staff identity remains known.
Data
A disposable customer and workspace with run-owned memberships, assignments and definitions; clock-controlled expiry fixtures where needed.
Source
services-platform:modules/security/tests/e2e/hq-staff-and-roles.e2e.spec.js#refuses an administrator of a customer, holding every key at that customer, as 403,services-platform:modules/security/tests/integration/services/staff-access/approved-tenant-access.integration.spec.js#gives the two days that were asked for, not the thirty the approver named,services-platform:modules/security/tests/integration/services/staff-access/approved-tenant-access.integration.spec.js#revokes the assignment the grant materialized, so the access is gone at once,services-platform:modules/security/tests/e2e/approved-access.e2e.spec.js#grants the staff member nothing while the request is waiting
04 Missing staff management keys do not follow from staff status permission proposed
Exercises
CAP-PFM-SEC-016 CAP-PFM-SEC-017 CAP-PFM-SEC-018
Relies on
ATS-PFM-SEC-016-01 ATS-PFM-SEC-017-07 ATS-PFM-SEC-018-01
Preconditions
Support Representative and Rhythm Administrator identities are available.
Steps
[object Object]
Expected
Only the separate required management keys permit these privileged acts.
Data
A disposable customer and workspace with run-owned memberships, assignments and definitions; clock-controlled expiry fixtures where needed.
Source
services-platform:modules/security/tests/e2e/hq-staff-and-roles.e2e.spec.js#refuses an administrator of a customer, holding every key at that customer, as 403,services-platform:modules/security/tests/integration/services/staff-access/open-emergency-access.integration.spec.js#refuses a reason shorter than twenty characters,services-platform:modules/security/tests/integration/services/service-principals/hq-service-principals-routes.integration.spec.js#answers a staff reader 200 with every principal, this suite’s among them with its kind and status
05 Repeated deployment and status calls preserve existing decisions regressionnegative proposed
Exercises
CAP-PFM-SEC-016 CAP-PFM-SEC-017 CAP-PFM-SEC-018
Relies on
ATS-PFM-SEC-016-07 ATS-PFM-SEC-017-08 ATS-PFM-SEC-018-02 ATS-PFM-SEC-018-05
Preconditions
A founder is suspended, a standing grant is manually revoked, and a service principal is suspended.
Steps
[object Object]
Expected
Reconciliation does not silently reactivate those identities or recreate the manually revoked entry; status replay adds no change event.
Data
A disposable customer and workspace with run-owned memberships, assignments and definitions; clock-controlled expiry fixtures where needed.
Source
services-platform:modules/security/tests/integration/services/provisioning/ensure-founding-staff.integration.spec.js#answers the first run as created,services-platform:modules/security/tests/integration/services/staff-access/rhythm-administrator-standing-access.integration.spec.js#gives each Rhythm Administrator one active customer-level standing grant in every customer but Rhythm’s own,services-platform:modules/security/tests/integration/services/service-principals/hq-service-principals-routes.integration.spec.js#records the suspension: the staff member, Rhythm’s customer, narrowing, from active to suspended,services-platform:modules/security/tests/integration/services/provisioning/ensure-service-principals.integration.spec.js#answers both as inserted, and none unchanged

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.