PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT

Die Seite wird erstellt Friedemann Martin
 
WEITER LESEN
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
PID Training

     Merret Buurman
     Deutsches Klimarechenzentrum GmbH

                                         RDA-Deutschland-Treffen 2016
                                           Hamburg, 24.-25. Mai 2016
                                         Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
PID Training

Themenblöcke

       Gestaltung von PID Records in EUDAT und CMIP6 –
        Erfahrungsbericht/Lessons learned [Konzeptionell]
       PID-Vereinheitlichungsprozess in EUDAT [Konzeptionell]
       Sehr viele PIDs gleichzeitig schreiben?
        Umgehung einer Schwäche des Handle Systems [Technisch] (s. Poster)

      Kaffeepause [Wichtig]   Vorher: Installation von conda/jupyter/pyhandle für alle,
                              die es auf dem eigenen Laptop installieren möchten!

       Hands-On! Wir bauen unsere eigenen PIDs! [Technisch]
       Autorisierung und Nutzerverwaltung im Handle System [Technisch]

http://bit.ly/1s6rlTD

 Merret Buurman (DKRZ)                                                             25.05.2016   2
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
Merret Buurman (DKRZ)   24.05.2016   3
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
Handle Records in EUDAT und CMIP6:
     Lessons learned…

     Merret Buurman
     Deutsches Klimarechenzentrum GmbH

                                          RDA-Deutschland-Treffen 2016
                                            Hamburg, 24.-25. Mai 2016
                                          Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
Handle Records in EUDAT und CMIP6 – Lessons learned…

Lessons learned…

     In den Diskussionen kehren oft ähnliche Punkte
     wieder.

     Beispiele:
               Darf sich das Objekt ändern? Was ist ein Objekt? Wie stabil ist es?
               Wo zeigt die URL hin?
               Und wenn es mehrere geben soll?
               Checksum-Methoden
               Speichern von Versionen und Hierarchien im PID?
               Extra-PID für Metadaten – ja oder nein?

Merret Buurman (DKRZ)                                                                 24.05.2016   5
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
Handle Records in EUDAT und CMIP6 – Lessons learned…

Lessons learned…

      Frühzeitiges Einigen – „Wildwuchs“ vermeiden
      Use Cases müssen klar sein
             Wer benutzt die PIDs für was?
             Nicht überladen! Fach-Metadaten sind hier eher fehl am Platze…

      Oft „wachsen“ einem Feld leicht verschiedene
       Bedeutungen (teils begründet in verschiedenen Use
          Cases, die Ausnahmen verschieden behandeln)
             Beispiel: Interner Identifier vs. Quellenidentifier

Merret Buurman (DKRZ)                                                   24.05.2016   6
PID Training Merret Buurman Deutsches Klimarechenzentrum GmbH RDA-Deutschland-Treffen 2016 Hamburg, 24.-25. Mai 2016 - EUDAT
Handle Records in EUDAT und CMIP6 – Lessons learned…

PID für physische/logische Objekte?
      Drei Möglichkeiten:
            1. Logisches Objekt:
               Gleiches Objekt, aber versch. techn. Formate möglich (JSON vs. XML),
               ggf. sogar verschiedene Codierung der gleichen Semantik (z.B. versch.
               Metadatenschemata)
            2. Physisches Objekt (EUDAT):
               Jedes Backup/Replikat bekommt ein neues
            3. Bit-identisches Objekt (CMIP6):
               Gleiches Objekt im gleichen Format (gleiche Checksum)

      (1) macht es schwierig herauszufinden, ob es sich um exakt das
           gleiche Objekt handelt (z.B. durch Checksumme)
      (2) kann problematisch sein, wenn es Verweise auf andere PIDs geben
           soll, z.B. auf Metadaten, Versionen, und/oder Hierarchien…
      (3) erlaubt Checksummen zum Prüfen
Merret Buurman (DKRZ)                                                            24.05.2016   7
Handle Records in EUDAT und CMIP6 – Lessons learned…

