SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Automating rights decisions
ELAG 2017, 08-06-2017
Jeffrey van der Hoeven, Rene Wiermer
info@kb.nl
The dream: In reality:
Open access to
everything
for
everybody!
Limited access
due to
copyright
&
contracts
Examples of restrictions (1)
1600 1930 1945 1980 2017
open closed
1400 1900 2017
open restricted
1995
Time ->
digitized
newspapers
digitized
books
no
download
Examples of restrictions (2)
Publisher AReading room only
Journal titels ->
open API key account
datasets
Scientific articles
Publisher B
Publisher Z
Examples of restrictions (3)
Copyright
infringement on
photographs
Newspaper X Newspaper Y
What can I do
with this
publication
about quantum
physics?
Do I have access to this ?
What can I do with it ?
Access to sensitive material
User interaction. Here: Accepting terms of uses
Needs 1: more information to the end user
- How do I get access ?
- What can I do with it ?
Improve UX with standardization of rights decisions
Needs 2: One system for multiple applications
- Several websites: Delpher, Geheugen van Nederland, Staten
Generaal Digitaal
- Several API’s: URN-Resolver, OAI-PMH, Search services …
Centralize access decisions for better compliance, management
and reporting
One change = immediately visible in each application
Needs 3: reducing our digitization backlog
- We have a lot of digital content that requires certain restrictions
- How can we make this accessible to anybody who is allowed to
see it ?
- We had an “on/off” infrastructure for most of our content
- Either accessible for everybody or not at all
- Not flexible enough, blocked workflows
Automation of rights decisions based on
- Metadata (Publication date, authors, publisher, type of
material..)
- Location (e.g. reading room)
- Type of user (e.g. researcher)
Simple approach: extra metadata field ?
- For example
- <rights> FREE|RESTRICTED|CLOSED|... </rights>
- <license> CC0|CustomContract|... </license>
- Make decision based on the value of that field
- Works probably fine in a lot scenarios
- But:
- Does not scale with variation depending on context
- “Free for users of type researcher and visitors to the reading room, but not outside
of it”
- Needs maintenance over time
-Missing: why was this decision made ?
Instead: policies as code
- Policy: formalized set of rules regarding a collection of objects
- Decided at runtime -> decisions can change over time
- Follows general lines of thought of the organization: legal
obligations, contracts with publishers, management decisions
Example: Simplest policy
All is freely accesible
return Decision.permit();
Still simple policy
Role-based access (from API-key, username/password auth…)
if (context.roles.contains("DS_METADATA_DTS"))
return Decision.permit();
Access based on publication date
static GregorianCalendar metadataFreeDate=new GregorianCalendar(1940,Calendar.JANUARY,1);
if (attributes.getMetadata().getPublicationDate()?.before(metadataFreeDate.getTime())) {
return Decision.permit();
}
Fallback
return Decision.denied();
Example: Books
Check for location
if (context.location.equals("READING_ROOM")) {
...
}
Demand measures to prevent downloads from frontend
if (attributes.listContainsValue("boeken-leeszaal-kopieerbeveiliging", "ppn",
attributes.getMetadata().getPpn()) ) {
return Decision.permit(new Obligation("DoNotDownload"),usageRights);
}
Check for death dates of all contributors
if (DateChecks.allAuthorsDeadLongerThan(attributes.getMetadata(),authorDeathDateLimit)) {
return Decision.permit(usageRights);
}
Decisions
Input: Identifier, Metadata, Location, Authorization
End result of a policy decisions:
- PERMIT
- DENIED
- NOT APPLICABLE
additional attributes:
- obligations: things the endpoint has to enforce
- advices: things the endpoint might need to improve UX
Ex: PERMIT (obligation:”DoNotDownload”, advice:”OnlyInReadingRoom”)
Diagram by David Brossard under a CC-BY 3.0 license
Enforce
Decide
Administer Metadata
Context
Enforce
Decide
Administer
Metadata
Context
Image server OAI-PMHObject store
PDP webservice
RDBMS Metadata HTTP Request
Admin/Reporting
GUI
Policy Scripts
Groovy
Authorization
LDAP
Architecture: XACML (sort of)
- Attribute Based Access Control (ABAC)
- Follows XACML reference architecture
- … but not the language (cumbersome, slow and restricted)
Technology
- Write the policies in an embedded scripting language (Groovy)
- Fast (in comparison to XACML language implementations)
- Able to be adopted/managed outside of core development team
- still: reuse of existing development toolchain
- Automated testing !
- Deployed as central REST service
- Serves multiple applications
Reporting and testing
Collections Policies Digital Objects Policies Metadata
Reporting and testing
Limitations
- Search filtering on access: combination with dynamic decisions
- Which objects am I allowed to use ?
- Export of access information to other systems (e.g. WorldCat)
Possible mitigations
- Compromises on dynamic decisions (short term)
- Move from slow ETL to event-based architectures (longer term)
Current status & results
- Stepwise in production since Mid 2016
- New objects are becoming available
- Copyright claims are easier to handle
- Clearer insight into current status of collection
- Better insight into needs for partnership contracts
- Impulses for better metadata storage/access infrastructure
175M requests per month
+/- 6 million a day
60+ million pages
under control by
access management
Any questions?
END
About
- Managing digital collections with multiple licenses and access
policies
- Technical choices that fit our organisational needs
Not about
- DRM and copy protection
- Usage of closed proprietary systems
Motivation
- As a public service organisation we want: access as far as
possible
- Limit of possibilities
- Licenses
- Contractual obligations
- Governmental and organisational policies
- Copyright status
- A simple yes or no is not always enough; we need
- a clear guideline for the user: what can I do with it and how do I get
access ?
- automation of management: we want to be able to scale and still be
compliant
Crossing the domains: communication
- Define your terms: Collection, policy, decision … make sure to
communicate them clearly
- Make sure contracts and managerial decisions can be translated to
the technical reality.
- Offer protection and guarantee options for future contracts
- Make compliance easier through monitoring + reporting
- Use of examples + flow diagrams
ONIX-PL: machine-readable contracts
Machine-readable, but not actionable
Our problems
- Multiple applications give access to collections
- ideally centralised decision making and reporting
- Decisions depend on context: user, location, time
- Flexible to allow for individual interventions
- Clearer insight necessary why things are hidden away
Click to adjust
• Subject 1
• Subject 2
• Subject 3
Click to adjust
• Subject 1
• Subject 2
Name table

