Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • P Partition
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Open Subsurface Data Universe SoftwareOpen Subsurface Data Universe Software
  • Platform
  • System
  • Partition
  • Issues
  • #4
Closed
Open
Issue created Sep 28, 2020 by neelesh thakur@nthakurMaintainer

Modify contract to capture sensitive flag for partition specific secrets config

Problem: Partition secret configurations available via partition service can pose following security issue:

  1. All Secrets are exposed by default to any service regardless if they need them or not.
  2. Secrets are held in memory cache both at the partition service and the service client library.
  3. Potential for logging secret values to the central logger are increased due to secrets being sent in Microservice HTTP Response Objects. a. Trace Logs are often used to dump http request and response objects between services for debugging purposes.

Solution: Provide a mechanism to distinguish secret and non-secret partition configuration and delegate responsibility of consuming secret using cloud native libraries at service level.

Current

public class PartitionInfo {

    @Builder.Default
    Map<String, Object> properties = new HashMap<>();
}

e.g.

{
    "properties": {
        "complianceRuleSet": "shared",
        "storageAccountKey": "test-storage-**secret**"
    }
}

Proposed

public class PartitionInfo {

    @Builder.Default
    Map<String, Property> properties = new HashMap<>();
}

public class Property {
    @Builder.Default
    private boolean sensitive = false;
    private Object value;
}

e.g.

{
    "properties": {
        "complianceRuleSet": {
            "sensitive": false,
            "value": "shared"
        },
        "storageAccountKey": {
            "sensitive": true,
            "value": "test-storage-**key**"
        }
    }
}
Edited Sep 28, 2020 by neelesh thakur
Assignee
Assign to
Time tracking