Landing Page vs. Daten-Access
     Soll die URL auf Landing Page oder Daten zeigen?
      Je nach Use Case!
      DOIs: Konsequent auf Landing Page
      Landing Page:
               Gut für menschliche Nutzer
               Vorteil, wenn Daten nicht/schlecht zugänglich sind
               Kann auf Metadaten und Daten zeigen
               Kann verschiedene Datenzugänge aufzeigen (z.B. versch. logische Objekte)
               Technisch: Man kann Load Balancing einrichten (zu bit-identischen Objekten)
               Man braucht eine (persistente!) Landing Page!
               Nicht-menschliche „Nutzer“ interessieren sich wenig für die Landing Page
                (aber Redirection zu den Daten möglich)

Merret Buurman (DKRZ)                                                         24.05.2016      8
Handle Records in EUDAT und CMIP6 – Lessons learned…

Mehrere URLs…
     Zweck: (1) Weiterleitung oder (2) bloßes Verwalten?

Merret Buurman (DKRZ)                                      24.05.2016   9
Handle Records in EUDAT und CMIP6 – Lessons learned…

Mehrere URLs…
     Zweck: (1) Weiterleitung oder (2) bloßes Verwalten?

      Warum überhaupt?
             Regelbasiertes Weiterleiten auf versch. Objekte:
              Identifier ist ggf. nicht eindeutig! - Was soll der Identifier identifizieren?
             Zufälliges Weiterleiten zu bit-gleichen Objekten:
              Load Balancing - können andere Lösungen besser
      Methoden:
             Mehrere URL-Felder
                    Weiterleitung schwer zu kontrollieren!
             „10320/LOC“-Feld                                     Keine ideale Lösung….
                    URL-Feld wird ignoriert  Missverständlich!
                    Unübersichtlich
                    Kompliziertes Verhalten

Merret Buurman (DKRZ)                                                             24.05.2016   10
Handle Records in EUDAT und CMIP6 – Lessons learned…

Mehrere URLs…
     Zweck: (1) Weiterleitung oder (2) bloßes Verwalten?

      Ein URL-Feld, eindeutige Weiterleitung (z.B. Landing Page)
      Andere URLs in anderen Feldern oder auf Landing Page (z.B. Daten,
          Originale/Replikas, versch. Formate…)
      Intelligente Landing Page (oder Tool), die diese Felder versteht
               Eindeutigkeit des PID gegeben
               Weiterleitung gut kontrollierbar
               Felder gut verständlich
               Mehraufwand!
      Beispiel CMIP6:
             URL  Landing Page
             Daten-URLs werden in besonderen Feldern als XML Snippets gespeichert
Merret Buurman (DKRZ)                                                  24.05.2016    11
Handle Records in EUDAT und CMIP6 – Lessons learned…

Checksums
     Methode speichern? MD5, SHA256, …
      Vorteil: Handle Record wird selbsterklärend

     Wie?
      Getrennt?                                           CHECKSUM = 101ada44…
             Geht nur bei max. einer Methode!             CHECKSUM_METHOD = md5
             Feldname „CHECKSUM“ üblich und klar
      Im Typnamen?                                        CHECKSUM_MD5 = …
             Unmissverständlich!                          CHECKSUM_SHA256 = …
             Man braucht einen Typnamen pro Methode.
      Im Wert?
             Komplexe Werte müssen geparst werden          CHECKSUM = {„MD5“ : „101ada44…“}
             Gefahr, dass sich bei Updates nicht alle dran halten
      Deswegen: Benutzte Keys und deren Bedeutung klar definieren!!
Merret Buurman (DKRZ)                                                            24.05.2016    12
Handle Records in EUDAT und CMIP6 – Lessons learned…

Versionsmanagement
      Neue Versionen bekommen neue PID
             Aber Verweis auf neuere/ältere Version
             Dynamische Daten: Problematisch! ( RDA WG Dynamic Data…)

      Typname f. neuere Version: REPLACES vs PRECEDED_BY
             Früh festlegen, Migration ist kompliziert!

      Lineare vs. verzweigte Versionierung
             Je nach Use Case
             Wer checkt Konsistenz?
             Wie findet man (wer?) die neuste Version?
                 Herausfinden der neusten Version durch „Weiterklettern“, nicht im PID
                  speichern (zu viele Updates, zu viel Logik)

