-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate and define the work required for SPIFFE-based client identity management #232
Comments
We might need to collaborate with Sabree on this one to use his |
As part of this investigation, we also need to work with the SPIFFE and SPIRE project representatives to decide on what a proof-of-concept or demo milestone should look like. When expanding this issue into separate engineering items, we should include the work needed to build a demo or showcase of some kind. One example might be to extend the command-line client so that we can demonstrate the creation of keys and show that different workloads cannot "see" each others' keys. |
Work needed to complete this task entirely:
In terms of doing a demo, the following could be done locally and recorded (can be done before any PR is up):
|
@paulhowardarm I will let you close this issue if you think the results of the investigation are satisfactory. |
Summary
This request is to establish a design and create the necessary work items (in this repo and other repos) that are needed to enhance Parsec with a SPIFFE-based identity subsystem.
Details
Investigation required, but necessary work items likely to include:
ValidateJWTSVID
operation to check the JWT and return the SPIFFE identity string (which is then used as the keystore namespace in the familiar way).Dependencies
At the moment, the SPIFFE spec does not allow clients to call
ValidateJWTSVID
without themselves being a registered SPIFFE workload. The expectation is that Parsec would not be a workload. However, the SPIFFE specification group have agreed that this restriction can be lifted. See spiffe/spiffe#132Once the spec is changed, SPIRE (as the reference implementation) will also need to honour that change so that Parsec can call the function on a SPIRE-based system. There isn't a GH issue for that yet.
There will be a need to call SPIFFE workload API operations from Rust. We need to investigate whether this can be done by consuming https://github.com/heavypackets/rust-spiffe and adding the necessary JWT operations (since it currently only supports X509).
Definition of Done
This issue can be considered done once we have created a credible set of well-understood issues in this repo and in the other repos for an end-to-end SPIFFE multi-tenant solution. We should by this point be in a position for any contributor(s) to start implementing those pieces without requiring further investigation.
The text was updated successfully, but these errors were encountered: