Skip to content

Service instance permissions should distinguish between read and write #792

Description

@svrc

Issue (Enhancement request)

Many service instance dashboards are available that provide read-only diagnostic / monitoring information that should be made available to SpaceAuditors. Per #405 the current permissioning model is a "true/false" where only SpaceDevelopers have permission to service instances {manage: true}.

Context

Examples of this enhancement in action:

Spring Cloud Services Registry (Eureka) dashboards contain registered services across a peer replicated mesh. For debugging/diagnostic purposes, developers might have SpaceDeveloper Role in their main space but are interoperating with other microservices in other spaces, and should be able to be given SpaceAuditor role in other spaces so they can look at the dashboard of other interoperating peers.

Spring Cloud Services Circuit Breaker (Hystrix/Turbine) dashboards are read-only dashboards that should be made available to a broader group (SpaceAuditors) beyond just SpaceDevelopers.

Pivotal SSO dashboards may declare Oauth resource/scope mappings for microservices that may be browsed by those interoperating with these microservices.

Steps to Reproduce

  1. Create a user with SpaceAuditor role only in a space.
  2. Create a service instance with an available dashboard
  3. Attempt to browse to that dashboard, it will be rejected

Expected result

  1. Create a user with SpaceAuditor role only in a space.
  2. Create a service instance with an available dashboard
  3. Attempt to browse to that dashboard, user should be granted read-only rights

Possible Fix

Introduce a new field to /v2/service_instances/:guid/permissions such as {"read": "true"} that checks for an auditor role and allows newer service instance dashboards to provide a read-only view of their dashboard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions