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

Ensure that security capability supports identity management for creating private resources #159

Open
ghobona opened this issue Jul 29, 2020 · 7 comments
Labels
2020-07 Sprint Part 1 Applicable to Part 1 Core

Comments

@ghobona
Copy link
Contributor

ghobona commented Jul 29, 2020

The 2020-07 Sprint encountered a need for an ability to use identity management for creating private resources such that the server would be able to enable users to manage their own collections, styles or other resources.

The sprint participants felt that this was a Common issue.

@ghobona
Copy link
Contributor Author

ghobona commented Jul 29, 2020

Please note that it is NOT related to the approach described at opengeospatial/ogcapi-maps#42 (comment)

@jerstlouis
Copy link
Member

jerstlouis commented Jul 30, 2020

To clarify, it is related, but the deferred mode suggestion in opengeospatial/ogcapi-maps#42 is for temporary resources which supports scenarios where:

  • no identify management is available, or
  • wanting to make resources intrinsically transient, until a user explicitly want to convert them to a persistent resource

@cmheazel cmheazel added Collections Applicable to Collections (consider to use Part 2 instead) Part 1 Applicable to Part 1 Core labels Nov 22, 2020
@cmheazel cmheazel added this to Backlog in Part 2 Version 1 via automation Nov 22, 2020
@cmheazel cmheazel added this to Backlog in Core via automation Nov 22, 2020
@ghobona
Copy link
Contributor Author

ghobona commented Jan 22, 2021

The September 2020 Code Sprint demonstrated that OGC API - Common and OGC API - Features support the security mechanisms provided by the OpenAPI.

In my opinion, that is a sufficient level of identity management to support in OGC API - Common - Part 1: Core. If you agree with my opinion, then I propose that this issue is closed.

@bradh
Copy link
Contributor

bradh commented Jan 23, 2021

Use of OpenAPI isn't required by OGC API clients - there is an alternative HATEOAS (aka follow-the-links) approach. What is the security concept? Maybe something needed for the user guide?

@jerstlouis
Copy link
Member

jerstlouis commented Jan 23, 2021

@bradh @ghobona
As far as I understand, the OpenAPI definition itself is not what provides the security capabilities, but merely allows to describe and examplify the use of e.g. OpenID Connect / OAuth2 access tokens (e.g. in its "Try it out" example usage of the API).
There is no mention of OpenAPI on the security diagram here:
https://github.com/opengeospatial/OGC-API-Sprint-September-2020/blob/master/Presentations/Security%20Architecture.pdf
However OpenAPI does identify these mechanisms as "standardized" security schemes as discussed here.

@ghobona I suggest we rephrase this as something like:

The September 2020 Code Sprint demonstrated that OGC API - Common and OGC API - Features can be used in conjunction with security mechanisms provided by the OAuth2 Authorization Framework (RFC 6749), OAuth2 Bearer Tokens (RFC 6750) OAuth2 Token Introspection (RFC 7662), and OpenID Connect, which are also identified as standardized security schemes for OpenAPI definitions.

@securedimensions @pomakis @joanma747 might want to correct or clarify this.

However I don't think OGC API - Common - Part 1: Core says much about this at all -- mainly the current security section only has one requirement that its OpenAPI definition should define the supported security scheme. It would likely be useful to have a dedicated Common part on security / identify management, and/or conformance classes indicating that some security scheme is supported by an implementation, to be declared in /conformance which would be available to clients without relying on parsing an OpenAPI definition (recognizing that Common - Part 1 requires an API definition, but that could be described using something else than OpenAPI).

A best practice document or a section in the user guide could also describe these standard and interoperable identify management mechanisms that OGC API implementations should/could provide, and provide guidance on how to implement them in practice.

@ghobona
Copy link
Contributor Author

ghobona commented Jan 23, 2021

I'm happy with the rephrasing suggested by @jerstlouis

I also like the idea for a Best Practice to address identity management.

@securedimensions
Copy link

securedimensions commented Jan 25, 2021 via email

@cmheazel cmheazel removed this from Backlog in Part 2 Version 1 Jun 5, 2022
@cmheazel cmheazel removed this from Backlog in Core Jun 5, 2022
@joanma747 joanma747 removed the Collections Applicable to Collections (consider to use Part 2 instead) label Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2020-07 Sprint Part 1 Applicable to Part 1 Core
Projects
None yet
Development

No branches or pull requests

6 participants