Weitere ähnliche Inhalte

Ähnlich wie Automating rights decision elag 2017

ALA Cloud Computing Introduction 2015
ALA Cloud Computing Introduction 2015  ALA Cloud Computing Introduction 2015
ALA Cloud Computing Introduction 2015 Krista Godfrey
 
Session 1.1 dalicc - data licenses clearance center
Session 1.1   dalicc - data licenses clearance centerSession 1.1   dalicc - data licenses clearance center
Session 1.1 dalicc - data licenses clearance centersemanticsconference
 
Cloud Computing presentation by Lisa Abe at the Canadian IT Lawyers Associat...
Cloud Computing  presentation by Lisa Abe at the Canadian IT Lawyers Associat...Cloud Computing  presentation by Lisa Abe at the Canadian IT Lawyers Associat...
Cloud Computing presentation by Lisa Abe at the Canadian IT Lawyers Associat...lisaabe
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
Bitkom Cray presentation - on HPC affecting big data analytics in FS
Bitkom Cray presentation - on HPC affecting big data analytics in FSBitkom Cray presentation - on HPC affecting big data analytics in FS
Bitkom Cray presentation - on HPC affecting big data analytics in FSPhilip Filleul
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
Cloud Busting: Understanding Cloud-based Digital Forensics
Cloud Busting: Understanding Cloud-based Digital ForensicsCloud Busting: Understanding Cloud-based Digital Forensics
Cloud Busting: Understanding Cloud-based Digital ForensicsKerry Hazelton
 
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...MongoDB
 
Apricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environmentApricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environmentHieu LE ☁
 
SAAS - Software as a Service
SAAS - Software as a ServiceSAAS - Software as a Service
SAAS - Software as a ServiceDev S Paul
 
The Moving Code Project - Matthias Müller
The Moving Code Project - Matthias MüllerThe Moving Code Project - Matthias Müller
The Moving Code Project - Matthias MüllerLuis_de_Sousa
 
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)EUDAT
 
Logging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed EnvironmentLogging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed EnvironmentAPNIC
 
Impact of cloud computing on FOSS editors
Impact of cloud computing on FOSS editorsImpact of cloud computing on FOSS editors
Impact of cloud computing on FOSS editorsRobert Viseur
 
