Skip to content
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

Section on WIMSE Identity #7

Merged
merged 10 commits into from
Jul 1, 2024
Merged

Section on WIMSE Identity #7

merged 10 commits into from
Jul 1, 2024

Conversation

jsalowey
Copy link
Collaborator

@jsalowey jsalowey commented Jun 4, 2024

This is a section on WIMSE identity format. This may eventually go in another document such as the arch document, but I felt it was an important topic to get a start on.

@jsalowey jsalowey requested a review from yaronf as a code owner June 4, 2024 05:18
Copy link
Collaborator

@yaronf yaronf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two comments at a high level:

  • The section probably belongs in the architecture spec and not here, but I'm OK with it for now.
  • I think the SPIFFE Identity is good enough and we can reuse it rather than defining our own, which seems to be an exact clone.

draft-sheffer-wimse-s2s-protocol.md Outdated Show resolved Hide resolved
draft-sheffer-wimse-s2s-protocol.md Outdated Show resolved Hide resolved
draft-sheffer-wimse-s2s-protocol.md Outdated Show resolved Hide resolved
@bc-pi
Copy link
Collaborator

bc-pi commented Jun 6, 2024

Copy link
Collaborator

@yaronf yaronf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this summarizes well what we discussed yesterday. See my proposed changes.

Remaining question, either for this PR or for an issue: Is the workload identity also used in iss fields? In aud? As the subject of the CA certificate?

draft-sheffer-wimse-s2s-protocol.md Outdated Show resolved Hide resolved
draft-sheffer-wimse-s2s-protocol.md Outdated Show resolved Hide resolved
@@ -128,6 +128,12 @@ This document uses "service" and "workload" interchangeably. Otherwise, all term

{::boilerplate bcp14-tagged}

# Workload Identity {#whimsical-identity}

This document defines a workload identity as a URI {{!RFC3986}}. This URI is used in the subject fields in the certificates and tokens defined later in this document. This specification treats the URI as opaque. The format of the URI and the namespace for the URI are chosen by the issuer of the token. Other specifications may define specific URI structures for particular use cases. An example of a defined identity format is the SPIFFE ID [SPIFFE-ID](https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm rather unsure of the wording or terminology but the URI format/namespace/etc is chosen by a higher level entity than the issuer of the token. In the WPT http://www.sheffer.org/wimse-s2s/draft-sheffer-wimse-s2s-protocol.html#section-3.2-2.2.2.1.1 case, for example, the issuer of that token is the workload itself, which has no say over the URIs used in the system. Even the "Identity Server" is probably given a URI as it's identity in the over all system.

Suggested change
This document defines a workload identity as a URI {{!RFC3986}}. This URI is used in the subject fields in the certificates and tokens defined later in this document. This specification treats the URI as opaque. The format of the URI and the namespace for the URI are chosen by the issuer of the token. Other specifications may define specific URI structures for particular use cases. An example of a defined identity format is the SPIFFE ID [SPIFFE-ID](https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md).
This document defines a workload identity as a URI {{!RFC3986}}. This URI is used in the subject fields in the certificates and tokens defined later in this document. This specification treats the URI as opaque. The format of the URI and the namespace for the URI are at the discretion of the deployment at large. Other specifications may define specific URI structures for particular use cases. An example of a defined identity format is the SPIFFE ID [SPIFFE-ID](https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unresolving conversation as I believe the suggested change or something similar is still needed.

Copy link
Collaborator

@bc-pi bc-pi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yaronf yaronf self-requested a review June 30, 2024 12:47
Copy link
Collaborator

@yaronf yaronf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, assuming Brian's "deployment at large" change is incorporated.

@bc-pi bc-pi merged commit 262caeb into main Jul 1, 2024
2 checks passed
@yaronf yaronf deleted the js-wimse-id branch July 3, 2024 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants