Skip to content

Add section on Authorization. Fix #204. #257

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

Merged
merged 2 commits into from
Nov 1, 2018
Merged

Conversation

msporny
Copy link
Member

@msporny msporny commented Oct 28, 2018

@David-Chadwick
Copy link
Contributor

Sorry but I still have problems with this wording, specifically "This specification does not contemplate such a usage (i.e. an authorization mechanism) of verifiable credentials". If you read the Use Cases document, you will that the use case invariably use VCs for authorisation purposes. Quote "From educational records to payment account access, the next generation of web applications will authorize entities to perform actions based on rich sets of credentials issued by trusted parties." So how we can assert that we do not contemplate that VCs will be used for authorisation when our use case document says they will be? This really is a Kafkaesque world.

So lets be honest. We do envisage that VCs will be used for authorisation, but we recognise that additional controls will be needed in order to provide a fault proof authorisation framework built on top of the data model. If we are not to provide a full set of controls in V1 of the specification, then we need to say that this is what we have not done. (Rather than pretending that VCs will not be used for what we know they will be used for)

index.html Outdated
It is arguable that <a>verifiable credentials</a> or
<a>verifiable presentations</a> should be used as authorization mechanisms
that a <a>holder</a> could use to access various
systems. This specification does not contemplate such a usage of verifiable
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
systems. This specification does not contemplate such a usage of verifiable
systems. This specification MUST NOT be considered an authorization framework on its own.

Copy link
Contributor

Choose a reason for hiding this comment

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

How about

Verifiable credentials are intended as a means of reliably identifying subjects. Whilst it is recognized that role based access controls (RBAC) and attribute based access controls (ABAC) rely on this identification as a means of authorizing subjects to access resources, this ?recommendation|specification? should not be used for authorization purposes without an accompanying authorization framework. This is because complex authorization issues such as delegation of authority are not addressed in this recommendation.

Copy link
Member Author

Choose a reason for hiding this comment

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

+1, I like this.

Copy link
Member Author

Choose a reason for hiding this comment

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

@brentzundel only issue with your MUST NOT is that it's not testable and we try to not put RFC language on non-testable things. That said, my point is a nitpick and I'd like us to take a stronger position on it... so we could just put it in and remove the language if anyone complains.

index.html Outdated
<a>verifiable presentations</a> should be used as authorization mechanisms
that a <a>holder</a> could use to access various
systems. This specification does not contemplate such a usage of verifiable
credentials and MUST NOT be considered an authorization framework on its own.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
credentials and MUST NOT be considered an authorization framework on its own.

@msporny msporny force-pushed the msporny-authorization branch from 4e22b72 to aeb8686 Compare November 1, 2018 18:25
@msporny msporny force-pushed the msporny-authorization branch from aeb8686 to 072e6df Compare November 1, 2018 18:30
@msporny
Copy link
Member Author

msporny commented Nov 1, 2018

Applied both of @David-Chadwick and @brentzundel's suggestions.

@msporny msporny merged commit b4be879 into gh-pages Nov 1, 2018
@msporny msporny deleted the msporny-authorization branch December 12, 2018 07:53
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.

3 participants