Simple Workload and Application Portability (SWAP) for Cloud Computing
Simple Workload and Application Portability (SWAP) for Cloud ComputingSimple Workload and Application Portability (SWAP) for Cloud Computing
Simple Workload and Application Portability (SWAP) for Cloud ComputingSam Johnston
 

Ähnlich wie Automating rights decision elag 2017 (20)

ALA Cloud Computing Introduction 2015
ALA Cloud Computing Introduction 2015  ALA Cloud Computing Introduction 2015
ALA Cloud Computing Introduction 2015
 
Session 1.1 dalicc - data licenses clearance center
Session 1.1   dalicc - data licenses clearance centerSession 1.1   dalicc - data licenses clearance center
Session 1.1 dalicc - data licenses clearance center
 
Cloud Computing presentation by Lisa Abe at the Canadian IT Lawyers Associat...
Cloud Computing  presentation by Lisa Abe at the Canadian IT Lawyers Associat...Cloud Computing  presentation by Lisa Abe at the Canadian IT Lawyers Associat...
Cloud Computing presentation by Lisa Abe at the Canadian IT Lawyers Associat...
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
Cms pres
Cms presCms pres
Cms pres
 
Bitkom Cray presentation - on HPC affecting big data analytics in FS
Bitkom Cray presentation - on HPC affecting big data analytics in FSBitkom Cray presentation - on HPC affecting big data analytics in FS
Bitkom Cray presentation - on HPC affecting big data analytics in FS
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
Cloud Busting: Understanding Cloud-based Digital Forensics
Cloud Busting: Understanding Cloud-based Digital ForensicsCloud Busting: Understanding Cloud-based Digital Forensics
Cloud Busting: Understanding Cloud-based Digital Forensics
 
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
 
Apricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environmentApricot2017 Request tracing in distributed environment
Apricot2017 Request tracing in distributed environment
 
BigData Analysis
BigData AnalysisBigData Analysis
BigData Analysis
 
SAAS - Software as a Service
SAAS - Software as a ServiceSAAS - Software as a Service
SAAS - Software as a Service
 
Chapter 1.pdf
Chapter 1.pdfChapter 1.pdf
Chapter 1.pdf
 
The Moving Code Project - Matthias Müller
The Moving Code Project - Matthias MüllerThe Moving Code Project - Matthias Müller
The Moving Code Project - Matthias Müller
 
Big Data
Big DataBig Data
Big Data
 
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)
Linking HPC to Data Management - EUDAT Summer School (Giuseppe Fiameni, CINECA)
 
Data EcoSystem 2.0
Data EcoSystem 2.0Data EcoSystem 2.0
Data EcoSystem 2.0
 
Logging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed EnvironmentLogging/Request Tracing in Distributed Environment
Logging/Request Tracing in Distributed Environment
 
Impact of cloud computing on FOSS editors
Impact of cloud computing on FOSS editorsImpact of cloud computing on FOSS editors
Impact of cloud computing on FOSS editors
 
Simple Workload and Application Portability (SWAP) for Cloud Computing
Simple Workload and Application Portability (SWAP) for Cloud ComputingSimple Workload and Application Portability (SWAP) for Cloud Computing
Simple Workload and Application Portability (SWAP) for Cloud Computing
 

Mehr von KBNLResearch

Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigeren
Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigerenTheo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigeren
Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigerenKBNLResearch
 
Rene Voorburg - Using KB APIs to collect data
Rene Voorburg - Using KB APIs to collect dataRene Voorburg - Using KB APIs to collect data
Rene Voorburg - Using KB APIs to collect dataKBNLResearch
 
Melvin Wevers - Computer vision and advertisements
Melvin Wevers - Computer vision and advertisementsMelvin Wevers - Computer vision and advertisements
Melvin Wevers - Computer vision and advertisementsKBNLResearch
 
Lotte Wilms - KB Lab as hub
Lotte Wilms - KB Lab as hubLotte Wilms - KB Lab as hub
Lotte Wilms - KB Lab as hubKBNLResearch
 
Martijn Kleppe - KBK-1M dataset
Martijn Kleppe - KBK-1M datasetMartijn Kleppe - KBK-1M dataset
Martijn Kleppe - KBK-1M datasetKBNLResearch
 