Merret Buurman (DKRZ)                                                    24.05.2016   13
Handle Records in EUDAT und CMIP6 – Lessons learned…

Hierarchie
     Typname:
      PARENT / CHILD
             Missverständlich!
      HAS_PARTS / IS_PART_OF
             Besser!

     Mehrere Teile?
                                                              Hier tritt zu Vorschein,
      Wie speichern?                                         wenn das Datenmodell
                                                              nicht komplett
             CMIP6: Comma-Separated-Lists                    durchdacht ist…
      Erlaubt man mehrere “Ganze“?
             Je nach Use Case
             CMIP6: Ja! Datei kann Teil verschiedener Datasets sein!
             Automatisches „Weiterkrabbeln“ nicht so einfach
Merret Buurman (DKRZ)                                                        24.05.2016   14
Handle Records in EUDAT und CMIP6 – Lessons learned…

Extra-PID für Metadaten?
      Sinnvoll, wenn Metadaten vorliegen!
      EUDAT: Ja!
             IS_METADATA
             DESCRIBES
             IS_DESCRIBED_BY

                           Collection

                   Daten           Metadaten

Merret Buurman (DKRZ)                                  24.05.2016   15
Merret Buurman (DKRZ)   24.05.2016   16
PID-Record-Profil in EUDAT

     Merret Buurman
     Deutsches Klimarechenzentrum GmbH

                                         RDA-Deutschland-Treffen 2016
                                           Hamburg, 24.-25. Mai 2016
                                         Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
PID-Vereinheitlichung in EUDAT

Vorgehen

      Dokumentation bisheriger Nutzung
          (unter Einbeziehung der versch. Services)
      Ableitung bisheriger Use Cases (+ zukünftiger)
      Festlegung eines initialen Sets von Types (mandatory u. optional)
             Registry?
      Vereinbarung eines Prozesses, wie zukünftige Erweiterungen
       ablaufen sollten (Welche Schritte, bis ein Typ im Registry landet?)
            1.     Fachliche Diskussionsgruppe
            2.     Vorschlag  Technical Committee

Merret Buurman (DKRZ)                                             24.05.2016   21
PID-Vereinheitlichung in EUDAT

Ergebnis: Dokument

Merret Buurman (DKRZ)            24.05.2016   22
PID-Vereinheitlichung in EUDAT

Ergebnis: Dokument

     Pflichtfelder:
               URL
               CHECKSUM
               CHECKSUM_TIMESTAMP
               FIXED_CONTENT
               + Links to PIDs of replicas/replication „parents“

Merret Buurman (DKRZ)                                        24.05.2016   23
PID-Vereinheitlichung in EUDAT

Ergebnis: Dokument

     Optionale Felder:
               IS_METADATA
               METADATA_SCHEMA
               METADATA_STATUS
               DESCRIBES
               DESCRIBED_BY
               OBJECT_POLICY
               UNPUBLISHED
               UNPUBLISHED_DATE
               UNPUBLISHED_REASON
               + Felder, um alternative URLs anzugeben (ftp, …)

Merret Buurman (DKRZ)                                         24.05.2016   24
Merret Buurman (DKRZ)   24.05.2016   25
Nur ein Write-Access Server im Handle System
     – und nu?
     (Beispiel des Coupled Model Intercomparison Project CMIP6)

     Merret Buurman
     Deutsches Klimarechenzentrum GmbH

                                            RDA-Deutschland-Treffen 2016
                                              Hamburg, 24.-25. Mai 2016
                                            Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
Nur ein Write-Access-Server im Handle System – und nu?

Was ist das Problem?
      Das Handle System erlaubt Schreibzugriff über nur
       einen Server pro Prefix

     Warum ist das ein Problem?
      Beispiel CMIP6 Projekt:
             Alle Daten sollen das glei-
              che Prefix haben
             Daten-Veröffentlichung
              an vielen Datenzentren
              gleichzeitig

Merret Buurman (DKRZ)                                    24.05.2016   27
Nur ein Write-Access-Server im Handle System – und nu?

Wann ist das ein Problem?
     Nur bei sehr hohen Belastungen!
     Lastentests (5 Mio Handles schreiben)
      Berkeley DB: 120-130 Handles/Sekunde
      MariaDB:         95-100 Handles/Sekunde
      (Auf virtuellen Maschinen)

