Zum Inhalt springen

User-Managed Access

aus Wikipedia, der freien Enzyklopädie

User Managed Access (UMA) ist ein OAuth-basiertes Protokoll zur Verwaltung von Zugriffsrechten (engl.: „access management protocol“). Das Protokoll wird zurzeit in einem Entwurf für die Version 1.0 definiert. Diese Spezifikation definiert die rechtsverbindlichen Pflichten der Parteien, die an UMA-konformen Interaktionen teilnehmen. Die Entwicklung von UMA als Web-Standard findet in der Kantara-Initiative statt.

Grundsätzliches

UMA basiert auf mehreren Hypothesen. Eine davon ist, dass eine Einwilligung (engl. „consent“) wenig komfortabel und nur eine schwache Zustimmung für die Ausübung der Kontrolle der Nutzer über die Weitergabe von vertraulichen Informationen ist. Ein weiterer Grund ist, dass die Verwaltung der zugestimmten Datenzugriffe einer Client-Anwendung zu einem Server nicht gut „skaliert“ (d. h. überproportional langsamer wird), wenn man viele Anwendungen nutzt. Ein anderer Grund ist, dass Autonomie und die Privatsphäre des Einzelnen Kontrolle und Transparenz erfordern, um Überblick in die mit einer Vielzahl von Parteien gemeinsam genutzten Daten zu bewahren, und das nicht nur zu Anwendungen, die der Benutzer selbst nutzt.

Dementsprechend konzentriert sich das Design von UMA darauf, wie ein Web-Benutzer die Autorisierungs-Server (AS) genannte Web-Anwendung nutzt. Mit dem AS werden die gemeinsam genutzten Web-Ressourcen (d. h. letztlich Daten und Informationen) geschützt. Diese Web-Ressourcen könnten sich auf einer beliebigen Anzahl von Servern befinden, die in UMA als „Resource Servers“ (RS) bezeichnet werden. Anwendungen, die die ursprüngliche Ermächtigung der Anwender sowie andere Personen oder Organisationen haben, können auf die geschützten Ressourcen durch anfordernde Client-Anwendungen zugreifen, solange diese mit den entsprechenden Benutzer-Richtlinien am AS konform sind (d. h. der Zugriff erlaubt ist). Diese Richtlinien oder das Regelwerk wird im Englischen als „policy“ bezeichnet.

Geschichte und Hintergrund

Die Kantara-Initiative UMA Work Group<ref>UMA-Arbeitsgruppen-Wiki</ref> hielt ihre erste Sitzung<ref>UMA workgroup meeting minutes </ref> am 6. August 2009 ab. UMA-Design-Prinzipien und technische Auslegung wurden von früheren Arbeiten von Sun-Microsystems-Mitarbeitern im März 2008 begonnen, die ein Protokoll namens ProtectServe entwickelten. ProtectServe wurde von den Zielen der [Vendor Relationship Management] (VRM)-Bewegung und -Anstrengung ein Ableger namens „Feeds-basiertes VRM“ beeinflusst.

ProtectServe und die früheren Versionen von UMA nutzten das OAuth-1.0-Protokoll. Als OAuth durch die Veröffentlichung der WRAP-Spezifikation geändert wurde, wurden die Entwürfe für die UMA-Spezifikation angepasst.

UMA ist nicht von OpenID 2.0 abhängig. Allerdings verwendet es optional das OAuth-basierte OpenID-Connect-Protokoll zur Authentifizierung.

UMA hat auch keine Abhängigkeit von XACML als Mittel zur Beschreibung der Benutzerregeln und die Einholung der Richtlinien-Entscheidungen. UMA schreibt kein Format für das Regelwerk vor. Allerdings haben UMA und XACML einige Gemeinsamkeiten bei den Protokollflüssen.

Aktueller Stand der Normung

Die UMA-WG-Charta richtet sich an die Internet Engineering Task Force (IETF) als eine mögliche Heimat für die UMA-Normungsarbeit. Zu diesem Zweck hat die Arbeitsgruppe mehrere Rohfassungen (engl. „internet draft“) der IETF zur Prüfung übergeben. Einer von ihnen, eine Spezifikation für „Dynamische Kundenregistrierung“<ref>https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dyn-reg Internet Draft: OAuth 2.0 Dynamic Client Registration Core Protocol</ref>, ist bereits als Arbeitspunkt für die „OAuth Working Group“ akzeptiert worden.

Aktuelle Abwicklung und Akzeptanz-Status

Die UMA-Protokoll hat mehrere Implementierungen. Forgerock bietet eine erste Open-Source-Implementierung unter OpenUMA.<ref>https://forgerock.org/openuma/ OpenUMA</ref> Eine erste Implementierung des Autorisierungsservers<ref>https://forgerock.org/openam/ Autorisierungsservers</ref> ist mit OpenAM im nightly build zu testen. Gluu hat UMA zur Sicherung und Verwaltung des Zugriffs auf APIs umgesetzt.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20140209133913

      | {{#ifeq: 20140209133913 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20140209133913}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-20 18:22:13 InternetArchiveBot | 2019-05-20 18:22:13 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20140209133913}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-20 18:22:13 InternetArchiveBot | 2019-05-20 18:22:13 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-20 18:22:13 InternetArchiveBot | 2019-05-20 18:22:13 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }} (Memento{{#if: {{#if: 2019-05-20 18:22:13 InternetArchiveBot | 2019-05-20 18:22:13 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/}} }}  
                 }}}}}}}}{{#if:2019-05-20 18:22:13 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20140209133913|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.gluu.org/open-source/open-source-vs-on-demand/}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.gluu.org/open-source/open-source-vs-on-demand/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.gluu.org/open-source/open-source-vs-on-demand/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.gluu.org/open-source/open-source-vs-on-demand/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Gluu OSS implementation of UMA</ref> Cloud Identity Limited hat eine vollständige UMA-Implementierung für die Sicherung und Verwaltung des Zugriffs auf persönliche Informationen sowie Web-APIs. Einige andere haben gegenüber der Arbeitsgruppe Interesse an Implementierung und Interoperabilitätstests gezeigt.

Einzelnachweise

<references />

Weblinks