[midPoint] Blog: Data Provenance, Milestone 2
Radovan Semancik
radovan.semancik at evolveum.com
Thu Jul 16 15:59:04 CEST 2020
Dear midPoint community,
Data provenance
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/>
development in midPoint has reached its second milestone. While we are
not at the end yet, there is already a pile of interesting materials to
have a look at. There are good news, but there are also not so good news.
First of all, some of you might be wondering what that /provenance/
thing is and why it is so important. You are not alone. Data protection
may look easy, but it is not an easy thing to understand. Therefore I
have put together “Identity Metadata In A Nutshell”
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/identity-metadata-in-a-nutshell/>,
a document that explains the metadata concepts and the way how we are
going to implement it in midPoint.
There is good news from the implementation effort. Axiom
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/axiom/spec/>,
our data modeling language, is taking shape very nicely. As usual,
designing the language was much harder than we have anticipated (even
though we have expected it won’t be easy). But I’m very pleased with the
results so far. Most aspects of the language are designed and it looks
it works well for metadata modeling. Significant part of
Axiom-processing code is developed and integrated into midPoint. The
code works for metadata modeling. There is still a long way to go to
make Axiom a universal data modeling language for midPoint (and other
uses), but the first results look more than promising.
Having a modeling language is one thing, but designing actual metadata
model
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/metadata-usecases/>
is quite a different thing. There is no metadata standard and there
seems to be no general agreement how identity metadata should look like.
Therefore we have done our best to create a reasonable set of metadata
and express them in Axiom
<https://github.com/Evolveum/midpoint/blob/master/infra/schema/src/main/resources/xml/ns/public/common/common-metadata-3.axiom>.
It is quite likely that this schema is not final yet, but it allows us
to go on to the next step of testing and validation.
We have modeling language and metadata models now. But we still need to
set up midPoint to use the metadata. For all of you that know us, it is
perhaps no bit surprise that we have reused an existing mechanism. Enter
metadata mappings. As ordinary mappings are applied to ordinary data,
metadata mappings are applied to metadata. The documentation is not yet
completely up to date, but the “Nutshell” document
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/identity-metadata-in-a-nutshell/>
has some nice examples of metadata mappings.
As usual, we have made the system a bit more generic than strictly
necessary. Goal of this project phase was identity provenance, but we
have created a system that can handle almost any kind of metadata. There
are several built-in metadata types in midPoint schemas and you can
extend the system with a completely custom metadata. Nevertheless, we
have still kept our primary goal in mind and identity provenance
metadata play a primary role in the solution. There is a robust schema
for identity provenance metadata and we have invested a lot of design
time into that. We especially focused on making the provenance schema
“future proof”, to make sure it can be extended in the future to support
advanced data protection functionality.
Of course, everything is harder that it seems
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/challenges/>.
Data protection may seem simple enough. Yet, it is everything but
simple. Identity management was all about moving data around. But data
protection adds a completely new /dimension/ to that. Data protection is
all about reasoning /behind/ the data: how the data got here, how we can
process them, where we can send them, when to delete them. We were aware
of most of the data protection difficulties, but work on identity
provenance exposed even deeper issues. We had to make a rough design of
future data protection functionality
<https://docs.evolveum.com/midpoint/midprivacy/phases/01-data-provenance-prototype/provenance-origin-basis/>
to make sure that our identity provenance functionality design was right.
This is our second milestone and there is still one final part of the
project to finish. The final part is mostly focused on testing,
bugfixing and overall validation of the results. We still have to
improve user interface and experiment with user experience, which may
also lead to adjustments of metadata schemas. Final weeks will be
focused on demonstration of the result and gathering user feedback.
We are very excited about the development that this project brings. It
is not just about the metadata. Axiom brings a radical change and we
have high hopes about the future. However, please keep in mind that the
goal of this project is identity provenance /prototype/. Being a
prototype, we are not yet sure how useful this is going to be for
practical deployments. That is exactly what the prototype has to find
out. You are more than welcome to test the functionality. Just please
keep in mind that there may be limitations.
What we are not so much happy about is the immediate future after this
“provenance” phase of midPrivacy is finished. We would absolutely love
to move data protection functionality out of prototype stage and make it
production-ready. We have spent a lot of time during the past six months
to secure funding for future development. We have submitted several
proposals, mostly to NGI open calls. Sadly, none of the proposals were
successful. Therefore it looks like we will have to put our data
protection efforts aside, at least for a while. It is a real pity to
suspend this project, especially after such a promising start. We
strongly believe that data protection is absolutely necessary for the
safety of our digital future. Yet it is almost impossible to get funding
for data protection feature development from our commercial engagements.
Therefore we will be more than grateful to anyone willing to sponsor our
data protection efforts or anyone that knows about any other form of
funding that we could use. We keep a strong hope that we would be able
to resume working on midPrivacy
<https://docs.evolveum.com/midpoint/midprivacy/> as soon as possible.
This project has received funding from the European Union’s Horizon 2020
research and innovation programme under the NGI_TRUST grant agreement no
825618.
(Reposted from Evolveum blog
<https://evolveum.com/data-provenance-milestone-2/>)
--
Radovan Semancik
Software Architect
evolveum.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20200716/a753b861/attachment.htm>
More information about the midPoint
mailing list