Merret Buurman (DKRZ)                                    24.05.2016   28
Nur ein Write-Access-Server im Handle System – und nu?

Lösung: Handles stehen Schlange.

Merret Buurman (DKRZ)                                    24.05.2016   29
Nur ein Write-Access-Server im Handle System – und nu?

Implementation

                  System
      One single server for write access
      Handle creation is triggered in ESGF publication
       software (custom python library)
      Messaging queue (                ) for not delaying file
       publication process

Merret Buurman (DKRZ)                                      24.05.2016   30
Nur ein Write-Access-Server im Handle System – und nu?

Lösung: Handles stehen Schlange.
      Siehe Poster!

Buurman et al.: Persistent Identifiers for CMIP6 data in the Earth System Grid Federation (at the EGU 2016, Vienna)
Abstract: http://meetingorganizer.copernicus.org/EGU2016/EGU2016-13297.pdf
Poster: http://presentations.copernicus.org/EGU2016-13297_presentation.pdf

Merret Buurman (DKRZ)                                                                                                 24.05.2016   31
Merret Buurman (DKRZ)   24.05.2016   32
Los geht‘s!
     (nach der Kaffeepause)

                              RDA-Deutschland-Treffen 2016
                                Hamburg, 24.-25. Mai 2016
                              Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:

      Zuschauen, wie es live vorgeführt
       wird (Jupyter Notebook)
      Jupyter Notebook auf
       https://handle8.dkrz.de:8889 [und ggf. anderen Ports]
      Bei Ihnen auf dem eigenen Rechner
             Als Jupyter-Notebook
             Als normales Python-Script
              oder im Python-Interpreter

Merret Buurman (DKRZ)                                  24.05.2016   34
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:
                                           Technische
                                           Voraussetzungen:
      Zuschauen, wie es live vorgeführt   •   Keine
       wird (Jupyter Notebook)
      Jupyter Notebook auf
                                           •   Browser (Firefox, Chrome, …)
       https://handle8.dkrz.de:8888            mit Internetzugang

      Bei Ihnen auf dem eigenen Rechner
                                           •   conda (inkl. Python 2.7 und Jupyter)
             Als Jupyter-Notebook         •   Pyhandle library
             Als normales Python-Script   •   Python 2.7, am besten als Virtual
              oder im Python-Interpreter       Environment, (virtualenv oder conda)
                                           •   Pyhandle library

Merret Buurman (DKRZ)                                               24.05.2016        35
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:
                                           Technische
                                           Voraussetzungen:
      Zuschauen, wie es live vorgeführt   •   Keine
       wird (Jupyter Notebook)
      Jupyter Notebook auf
                                           •   Browser (Firefox, Chrome, …)
       https://handle8.dkrz.de:8888            mit Internetzugang

      Bei Ihnen auf dem eigenen Rechner
                                           •   conda (inkl. Python 2.7 und Jupyter)
             Als Jupyter-Notebook         •   Pyhandle library
             Als normales Python-Script   •   Python 2.7, am besten als Virtual
              oder im Python-Interpreter       Environment, (virtualenv oder conda)
                                           •   Pyhandle library

Merret Buurman (DKRZ)                                               24.05.2016        36
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:
                                           Technische
                                           Voraussetzungen:
      Zuschauen, wie es live vorgeführt   •   Keine
       wird (Jupyter Notebook)
      Jupyter Notebook auf
                                           •   Browser (Firefox, Chrome, …)
       https://handle8.dkrz.de:8888            mit Internetzugang

      Bei Ihnen auf dem eigenen Rechner
                                           •   conda (inkl. Python 2.7 und Jupyter)
             Als Jupyter-Notebook         •   Pyhandle library
             Als normales Python-Script   •   Python 2.7, am besten als Virtual
              oder im Python-Interpreter       Environment, (virtualenv oder conda)
                                           •   Pyhandle library