Pim Huijnen - Keyword generator & dictionary viewer
Pim Huijnen - Keyword generator & dictionary viewerPim Huijnen - Keyword generator & dictionary viewer
Pim Huijnen - Keyword generator & dictionary viewerKBNLResearch
 
Frank Harbers - Automatic genre classification of historical newspaper articles
Frank Harbers - Automatic genre classification of historical newspaper articles Frank Harbers - Automatic genre classification of historical newspaper articles
Frank Harbers - Automatic genre classification of historical newspaper articles KBNLResearch
 

Mehr von KBNLResearch (7)

Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigeren
Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigerenTheo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigeren
Theo van Veen - Verrijkingen in Delpher: genereren, gebruiken en corrigeren
 
Rene Voorburg - Using KB APIs to collect data
Rene Voorburg - Using KB APIs to collect dataRene Voorburg - Using KB APIs to collect data
Rene Voorburg - Using KB APIs to collect data
 
Melvin Wevers - Computer vision and advertisements
Melvin Wevers - Computer vision and advertisementsMelvin Wevers - Computer vision and advertisements
Melvin Wevers - Computer vision and advertisements
 
Lotte Wilms - KB Lab as hub
Lotte Wilms - KB Lab as hubLotte Wilms - KB Lab as hub
Lotte Wilms - KB Lab as hub
 
Martijn Kleppe - KBK-1M dataset
Martijn Kleppe - KBK-1M datasetMartijn Kleppe - KBK-1M dataset
Martijn Kleppe - KBK-1M dataset
 
Pim Huijnen - Keyword generator & dictionary viewer
Pim Huijnen - Keyword generator & dictionary viewerPim Huijnen - Keyword generator & dictionary viewer
Pim Huijnen - Keyword generator & dictionary viewer
 
Frank Harbers - Automatic genre classification of historical newspaper articles
Frank Harbers - Automatic genre classification of historical newspaper articles Frank Harbers - Automatic genre classification of historical newspaper articles
Frank Harbers - Automatic genre classification of historical newspaper articles
 

Kürzlich hochgeladen

Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Joonhun Lee
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxFarihaAbdulRasheed
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and ClassificationsAreesha Ahmad
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformationAreesha Ahmad
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Silpa
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑Damini Dixit
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .Poonam Aher Patil
 

Kürzlich hochgeladen (20)

Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 