Merret Buurman (DKRZ)                                               24.05.2016        37
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:
                                           Technische
                                           Voraussetzungen:
      Zuschauen, wie es live vorgeführt   •   Keine
       wird (Jupyter Notebook)
      Jupyter Notebook auf
                                           •   Browser (Firefox, Chrome, …)
       https://handle8.dkrz.de:8888            mit Internetzugang

      Bei Ihnen auf dem eigenen Rechner
                                           •   conda (inkl. Python 2.7 und Jupyter)
             Als Jupyter-Notebook         •   Pyhandle library
             Als normales Python-Script   •   Python 2.7, am besten als Virtual
              oder im Python-Interpreter       Environment, (virtualenv oder conda)
                                           •   Pyhandle library

Merret Buurman (DKRZ)                                               24.05.2016        38
Hands-On

Teilnahme-Möglichkeiten
     Es gibt mehrere Möglichkeiten, das Hands-On mitzumachen:
                                           Technische
                                           Voraussetzungen:
      Zuschauen, wie es live vorgeführt   •   Keine
       wird (Jupyter Notebook)
      Jupyter Notebook auf
                                           •   Browser (Firefox, Chrome, …)
       https://handle8.dkrz.de:8888            mit Internetzugang

      Bei Ihnen auf dem eigenen Rechner
                                           •   conda (inkl. Python 2.7 und Jupyter)
             Als Jupyter-Notebook         •   Pyhandle library
             Als normales Python-Script   •   Python 2.7, am besten als Virtual
              oder im Python-Interpreter       Environment, (virtualenv oder conda)
                                           •   Pyhandle library

Merret Buurman (DKRZ)                                               24.05.2016        39
Hands-On

Materialien
     Ordner „rda_hh_2016“
      auf den Desktop     oder
      in ~ aka /home/nutzername/

     Inhalt:
      Jupyter-Notebook (iPython Notebook, .ipynb)
      Pyhandle Library
             als source distribution (.tar.gz)
             Als Python 2.7 „egg“
             Als Python 2.7 virtual environment (Ordner vi27)
      Folien

Merret Buurman (DKRZ)                                            24.05.2016   40
Hands-On

Conda+Jupyter installieren ist einfach!
     1.     Miniconda herunterladen (http://conda.pydata.org/miniconda.html,
            Windows, Python 2.7) und die herunter geladene Datei per Doppelklick
            öffnen (das installiert Conda).
     2.     Ordner „rda_hh_2016“ auf den Desktop
            (Inhalt: Jupyter-Notebook-Datei, pyhandle)
     3.     Eingabeaufforderung öffnen
            (Startmenü - im Suchfeld "cmd" eintippen - "cmd.exe" öffnen).
            Dort folgende Befehle eingeben (auf "Proceed" mit "y" und Enter antworten):
                  conda create --name rda_may2016 requests
                  activate rda_may2016
                  cd %HOMEPATH%\Desktop\rda_hh_2016\library\pyhandle-0.0.1rc0
                  python setup.py install
                  conda install jupyter
                  cd %HOMEPATH%\Desktop\rda_hh_2016\notebook
                  jupyter notebook
     4.     Im Browser folgende URL eingeben:
                 localhost:8888
Merret Buurman (DKRZ)                                                        24.05.2016   41
Hands-On

Conda+Jupyter installieren ist einfach!
     Per command line:
     1. Miniconda herunterladen und installieren:
            > wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
            > bash Miniconda2-latest-Linux-x86_64.sh
     2.     Ordner „rda_hh_2016“ ablegen, z.B. im Nutzerverzeichnis
            (Inhalt: Jupyter-Notebook-Datei, pyhandle)
     3.     pyhandle und Jupyter installieren:
            >   conda create --name rda_may2016 requests
            >   source activate rda_may2016
            >   cd ~/rda_hh_2016/library/pyhandle-0.0.1rc0
            >   python setup.py install
            >   conda install jupyter
     4.     Jupyter Notebook starten:
            > cd ~/rda_hh_2016/notebook
            > jupyter notebook
     5.     Im Browser (Firefox, Chrome, o.ä.)
            folgende URL eingeben:
                 localhost:8888

Merret Buurman (DKRZ)                                                    24.05.2016   42
Merret Buurman (DKRZ)   24.05.2016   43
Authorisation im Handle System

     Merret Buurman
     Deutsches Klimarechenzentrum GmbH

                                         RDA-Deutschland-Treffen 2016
                                           Hamburg, 24.-25. Mai 2016
                                         Mittwoch, 8:30-12:00, DKRZ Raum 024
Merret Buurman (DKRZ)
Authorisation im Handle System

Was ist Authorisation?

     Authorisation ist der Mechanismus, mit dem
     festgelegt wird, welcher (authentizierte) Nutzer was
     machen darf.
      Über HS_ADMIN, HS_VLIST

     Authentication ist der Mechanismus, mit dem der Nutzer
     beweist, dass er der ist, der er vorgibt, zu sein.
      Passwörter (HS-SECKEY)
      Key pairs und client-side certificates (HS_PUBKEY)

Merret Buurman (DKRZ)                                     24.05.2016   45
Authorisation im Handle System

Voraussetzungen
     Zwei Dinge sind notwendig, damit ein Nutzer Handles
     erstellen kann:

     1. Er braucht einen HS_SECKEY oder HS_PUBKEY
             d.h. ein Password in einem HS_SECKEY entry
             oder ein Key Pair mit dem Public Key in einem HS_PUBKEY entry
             Aus dem HS_KEY ergibt sich der Username!

     2. Diesem HS_KEY muss im „Prefix Owner Handle Record“
        Rechte gegeben werden
             d.h. im Handle Record von 0.NA/prefix muss es ein HS_ADMIN geben, das
              diesen HS_KEY referenziert.
             Das kann auch über mehrere Stufen sein!

Merret Buurman (DKRZ)                                                     24.05.2016   46
Authorisation im Handle System

Simpelster Fall

     Alles in einem Record!
                                                                  Dieser Record ist der
                                                                  Prefix Owner Record.
        0.NA/prefix
        100     HS_ADMIN    Points to 300:0.NA/prefix

        300     HS_PUBKEY   (Public key)

                …           …

   Username: 300:0.NA/prefix

                                                        1. Er braucht einen HS_SECKEY oder HS_PUBKEY
                                                        2. Diesem HS_KEY muss im Prefix Owner Handle
                                                        Record Rechte gegeben werden
Merret Buurman (DKRZ)                                                                  24.05.2016      47
Authorisation im Handle System

Mehrere User?

     HS_VLIST dazwischen schalten!
                                                                  Nachteil:
        0.NA/prefix                                               Jedes Mal, wenn man
        100     HS_ADMIN    Points to 200:0.NA/prefix             einen User hinzufügen
                                                                  möchte oder den Key
        200     HS_VLIST    300:0.NA/prefix
                            301:0.NA/prefix
                                                                  ändern möchte, muss
                            302:0.NA/prefix                       man seinen Prefix
        300     HS_PUBKEY   (Public key)                          Provider fragen! (CNRI,
                                                                  GWDG, …)
        301     HS_PUBKEY   (Public key)

        302     HS_SECKEY   (Password)

                …           …                           Usernames:
                                                        300:0.NA/prefix
                                                        301:0.NA/prefix
                                                        302:0.NA/prefix
                                                        …
Merret Buurman (DKRZ)                                                               24.05.2016   48
Authorisation im Handle System

Einfacher zu managen!

      Aufsplitten in zwei Records:
       HS_VLIST in anderen Record verschieben!
        0.NA/prefix                                     prefix/admin
        100     HS_ADMIN   Points to 200:prefix/admin   100   HS_ADMIN    ?

                …          …                            200   HS_VLIST    300:prefix/admin
                                                                          301:prefix/admin
                                                                          302:prefix/admin
                                                        300   HS_PUBKEY   (Public key)

                                                        301   HS_PUBKEY   (Public key)

                                                        302   HS_SECKEY   (Password)

                                                              …           …

Merret Buurman (DKRZ)                                                                    24.05.2016   49
Authorisation im Handle System