Automating rights decision elag 2017

  • 1. Automating rights decisions ELAG 2017, 08-06-2017 Jeffrey van der Hoeven, Rene Wiermer info@kb.nl
  • 2. The dream: In reality: Open access to everything for everybody! Limited access due to copyright & contracts
  • 3. Examples of restrictions (1) 1600 1930 1945 1980 2017 open closed 1400 1900 2017 open restricted 1995 Time -> digitized newspapers digitized books no download
  • 4. Examples of restrictions (2) Publisher AReading room only Journal titels -> open API key account datasets Scientific articles Publisher B Publisher Z
  • 5. Examples of restrictions (3) Copyright infringement on photographs Newspaper X Newspaper Y
  • 6. What can I do with this publication about quantum physics?
  • 7.
  • 8. Do I have access to this ?
  • 9. What can I do with it ?
  • 11. User interaction. Here: Accepting terms of uses
  • 12. Needs 1: more information to the end user - How do I get access ? - What can I do with it ? Improve UX with standardization of rights decisions
  • 13. Needs 2: One system for multiple applications - Several websites: Delpher, Geheugen van Nederland, Staten Generaal Digitaal - Several API’s: URN-Resolver, OAI-PMH, Search services … Centralize access decisions for better compliance, management and reporting One change = immediately visible in each application
  • 14. Needs 3: reducing our digitization backlog - We have a lot of digital content that requires certain restrictions - How can we make this accessible to anybody who is allowed to see it ? - We had an “on/off” infrastructure for most of our content - Either accessible for everybody or not at all - Not flexible enough, blocked workflows Automation of rights decisions based on - Metadata (Publication date, authors, publisher, type of material..) - Location (e.g. reading room) - Type of user (e.g. researcher)
  • 15.
  • 16. Simple approach: extra metadata field ? - For example - <rights> FREE|RESTRICTED|CLOSED|... </rights> - <license> CC0|CustomContract|... </license> - Make decision based on the value of that field - Works probably fine in a lot scenarios - But: - Does not scale with variation depending on context - “Free for users of type researcher and visitors to the reading room, but not outside of it” - Needs maintenance over time -Missing: why was this decision made ?
  • 17. Instead: policies as code - Policy: formalized set of rules regarding a collection of objects - Decided at runtime -> decisions can change over time - Follows general lines of thought of the organization: legal obligations, contracts with publishers, management decisions
  • 18. Example: Simplest policy All is freely accesible return Decision.permit();
  • 19. Still simple policy Role-based access (from API-key, username/password auth…) if (context.roles.contains("DS_METADATA_DTS")) return Decision.permit(); Access based on publication date static GregorianCalendar metadataFreeDate=new GregorianCalendar(1940,Calendar.JANUARY,1); if (attributes.getMetadata().getPublicationDate()?.before(metadataFreeDate.getTime())) { return Decision.permit(); } Fallback return Decision.denied();
  • 20. Example: Books Check for location if (context.location.equals("READING_ROOM")) { ... } Demand measures to prevent downloads from frontend if (attributes.listContainsValue("boeken-leeszaal-kopieerbeveiliging", "ppn", attributes.getMetadata().getPpn()) ) { return Decision.permit(new Obligation("DoNotDownload"),usageRights); } Check for death dates of all contributors if (DateChecks.allAuthorsDeadLongerThan(attributes.getMetadata(),authorDeathDateLimit)) { return Decision.permit(usageRights); }
  • 21. Decisions Input: Identifier, Metadata, Location, Authorization End result of a policy decisions: - PERMIT - DENIED - NOT APPLICABLE additional attributes: - obligations: things the endpoint has to enforce - advices: things the endpoint might need to improve UX Ex: PERMIT (obligation:”DoNotDownload”, advice:”OnlyInReadingRoom”)
  • 22. Diagram by David Brossard under a CC-BY 3.0 license Enforce Decide Administer Metadata Context
  • 23. Enforce Decide Administer Metadata Context Image server OAI-PMHObject store PDP webservice RDBMS Metadata HTTP Request Admin/Reporting GUI Policy Scripts Groovy Authorization LDAP
  • 24. Architecture: XACML (sort of) - Attribute Based Access Control (ABAC) - Follows XACML reference architecture - … but not the language (cumbersome, slow and restricted)
  • 25. Technology - Write the policies in an embedded scripting language (Groovy) - Fast (in comparison to XACML language implementations) - Able to be adopted/managed outside of core development team - still: reuse of existing development toolchain - Automated testing ! - Deployed as central REST service - Serves multiple applications
  • 26. Reporting and testing Collections Policies Digital Objects Policies Metadata
  • 28. Limitations - Search filtering on access: combination with dynamic decisions - Which objects am I allowed to use ? - Export of access information to other systems (e.g. WorldCat) Possible mitigations - Compromises on dynamic decisions (short term) - Move from slow ETL to event-based architectures (longer term)
  • 29. Current status & results - Stepwise in production since Mid 2016 - New objects are becoming available - Copyright claims are easier to handle - Clearer insight into current status of collection - Better insight into needs for partnership contracts - Impulses for better metadata storage/access infrastructure 175M requests per month +/- 6 million a day 60+ million pages under control by access management
  • 31. END
  • 32. About - Managing digital collections with multiple licenses and access policies - Technical choices that fit our organisational needs Not about - DRM and copy protection - Usage of closed proprietary systems
  • 33. Motivation - As a public service organisation we want: access as far as possible - Limit of possibilities - Licenses - Contractual obligations - Governmental and organisational policies - Copyright status - A simple yes or no is not always enough; we need - a clear guideline for the user: what can I do with it and how do I get access ? - automation of management: we want to be able to scale and still be compliant
  • 34. Crossing the domains: communication - Define your terms: Collection, policy, decision … make sure to communicate them clearly - Make sure contracts and managerial decisions can be translated to the technical reality. - Offer protection and guarantee options for future contracts - Make compliance easier through monitoring + reporting - Use of examples + flow diagrams
  • 36. Our problems - Multiple applications give access to collections - ideally centralised decision making and reporting - Decisions depend on context: user, location, time - Flexible to allow for individual interventions - Clearer insight necessary why things are hidden away
  • 37. Click to adjust • Subject 1 • Subject 2 • Subject 3
  • 38. Click to adjust • Subject 1 • Subject 2