Einfacher zu managen!

      Aufsplitten in zwei Records:           Dieser Eintrag legt fest,
                                              wer dieses Handle
       HS_VLIST in anderen Record verschieben!verändern darf!
        0.NA/prefix                                     prefix/admin
        100     HS_ADMIN   Points to 200:prefix/admin   100   HS_ADMIN    ?

                …          …                            200   HS_VLIST    300:prefix/admin
                                                                          301:prefix/admin
                                                                          302:prefix/admin
                                                        300   HS_PUBKEY   (Public key)
            Wer kann jetzt neue
                                                        301   HS_PUBKEY   (Public key)
            User hinzufügen?
                                                        302   HS_SECKEY   (Password)
            Je nachdem, wer im                                …           …
            HS_ADMIN von
            prefix/admin drinsteht.

Merret Buurman (DKRZ)                                                                    24.05.2016   50
Authorisation im Handle System

Klare Trennung!

     Besser: Klare Trennung von Admins und Users!
     (Dieser Approach wurde entwickelt von der GWDG)

        0.NA/prefix                                         prefix/ADMINLIST
        100     HS_ADMIN   Points to 200:prefix/ADMINLIST   100   HS_ADMIN     200:prefix/ADMINLIST

        101     HS_ADMIN   Points to 200:prefix/USERLIST    200   HS_VLIST   300:prefix/ADMINLIST
                                                                  prefix/USERLIST
                                                                              301:prefix/ADMINLIST
                                                                  100   HS_ADMIN    200:prefix/ADMINLIST
                                                                              302:prefix/ADMINLIST
                …          …
                                                            300   HS_PUBKEY  (Public 300:prefix/USERLIST
                                                                  200 HS_VLIST       key)
                                                                                     301:prefix/USERLIST
  Vorteile:                                                 301   HS_PUBKEY (Public key)
                                                                                     302:prefix/USERLIST
  • Klare Trennung                                          302   HS_SECKEY  (Password)
                                                                  300 HS_PUBKEY      (Public key)
  • Admins können neue
     Nutzer hinzufügen,                                           …
                                                                  301         …
                                                                        HS_PUBKEY    (Public key)

     User nicht!                                                  302   HS_SECKEY    (Password)

                                                                        …            …

Merret Buurman (DKRZ)                                                                          24.05.2016   51
Authorisation im Handle System

Und wem gehört ein Handle?

     Jedes Handle muss einen HS_ADMIN-Eintrag haben.
     Dieser legt fest, welche Nutzer dieses Handle
     verändern können.
     Wichtig:
      Das sollten nicht alle Nutzer sein!
        Vorsicht bei HS-VLISTs, die weit oben stehen, z.B. 200:0.NA/prefix
      Man sollte sich selber nicht aussperren!
        Z.B. indem man nur den Prefix Owner angibt (300:0.NA/prefix)…
      Es sollte ein Username sein, der existiert!

     Vorschlag:
      Der erstellende Nutzer selber, oder eine Nutzergruppe

     Vorsicht:
      Default-Werte können (je nach Situation) sinnlos sein!
        Meist: 200:0.NA/prefix (Muss nicht existieren! Kann auf alle Nutzer zeigen!)

Merret Buurman (DKRZ)                                                           24.05.2016   52
Authorisation im Handle System

Nutzergruppen

      Kette von Verweisen durch HS_VLIST
      Wichtig: Start im HS_ADMIN des 0.NA/prefix!
       prefix/users_project1
       100     HS_ADMIN     200:prefix/ADMINLIST
             prefix/users_project2
       200     HS_VLIST  300:prefix/users_project1     prefix/USERLIST
             100 HS_ADMIN301:prefix/users_project1
                            200:prefix/ADMINLIST
                                                       100   HS_ADMIN    200:prefix/ADMINLIST
          200 HS_VLIST 302:prefix/users_project1
                           300:prefix/users_project1
                           301:prefix/users_project1
       300 HS_PUBKEY (Public  key)                     200   HS_VLIST    200:prefix/users_project1
                           302:prefix/users_project1                     200:prefix/users_project2
       301 HS_PUBKEY (Public key)
          300 HS_PUBKEY (Public key)                         …           …
       302 HS_SECKEY   (Password)
          301 HS_PUBKEY (Public key)

             302… HS_SECKEY… (Password)

                   …           …

Merret Buurman (DKRZ)                                                             24.05.2016         53
Merret Buurman (DKRZ)   24.05.2016   54
Sie können auch lesen