DE202020005751U1 - Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst - Google Patents

Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst Download PDF

Info

Publication number
DE202020005751U1
DE202020005751U1 DE202020005751.7U DE202020005751U DE202020005751U1 DE 202020005751 U1 DE202020005751 U1 DE 202020005751U1 DE 202020005751 U DE202020005751 U DE 202020005751U DE 202020005751 U1 DE202020005751 U1 DE 202020005751U1
Authority
DE
Germany
Prior art keywords
account
user
cloud
mirror
clusters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202020005751.7U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Twitter Inc
Original Assignee
Twitter Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twitter Inc filed Critical Twitter Inc
Publication of DE202020005751U1 publication Critical patent/DE202020005751U1/de
Expired - Lifetime legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

System, umfassend:
einen oder mehrere Computer und eine oder mehrere Speichervorrichtungen, die Anweisungen speichern, die betreibbar sind, wenn sie von dem einen oder den mehreren Computern ausgeführt werden, um den einen oder die mehreren Computer zu veranlassen, folgende Operationen auszuführen
Generieren (302) eines Unternehmenskontos für einen Benutzer (201),
Zuordnen (304) des Unternehmenskontos zu einer oder mehreren Gruppen von Benutzern, die berechtigt sind, eine Datenverarbeitung in einem oder mehreren Cloud-Clustern (206) durchzuführen,
Generieren (306) eines entsprechenden Spiegelkontos für das Unternehmenskonto, wobei das Spiegelkonto verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf dem einen oder den mehreren Cloud-Clustern auszuführen, und
Erstellen (308) von Anmeldeinformationen für das Spiegelkonto, umfassend
Definieren, gemäß der einen oder mehreren Benutzergruppen, von Zugriffsberechtigungen für Daten, die in dem einen oder den mehreren Cloud-Clustern gespeichert sind und auf die das Spiegelkonto Zugriff hat, und
Generieren eines oder mehrerer Passwörter für das Spiegelkonto.

Description

  • HINTERGRUND
  • Diese Gebrauchsmusterschrift bezieht sich auf Benutzeridentitäten bei der Datenverarbeitung in einer Multi-Tenant-Umgebung.
  • In einem herkömmlichen Multi-Tenant-Nur-Vor-Ort-Modell führen mehrere Benutzer, z. B. eines Unternehmens, eine Ad-hoc-Verarbeitung auf Clustern innerhalb des Unternehmensnetzwerks durch, z. B. in einem oder mehreren Rechenzentren des Unternehmens. Typischerweise werden dieselben Benutzeranmeldeinformationen sowohl für den Benutzerzugriff auf Unternehmensdienste als auch für den Zugriff auf Cluster verwendet.
  • In einem herkömmlichen Multi-Tenant-Nur-Cloud-Modell hostet ein Cloud-Drittanbieter Cluster, die zur Durchführung der Verarbeitung verwendet werden können. Einige Unternehmen, die eine Cloud für die Datenverarbeitung verwenden, verlassen sich auf ein einziges Dienstkonto, um alle Datenverarbeitungsaufträge auszuführen. Somit sind die Cloud-Datenzugriffe unabhängig von dem einzelnen Benutzerkonto, das den Auftrag im Unternehmen initiiert, alle demselben Dienstkonto zugeordnet.
  • Diese Cloud-Drittanbieter können auch andere Dienste bereitstellen, z. B. E-Mail, Kalender und verschiedene Software-as-a-Service-Anwendungen.
  • KURZDARSTELLUNG
  • Diese Gebrauchsmusterschrift beschreibt Technologien zum Verwalten von Identitäten in einer Multi-Tenant-Umgebung, in der Aufgaben im Namen eines Benutzers in einer nicht interaktiven Umgebung ausgeführt werden, z. B. in einer hybriden lokalen (on premises) und Cloud-Architektur. Die Hybridarchitektur enthält lokale Cluster und Cloud-Cluster für die Datenverarbeitung. Darüber hinaus kann die Cloud andere Dienste bereitstellen, z. B. E-Mail und andere Cloud-basierte Anwendungen. Wenn der Benutzer anwesend ist, wird normalerweise ein Authentifizierungstoken, z. B. ein Kerberos-„Delegierungstoken“, verwendet. Wenn jedoch unbeaufsichtigte Aufgaben im Namen eines Benutzers auf einem Cloud-Cluster gestartet werden und diese Aufgaben den Zugriff auf ein zweites System erfordern, ist es wichtig, zu vermeiden, dass auch Zugriff auf andere Systeme wie die anderen Cloud-Dienste gewährt wird. Unter Verwendung von Techniken, die in dieser Patenschrift beschrieben sind, können Benutzerdatenverarbeitungsaufträge auf den Cloud-Clustern unter Verwendung eines Spiegelkontos ausgeführt werden, das für jeden Benutzer generiert wird, wobei das Spiegelkonto ein Unternehmenskonto des Benutzers widerspiegelt. Das Spiegelkonto kann für den Benutzer transparent sein und gleichzeitig Autorisierung, Authentifizierung und Überwachung für Cloud-Datenverarbeitungsaufträge bereitstellen.
  • Der in dieser Gebrauchsmusterschrift beschriebene Gegenstand kann in bestimmten Ausführungsformen implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Ein Spiegelkonto kann entsprechenden Benutzerunternehmenskonten zur Verwendung mit Datenverarbeitungsaufträgen zugeordnet werden, die auf Cloud-Clustern einer Cloud-Umgebung mit mehreren Diensten durchgeführt werden. Dies kann die Autorisierung, Authentifizierung und Prüfung von Datenzugriffen auf die Cloud-Cluster bereitstellen, ohne dass das Risiko besteht, dass Benutzerdaten für andere von der Cloud bereitgestellte Dienste preisgegeben werden. Die Spiegelkonten können im Gegensatz zu einem einzelnen Dienstkonto für alle Benutzer jeweils mit spezifischen Anmeldeinformationen für den Datenzugriff angepasst werden. Darüber hinaus ermöglichen die eindeutigen Spiegelkonten für jeden Benutzer eine einfache Prüfung von Datenzugriffen, was schwieriger ist, wenn ein einzelnes Superuser-Dienstkonto im Namen des Benutzers handelt. Die Erstellung und Verwendung des Spiegelkontos kann für die Benutzer transparent sein, sodass die Benutzer keinen weiteren Benutzernamen und kein weiteres Passwort lernen müssen, um Cloud-basierte Datenverarbeitungsaufgaben durchzuführen. Mit der Verwendung eines Spiegelkontos ist eine potenzielle Kompromittierung von Benutzeranmeldeinformationen auf den Zugriff auf nur einen Dienst für einen kurzen Zeitraum beschränkt und macht den Zugriff auf andere Dienste nicht verfügbar.
  • Die Einzelheiten einer oder mehrerer Ausführungsformen des Gegenstands dieser Gebrauchsmusterschrift sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands gehen aus der Beschreibung, den Zeichnungen und den Ansprüchen hervor.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer beispielhaften hybriden lokalen und Cloud-Architektur.
    • 2 ist ein Diagramm, das verschiedene Benutzerkonten zum Zugreifen auf verschiedene Dienste darstellt.
    • 3 ist ein Flussdiagramm eines beispielhaften Prozesses zur Beglaubigung eines neuen Benutzers.
    • 4 ist ein Flussdiagramm eines beispielhaften Prozesses zum Initiieren eines Datenverarbeitungsauftrags unter Verwendung eines Spiegelkontos.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Blockdiagramm einer beispielhaften hybriden lokalen und Cloud-Architektur 100. In der hybriden lokalen und Cloud-Architektur 100 findet ein Teil der Datenverarbeitung eines Unternehmens auf lokalen Clustern 102 und 104 statt, die sich in Rechenzentren 106 bzw. 108 einer Unternehmensumgebung 101 befinden. Zusätzlich findet ein anderer Teil der Datenverarbeitung des Unternehmens auf Cloud-Clustern 112 statt, die sich in einer Cloud-Umgebung 110 befinden.
  • Die Cluster 102, 104 und 112 können Rechencluster vieler Rechengeräte sein, die verwendet werden, um große Datenmengen in einer verteilten Umgebung zu verarbeiten. In einigen Implementierungen sind einer oder mehrere der Cluster Hadoop-Cluster.
  • Außerdem enthält die Unternehmensumgebung 101 Unternehmens server 103, über die Benutzer auf die Cluster der Rechenzentren oder der Cloud zugreifen können. Somit ist die Architektur 100 auch eine Multi-Tenant-Architektur mit mehreren Benutzern, die koexistieren und die gleichzeitig auf dieselben Ressourcen in den Clustern zugreifen können.
  • Die Cloud-Umgebung 110 wird von einer dritten Partei bereitgestellt, die sich von der Unternehmensumgebung 101 unterscheidet, und kann Datenverarbeitung durch Cluster 112 und andere Dienste 116 für viele verschiedene Unternehmen bereitstellen. Die Dienste 116 können Cloud-basierte Unternehmensdienste umfassen, z. B. E-Mail, Kalender und Konferenzen. Die Unternehmensdienste können auch Software-as-a-Service-Anwendungen umfassen, z. B. Textverarbeitung, Folienpräsentationen und Tabellenkalkulationen, sowie Speicher für Dokumente, die für jeden Dienst generiert werden. Benutzer können Verarbeitungsaufträge zuweisen, die darauf ausgerichtet sind, auf einem der lokalen Cluster 102 oder 104 oder den Cloud-Clustern 112 ausgeführt zu werden.
  • Bei der Verwaltung der Datenverarbeitungsaufträge kann es hilfreich sein, die Authentifizierung, Autorisierung und Überwachung für die Verarbeitungsaufträge aufrechtzuerhalten, die sowohl auf den lokalen Clustern als auch auf den Cloud-Clustern ausgeführt werden. Authentifizierung bezieht sich auf den Prozess der Überprüfung der Identität eines Benutzers oder eines Prozesses. Es kann wichtig sein, die Identität jedes Benutzers zu überprüfen, der Verarbeitungsaufträge sowohl in lokalen Clustern als auch in Cloud-Clustern ausführt. Autorisierung bezieht sich auf die Bestimmung, ob ein Benutzer die Berechtigung hat, eine Aktion auszuführen, z. B. die Bestimmung, ob ein Benutzer die Berechtigung hat, auf die Daten für einen Verarbeitungsauftrag in einem Cluster zuzugreifen. Auditing bezieht sich auf ein Protokoll oder eine Spur von durchgeführten Aktionen, z. B. um festzustellen, welche Benutzer welche Verarbeitungsaufträge auf einem Cluster ausgeführt haben, oder um festzustellen, welcher Benutzer wann auf welche spezifischen Daten zugegriffen hat.
  • Lokale Benutzeridentitäten
  • Innerhalb einer Unternehmensumgebung, z. B. der Unternehmensumgebung 101, wird Benutzern typischerweise ein eindeutiges Konto zugewiesen, das verwendet wird, um den Benutzer zu identifizieren und auf bestimmte Netzwerkressourcen zuzugreifen. Beispielsweise kann einem Benutzer ein Konto für ein Lightweight Directory Access Protocol (LDAP) zugewiesen werden, das Verzeichnisdienste bereitstellt, die die gemeinsame Nutzung verschiedener Informationen über das Netzwerk, z. B. ein Unternehmensintranet, ermöglichen.
  • In einigen Fällen können für bestimmte Aufgaben andere Benutzeridentitäten zugewiesen werden. Beispielsweise kann Benutzern, die Datenverarbeitungsaufgaben unter Verwendung von lokalen Clustern durchführen, z. B. Cluster 102 und 104, ein Unix-Konto zugewiesen werden. Oft gibt es eine Eins-zu-Eins-Zuordnung zwischen den LDAP-Konten und den Unix-Konten, sodass sich der Benutzer nicht bei separaten Konten anmelden muss, um auf die jeweiligen Funktionen zuzugreifen. In einigen Implementierungen können Benutzer, die einen bestimmten Programmiercode fertiggestellt haben, den Auftrag verschieben, damit er in einer Produktionsumgebung ausgeführt wird. Die Prozesse für die endgültigen Produktionsaufträge können so geplant werden, dass sie als Unix-Dienstkonto ausgeführt werden, das keiner bestimmten individuellen Benutzeridentität zugeordnet ist.
  • Cloud-Identitäten
  • Ein Unternehmen kann auch Cloud-basierte Dienste verwenden, z. B. die Dienste 116, die beispielsweise Cloud-basierte E-Mail, Kalender und Anwendungen bereitstellen. Für den Zugriff auf Cloud-Dienste kann jedem Benutzer ein separates Cloud-Dienste-Konto zugewiesen werden. Beispielsweise kann ein Unternehmen Cloud-basierte E-Mails verwenden, bei denen jedem Benutzer des Unternehmens ein Konto für Cloud-Dienste zugewiesen wird. Diesem Cloud-Dienste-Konto kann auch derselbe Kontoname wie dem LDAP-Konto des Benutzers gegeben werden. Die Kennwörter sind jedoch in der Regel unterschiedlich. Die Kontoauthentifizierung für die Cloud-Dienste kann durch den Cloud-Diensteanbieter verwaltet werden, z. B. eine Drittpartei. Das Cloud-Dienste-Konto kann Zugriff auf alle Benutzerdaten gewähren, die als Teil der Cloud-Dienste gespeichert sind.
  • Die Entität, die die Cloud-basierten Dienste bereitstellt, kann auch Rechencluster für die Datenverarbeitung bereitstellen, z. B. die Cloud-Cluster 112.
  • Eine Option für den Zugriff auf die Datenverarbeitungsaufträge, die für das Unternehmen in den Cloud-Clustern 112 ausgeführt werden, besteht darin, ein einzelnes Dienstkonto für das gesamte Unternehmen zu verwenden. Das heißt, ein einziges Dienstkonto kann bereitgestellt werden, um alle Datenverarbeitungsaufträge des Unternehmens auf den Cloud-Clustern 112 auszuführen. In einem solchen Fall kann die Prüfung jedoch schwierig sein, da es keinen direkten Prüfpfad dafür gibt, welche Benutzer die Daten ausführen Verarbeitung von Aufträgen; Vielmehr scheinen alle Auftragsanforderungen und Datenzugriffsanforderungen von einem Dienstkonto ausgeführt zu werden. Da außerdem alle Daten über das einzelne Dienstkonto zugänglich sein müssen, kann die Autorisierung schwierig sein; das heißt, es kann schwierig sein, unterschiedlichen Benutzern unterschiedliche Berechtigungen zum Zugreifen auf Cloud-Daten zu erteilen.
  • Eine Alternative zur Verwendung eines einzelnen Dienstkontos besteht darin, die einzelnen Clouddienstkonten zu verwenden, die den Benutzern bereits zugewiesen sind. Dies kann eine Authentifizierung und Überwachung des Datenzugriffs in der Cloud ermöglichen.
  • Wenn jedoch ein Datenverarbeitungsauftrag auf einem Cloud-Cluster ausgeführt wird, erfordert der Auftrag häufig, dass der Cloud-Cluster auf Daten zugreift, die in der Cloud gespeichert sind. Wenn für den Zugriff auf die Daten eine Authentifizierung erforderlich ist, müssen die Anmeldeinformationen für den Zugriff, z. B. die Anmeldeinformationen des Cloud-Dienste-Kontos des Benutzers, der den Datenverarbeitungsauftrag gestartet hat, einer oder mehreren virtuellen Maschinen des Clusters zur Verfügung gestellt werden, die den Datenverarbeitungsauftrag ausführt. Wenn die Anmeldeinformationen für das Cloud-Dienste-Konto des Benutzers, der den Datenverarbeitungsauftrag gestartet hat, zur Authentifizierung verwendet und den virtuellen Maschinen zur Verfügung gestellt werden, dann könnten die Anmeldeinformationen für das Cloud-Dienste-Konto anfällig dafür sein, gestohlen zu werden, z. B. durch einen Angreifer, der Zugriff auf die virtuellen Maschinen erhält oder durch einen anderen Benutzer der virtuellen Maschinen. Beispielsweise könnte jeder Benutzer mit Administratorzugriff auf die virtuelle Maschine die Anmeldeinformationen für das Cloud-Dienstkonto eines Benutzers erhalten, der einen Auftrag auf der virtuellen Maschine ausführt, und die Identität des Cloud-Dienstkontos annehmen und Zugriff auf alle Cloud-Dienste dieses Benutzers, z. B. die Dienste 116, haben. Beispielsweise könnte dies dem administrativen Benutzer ermöglichen, E-Mails oder Dokumente des Cloud-Dienste-Kontos einzusehen.
  • Identitäten in einem hybriden lokalen und Cloud-Modell
  • Für jeden Benutzer kann ein Spiegelkonto generiert werden, das eine Eins-zu-eins-Zuordnung zum Unternehmenskonto des Benutzers hat, z. B. das LDAP-Konto des Benutzers für das Unternehmen. Das Spiegelkonto kann den Benutzer identifizieren, der dem entsprechenden Unternehmenskonto zugeordnet ist, und kann verwendet werden, um Aufträge auszuführen, die vom Benutzer in den Cloud-Clustern gestartet wurden, und bietet Authentifizierung, Autorisierung und Überwachung in einer mandantenfähigen Hybridumgebung einer lokalen und Cloud-Architektur. Darüber hinaus wird durch die Verwendung von Spiegelkonten getrennt von Cloud-Dienste-Konten das Sicherheitsrisiko des administrativen Zugriffs auf die Cloud-Dienste-Daten des Benutzers reduziert.
  • 2 ist ein Diagramm 200, das verschiedene Benutzerkonten eines Benutzers 201 zum Zugreifen auf Rechenressourcen eines Unternehmens des Benutzers und zum Zugreifen auf verschiedene Dienste eines Cloud-Dienstanbieters des Unternehmens darstellt. Der Benutzer 201 greift auch auf Cloud-Dienste 202 unter Verwendung eines Cloud-Dienste-Kontos 203 zu. Der Benutzer 201 greift auch auf Unternehmensverarbeitungsressourcen 204 des Unternehmens zu, z. B. Verarbeitungsressourcen, die einen oder mehrere lokale Cluster enthalten, unter Verwendung eines Unternehmenskontos 205, z. B. eines Unix- oder anderen geeigneten Kontos. Wie oben angemerkt, können das Cloud-Dienste-Konto 203 und das Unternehmenskonto 205 den gleichen Kontonamen haben; die Kontoauthentifizierung für das Cloud-Dienste-Konto 203 wird jedoch vom Cloud-Diensteanbieter verwaltet, während die Kontoauthentifizierung für das Unternehmenskonto 205 vom Unternehmen verwaltet werden kann. Eine Datenverarbeitungsanforderung vom Benutzer 201 und gerichtet an die Unternehmensverarbeitungsressourcen 204 kann auf einem lokalen Cluster unter Verwendung der Unternehmenskonto-Anmeldeinformationen 205 ausgeführt werden oder kann auf Cloud-Clustern 206 ausgeführt werden.
  • Der Anbieter von Cloud-Diensten kann ein Spiegelkonto 210 für den Benutzer 201 generieren, das Zugriff auf bestimmte Cloud-Daten für Datenverarbeitungsaufträge bereitstellt, die von den Cloud-Clustern 206 ausgeführt werden. In einigen Implementierungen können die Unternehmensverarbeitungsressourcen 204 das Spiegelkonto 210 generieren. Dieses Spiegelkonto kann dem entsprechenden Unternehmenskonto 205 des Benutzers zugeordnet werden.
  • Wenn die Unternehmensverarbeitungsressourcen 204 eine Anforderung zum Starten eines Datenverarbeitungsauftrags des Benutzers 201 erhalten, können die Unternehmensverarbeitungsressourcen 204 bestimmen, ob der Datenverarbeitungsauftrag auf lokalen Clustern oder auf den Cloud-Clustern 206 ausgeführt werden soll. In einigen Implementierungen identifiziert die vom Benutzer 201 übermittelte Anforderung zum Starten des Datenverarbeitungsauftrags, welche Art von Cluster den Auftrag ausführen soll; in einigen anderen Implementierungen kann die Unternehmensverarbeitungsressource 204 die Bestimmung ohne Benutzereingabe vornehmen, z. B. gemäß der Verfügbarkeit der lokalen Cluster. Wenn die Unternehmensverarbeitungsressourcen 204 bestimmen, den Datenverarbeitungsauftrag unter Verwendung von lokalen Clustern auszuführen, können die Unternehmensverarbeitungsressourcen den Auftrag unter Verwendung des Unternehmenskontos 205 autorisieren und prüfen. Bestimmen die Verarbeitungsressourcen 204 die Ausführung des Datenverarbeitungsaufträge unter Verwendung der Cloud-Cluster 206, können die Verarbeitungsressourcen 204 des Unternehmens die Auftragsanforderung unter Verwendung des Spiegelkontos 210 an die Cloud-Cluster 206 weiterleiten. Die von den Unternehmensverarbeitungsressourcen 204 an die Cloud-Cluster 206 gesendeten Anforderungen können unter Verwendung eines in 2 dargestellten Passworts durch einen Schlüssel 207 des Spiegelkontos 210, z. B. einen JSON-Schlüssel, authentifiziert werden.
  • Die Cloud-Cluster 205 können dann den Datenverarbeitungsauftrag unter Verwendung des Spiegelkontos 210 autorisieren und prüfen. Zum Beispiel können die Cloud-Cluster 206 Protokolle der Anforderungen für Cloud-Daten generieren, die von dem Datenverarbeitungsauftrag übermittelt werden, und die Protokolle dem Benutzer 201 zuordnen, der Spiegelkonto 210 zugeordnet ist. Die Cloud-Cluster 206 können auch für jede Anforderung von Cloud-Daten, die durch den Datenverarbeitungsauftrag übermittelt werden, bestimmen, ob der Benutzer 201 Zugriff auf die angeforderten Cloud-Daten hat. Insbesondere können die Cloud-Cluster 206 und alle anderen Benutzer der Cloud-Cluster 206, z. B. ein administrativer Benutzer der Cloud-Cluster 206, das Spiegelkonto 210 nicht verwenden, um auf die Cloud-Dienste 202 des Benutzers 201 zuzugreifen, wodurch sichergestellt wird, dass die Benutzerdaten der Cloud-Dienste 202 sicher sind, selbst wenn Anmeldeinformationen für das Spiegelkonto 210 von einem anderen Benutzer der Cloud-Cluster 206 erhalten werden.
  • Der Anbieter von Cloud-Diensten kann das Spiegelkonto 210 auf eine Weise generieren, die für den Benutzer 201 transparent ist. Der Benutzer 201 muss nichts über die Details des Spiegelkontos 210 oder die Kontoanmeldeinformationen des Spiegelkontos 210 wissen. Zudem können die Passwörter für das Spiegelkonto 210, z. B. der Schlüssel 201 vom System generiert und periodisch rotiert werden, z. B. von den Unternehmensverarbeitungsressourcen 204 oder den Cloud-Clustern 206. Folglich müssen die einzelnen Benutzer die Anmeldeinformationen ihres jeweiligen Spiegelkontos nicht kennen oder die Anmeldeinformationen eingeben, um eine Datenverarbeitung durchzuführen. Die Benutzer müssen auch nicht wissen, dass das Spiegelkonto die Identität ist, die auf die Daten in der Cloud zugreift, wenn sie ihre Datenverarbeitungsaufträge ausführen. Daten, die die Spiegelkonten des Unternehmens charakterisieren, und die Berechtigungsnachweise für die Spiegelkonten können lokal durch die Verarbeitungsressourcen 204 des Unternehmens gespeichert werden.
  • 3 ist ein Flussdiagramm eines beispielhaften Prozesses 300 zum Generieren von Anmeldeinformationen für einen neuen Benutzer eines Unternehmens. Der Einfachheit halber wird der Prozess 300 so beschrieben, dass er von einem System aus einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Orten befinden und entsprechend dieser Gebrauchsmusterschrift programmiert sind.
  • Das System erzeugt eine Kontokennung für den Benutzer (302). Beispielsweise kann die Kontokennung für ein neues Unternehmenskonto des Benutzers gelten. Das Unternehmenskonto kann ein neues Konto sein, das generiert wird, wenn der Benutzer dem Unternehmen beitritt, beispielsweise ein LDAP-Konto mit einem eindeutigen Kontonamen, z. B. neuerBenutzerl. Gleichzeitig kann ein entsprechendes Cloud-Dienste-Konto für den Zugriff auf Cloud-gehostete Dienste des Unternehmens, z. B. E-Mail, die von einem Cloud-Diensteanbieter bereitgestellt werden, generiert werden. Das Cloud-Dienste-Konto kann der Einfachheit halber mit demselben Kontonamen generiert werden, z. B. neuerBenutzerl, hat aber im Allgemeinen ein anderes Passwort als das Unternehmenskonto.
  • Das System ordnet das Unternehmenskonto einer Gruppe von Unternehmensbenutzern zu, die Zugriff auf die Cloud-Datenverarbeitung haben (304). Beispielsweise kann das System das Unternehmenskonto des Benutzers auf der Grundlage der Rolle des Benutzers im Unternehmen bestimmten Organisationsgruppen des Unternehmens zuordnen. Diese Organisationsgruppen können jeweils mit unterschiedlichen Teilen von Unternehmensdaten arbeiten und darauf zugreifen, die in Cloud-Clustern des Anbieters von Cloud-Diensten gespeichert oder verarbeitet werden.
  • Das System kann bestimmen, ob dem Unternehmenskonto ein Spiegelkonto zugeordnet ist. Als Reaktion auf die Feststellung, dass das Unternehmenskonto kein entsprechendes Spiegelkonto hat, generiert das System ein Spiegelkonto für den Benutzer (306). Das Spiegelkonto kann von Rechenressourcen vor Ort des Unternehmens verwendet werden, um Rechenaufträge des Benutzers auf den Cloud-Clustern des Anbieters von Cloud-Diensten zu starten. Das Spiegelkonto kann so konstruiert werden, dass es das entsprechende Unternehmenskonto leicht identifiziert. Beispielsweise kann der Kontoname des Unternehmenskontos im Spiegelkonto enthalten sein, z. B. neuerbenutzerl@enterprisegrp.iam.mirroaccount.com. Indem das Unternehmenskonto in das Spiegelkonto aufgenommen wird, kann eine Prüfung schnell durchgeführt werden, um Anforderungen für Cloud-Cluster-Daten Unternehmenskonten zuzuordnen, die den Datenzugriffsanforderungen zugeordnet sind.
  • Das System erstellt Anmeldeinformationen für das Spiegelkonto des Benutzers (308). Die Anmeldeinformationen können einen bestimmten Satz von Berechtigungen enthalten, die die Cloud-Daten definieren, auf die das Benutzerkonto zugreifen darf. Das System kann die Anmeldeinformationen für das Spiegelkonto des Benutzers gemäß den verschiedenen Unternehmensgruppen erstellen, denen das Unternehmenskonto des Benutzers zugeordnet ist. Somit können dem Spiegelkonto jedes Benutzers Anmeldeinformationen gegeben werden, die auf die bestimmten Gruppen zugeschnitten sind, denen der Benutzer angehört, basierend auf den Arten von Datenverarbeitungsaufträgen, die Mitglieder der bestimmten Gruppen ausführen dürfen.
  • Das System kann auch einen Benutzerspeicherbereich zum Speichern von Daten, die den Cloud-Verarbeitungsaufträgen des Benutzers zugeordnet sind, getrennt von Daten anderer Benutzer spezifizieren.
  • Das System generiert einen oder mehrere Schlüssel für das Spiegelkonto. Die Schlüssel werden vom Unternehmen gespeichert, z. B. in einem sicheren Schlüsselspeicher der Unternehmensverarbeitungsressourcen, und abgerufen, wenn ein Benutzerdatenverarbeitungsauftrag an die Cloud-Cluster gesendet wird. Die Schlüssel werden so gespeichert, dass sie nur in Verbindung mit dem jeweiligen Spiegelkonto abgerufen werden können.
  • Wichtig ist, dass das Spiegelkonto keinen Zugriff auf die vom Cloud-Dienstanbieter bereitgestellten Cloud-Dienste hat, die nicht mit den Cloud-Clustern und dem gestarteten Datenverarbeitungsauftrag in Verbindung stehen. Das heißt, das Spiegelkonto kann nicht auf die Cloud-Dienste des Benutzers zugreifen, auf die der Benutzer unter Verwendung des generierten Cloud-Dienste-Kontos des Benutzers zugreifen kann. Selbst wenn das Spiegelkonto kompromittiert wird, bleiben die Benutzerdaten, die von diesen anderen Cloud-Diensten verwaltet werden, sicher.
  • 4 ist ein Flussdiagramm eines beispielhaften Prozesses 400 zum Initiieren eines Datenverarbeitungsauftrags unter Verwendung eines Spiegelkontos. Der Einfachheit halber wird der Prozess 400 so beschrieben, dass er von einem System aus einem oder mehreren Computern durchgeführt wird, die sich an einem oder mehreren Orten befinden und entsprechend dieser Gebrauchsmusterschrift programmiert sind.
  • Das System empfängt einen Datenverarbeitungsauftrag von einem Benutzer eines Unternehmens (402). Zum Beispiel kann der Benutzer den Job an ein Datenverarbeitungsverwaltungssystem des Unternehmens senden, das Datenverarbeitungsjobs verwaltet, indem er zum Beispiel einen Teil der besitzenden Aufträge plant, dass er von lokalen Clustern ausgeführt wird, und indem er einen anderen Teil der Verarbeitungsjobs an Cloud-Cluster eines Cloud-Diensteanbieters bereitstellt. In einigen Implementierungen gibt die Benutzeranforderung an, ob der Datenverarbeitungsauftrag auf einem lokalen Cluster oder auf einem Cloud-Cluster ausgeführt werden soll. In einigen anderen Implementierungen bestimmt das Datenverarbeitungsverwaltungssystem, wohin der Datenverarbeitungsauftrag gesendet werden soll, basierend auf den Ressourcen, die zum Ausführen des Auftrags erforderlich sind.
  • Für einen von Cloud-Clustern auszuführenden Job identifiziert das System ein Spiegelkonto des anfordernden Benutzers (404). Das Spiegelkonto kann anhand des Unternehmenskontonamens des Benutzers identifiziert werden. Insbesondere kann, wie oben beschrieben, das Spiegelkonto für den Benutzer generiert werden, der den Namen des Unternehmenskontos in den Namen des Spiegelkontos einschließt. In einigen anderen Implementierungen sucht das System das Spiegelkonto des Benutzers in einem Verzeichnis, das Unternehmenskontonamen (oder Unix-Kontonamen für die lokale Datenverarbeitung) Spiegelkonten zuordnet.
  • Das System ruft einen aktuellen Schlüssel für das Spiegelkonto ab (406). Der Schlüssel ist ein Passwort für das Spiegelkonto, um die Cloud-Cluster zu authentifizieren, und kann vom System in einem sicheren Schlüsselspeicher gespeichert werden. Somit kann das System den Schlüssel abrufen, anstatt eine Benutzerpassworteingabe anzufordern. Der Schlüssel für das Spiegelkonto kann regelmäßig geändert werden, um die Sicherheit des Spiegelkontos zu erhöhen. In einigen Implementierungen wird ein Satz von Schlüsseln periodisch rotiert, z. B. eine bestimmte Anzahl von Tagen. Das heißt, neue Schlüssel können periodisch generiert werden und die ältesten laufen aus.
  • Das System sendet den Datenverarbeitungsauftrag unter Verwendung der Spiegelkontokennung und des Schlüssels (408) an die Cloud-Cluster. Die Spiegelkontokennung stellt Informationen bereit, anhand derer die Cloud-Cluster feststellen können, ob das Konto autorisiert ist, auf die Daten für den Auftrag zuzugreifen. Der Schlüssel stellt die Authentifizierung des Spiegelkontos bereit.
  • Wenn der Benutzer ordnungsgemäß autorisiert und authentifiziert ist, führen die Cloud-Cluster den Datenverarbeitungsauftrag aus. Das System empfängt Ausgabedaten von dem Cloud-Cluster (410). Die Ausgabedaten können von der bestimmten Datenverarbeitungsaufgabe abhängen, die von dem Cloud-Cluster durchgeführt wird.
  • Ausführungsformen des Gegenstands umfassen Verfahren und entsprechende Computersysteme, Geräte und Computerprogramme, die auf einem oder mehreren Computerspeichergeräten aufgezeichnet sind, die jeweils konfiguriert sind, um die Aktionen der Verfahren auszuführen. Bei einem System mit einem oder mehreren Computern bedeutet die Konfiguration zur Ausführung bestimmter Operationen oder Aktionen, dass auf dem System Software, Firmware, Hardware oder eine Kombination davon installiert ist, die im Betrieb dazu führen, dass das System die Operationen oder Aktionen ausführt. Dass ein oder mehrere Computerprogramme so konfiguriert werden, dass sie bestimmte Operationen oder Aktionen ausführen, bedeutet, dass das eine oder die mehreren Programme Anweisungen enthalten, die, wenn sie von dem Datenverarbeitungsgerät ausgeführt werden, das Gerät veranlassen, die Operationen oder Aktionen auszuführen.
  • Ausführungsformen des Gegenstands und der in dieser Gebrauchsmusterschrift beschriebenen funktionalen Operationen können in digitaler elektronischer Schaltung, in physisch verkörperter Computersoftware oder -firmware, in Computerhardware, einschließlich der in dieser Gebrauchsmusterschrift offenbarten Strukturen und ihrer strukturellen Äquivalente, oder in Kombinationen von einem oder mehreren von ihnen implementiert werden. Ausführungsformen des in dieser Gebrauchsmusterschrift beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert werden d. h ein oder mehrere Module von Computerprogrammanweisungen, die auf einem materiellen, nicht flüchtigen Speichermedium zur Ausführung durch oder zur Steuerung des Betriebs des Datenverarbeitungsgeräts codiert sind. Das Computerspeichermedium kann ein maschinenlesbares Speichergerät, ein maschinenlesbares Speichersubstrat, ein Speichergerät mit wahlfreiem oder seriellem Zugriff oder eine Kombination aus einem oder mehreren davon sein. Alternativ oder zusätzlich können die Programmbefehle auf einem künstlich erzeugten ausgebreiteten Signal codiert werden, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Informationen zur Übertragung an ein geeignetes Empfängergerät zur Ausführung durch ein Datenverarbeitungsgerät zu codieren.
  • Der Begriff „Datenverarbeitungsgerät“ bezieht sich auf Datenverarbeitungshardware und umfasst alle Arten von Geräten, Vorrichtungen und Maschinen zum Verarbeiten von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Das Gerät kann auch eine Speziallogikschaltung sein oder weiter umfassen, z. B. ein FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung). Das Gerät kann optional zusätzlich zur Hardware Code enthalten, der eine Ausführungsumgebung für Computerprogramme erzeugt, z. B. Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehreren davon bildet.
  • Ein Computerprogramm, das auch als Programm, Software, Softwareanwendung, App, Modul, Softwaremodul, Skript oder Code bezeichnet oder beschrieben werden kann, kann in jeder Form von Programmiersprache geschrieben sein, einschließlich kompiliert oder interpretierte Sprachen oder deklarative oder prozedurale Sprachen; und es kann in jeder Form eingesetzt werden, einschließlich als eigenständiges Programm oder als Modul, Komponente, Subroutine oder andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Programm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, die andere Programme oder Daten enthält, z. B. ein oder mehrere Skripte, die in einem Auszeichnungssprachendokument gespeichert sind, in einer einzelnen Datei, die dem betreffenden Programm zugeordnet ist, oder in mehreren koordinierten Dateien, z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Codeteile speichern. Ein Computerprogramm kann eingesetzt werden, um auf einem Computer oder auf mehreren Computern ausgeführt zu werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und durch ein Datenkommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Gebrauchsmusterschrift beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Computern ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen auszuführen, indem Eingabedaten bearbeitet und Ausgaben erzeugt werden. Die Prozesse und logischen Abläufe können auch durch eine spezielle Logikschaltung, z. B. ein FPGA oder ein ASIC, oder durch eine Kombination aus einer speziellen Logikschaltung und einem oder mehreren programmierten Computern durchgeführt werden.
  • Computer, die für die Ausführung eines Computerprogramms geeignet sind, können auf Allzweck- oder Spezialmikroprozessoren oder beiden oder auf jeder anderen Art von Zentraleinheit basieren. Im Allgemeinen empfängt eine zentrale Verarbeitungseinheit Anweisungen und Daten von einem Nur-Lese-Speicher oder einem Speicher mit wahlfreiem Zugriff oder beiden. Die wesentlichen Elemente eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen oder Ausführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Die zentrale Verarbeitungseinheit und der Speicher können durch logische Schaltungen für spezielle Zwecke ergänzt oder darin eingebaut werden. Im Allgemeinen enthält ein Computer auch eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische, magneto-optische Platten oder optische Platten, oder ist operativ gekoppelt, um Daten von diesen zu empfangen oder Daten zu übertragen oder beides. Ein Computer muss jedoch nicht über solche Einrichtungen verfügen. Darüber hinaus kann ein Computer in ein anderes Gerät eingebettet sein, z. B. ein Mobiltelefon, ein Personal Digital Assistant (PDA), ein mobiler Audio- oder Videoplayer, eine Spielkonsole, ein GPS-Empfänger (Global Positioning System) oder ein tragbares Speichergerät, z. B. ein Flash-Laufwerk mit universellem seriellem Bus (USB), um nur einige zu nennen.
  • Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen von nichtflüchtigen Speichern, Medien und Speichergeräten, einschließlich beispielsweise Halbleiterspeichergeräte, z. B. EPROM, EEPROM und Flash-Speichergeräte; Magnetdisketten, z. B. interne Festplatten oder Wechselplatten; Magnetische optische Disketten; und CD-ROM- und DVD-ROM-Disketten.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands auf einem Computer implementiert werden, der eine Anzeigevorrichtung aufweist, z. B. einen CRT-(Kathodenstrahlröhren)- oder LCD-(Flüssigkristallanzeige)-Monitor zum Anzeigen von Informationen an den Benutzer und eine Tastatur und ein Zeigegerät, z. B. eine Maus oder ein Trackball, durch die der Benutzer Eingaben an den Computer liefern kann. Es können auch andere Arten von Vorrichtungen verwendet werden, um eine Interaktion mit einem Benutzer bereitzustellen; zum Beispiel kann dem Benutzer bereitgestelltes Feedback jede Form von sensorischem Feedback sein, z. B. visuelles Feedback, auditives Feedback oder taktiles Feedback; und eine Eingabe vom Benutzer kann in irgendeiner Form empfangen werden, einschließlich einer akustischen, sprachlichen oder taktilen Eingabe. Außerdem kann ein Computer mit einem Benutzer interagieren, zum Beispiel indem er Dokumente an ein Gerät sendet und von diesem empfängt, das von dem Benutzer verwendet wird; beispielsweise durch Senden von Webseiten an einen Webbrowser auf dem Gerät eines Benutzers als Antwort auf Anforderungen, die vom Webbrowser empfangen werden.
  • Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können in einem Computersystem implementiert werden, das eine Back-End-Komponente enthält, z. B. als Datenserver, oder das eine Middleware-Komponente enthält, z. B. einen Anwendungsserver, oder das eine Front-End-Komponente enthält, z. B. ein Client-Computer mit einer grafischen Benutzeroberfläche, einem Webbrowser oder einer App, über die ein Benutzer mit einer Implementierung des in dieser Gebrauchsmusterschrift beschriebenen Gegenstands interagieren kann, oder eine beliebige Kombination aus einem oder mehreren solcher Backends, Middleware, oder Frontend-Komponenten. Die Komponenten des Systems können durch jede Form oder jedes Medium digitaler Datenkommunikation, z. B. ein Kommunikationsnetz, miteinander verbunden sein. Beispiele für Kommunikationsnetzwerke umfassen ein lokales Netzwerk (LAN) und ein Weitverkehrsnetzwerk (WAN), z. B. das Internet.
  • Das Computersystem kann Clients und Server umfassen. Ein Client und ein Server sind im Allgemeinen voneinander entfernt und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Client-Server-Beziehung entsteht dadurch, dass Computerprogramme auf den jeweiligen Computern laufen und zueinander in einer Client-Server-Beziehung stehen. In einigen Ausführungsformen überträgt ein Server Daten, z. B. eine HTML-Seite, an ein Benutzergerät, z. B. zum Zweck des Anzeigens von Daten und des Empfangens von Benutzereingaben von einem Benutzer, der mit dem Gerät interagiert, das als Client fungiert. Auf dem Benutzergerät erzeugte Daten, z. B. ein Ergebnis der Benutzerinteraktion, können auf dem Server von dem Gerät empfangen werden.
  • Neben den oben beschriebenen Ausführungsformen sind auch folgende Ausführungsformen innovativ:
    • Ausführungsform 1 ist ein Verfahren, umfassend: Empfangen eines Datenverarbeitungsauftrags, der einem Benutzerkonto eines Benutzers zugeordnet ist; Bestimmen, den Datenverarbeitungsauftrag auf einem oder mehreren Cloud-Clustern eines Anbieters von Cloud-Diensten zu starten; Identifizieren eines dem Benutzer entsprechenden Spiegelkontos, wobei das Spiegelkonto definiert, auf welche Cloud-Ressourcen des Cloud-Diensteanbieters der Benutzer zugreifen darf; Erhalten eines Schlüssels für das Spiegelkonto; Senden einer Anforderung zum Starten des Datenverarbeitungsauftrags auf dem einen oder den mehreren Cloud-Clustern, umfassend das Senden von Daten, die den Datenverarbeitungsauftrag, das Spiegelkonto des Benutzers und den erhaltenen Schlüssel charakterisieren, an den einen oder die mehreren Cloud-Cluster, wobei der erhaltene Schlüssel die Anforderung mit dem einen oder mehreren Cloud-Clustern authentifiziert; und Empfangen von Ausgabedaten, die dem Datenverarbeitungsauftrag zugeordnet sind, von dem einen oder den mehreren Cloud-Clustern.
    • Ausführungsform 2 ist das Verfahren von Ausführungsform 1, wobei der eine oder die mehreren Cloud-Cluster das Spiegelkonto verwenden, um eine oder mehrere Anforderungen zu autorisieren, die von dem Datenverarbeitungsauftrag übermittelt werden, wobei das Autorisieren das Bestimmen umfasst, ob der Benutzer auf Daten zugreifen darf, die den Anforderungen zugeordnet sind.
    • Ausführungsform 3 ist das Verfahren nach einer der Ausführungsformen 1 oder 2, wobei der eine oder die mehreren Cloud-Cluster das Spiegelkonto verwenden, um eine oder mehrere Anforderungen zu prüfen, die von dem Datenverarbeitungsauftrag übermittelt werden, wobei die Prüfung das Generieren eines oder mehrerer Protokolle umfasst, die den Anforderungen und dem Benutzer zugeordnet sind.
    • Ausführungsform 4 ist das Verfahren nach einer der Ausführungsformen 1-3, wobei der Anbieter von Cloud-Diensten dem Benutzer einen oder mehrere andere Cloud-Dienste bereitstellt und das Spiegelkonto keinen Zugriff auf Daten hat, die dem einen oder den mehreren anderen Cloud-Diensten zugeordnet sind.
    • Ausführungsform 5 ist das Verfahren nach einer der Ausführungsformen 1-4, wobei das Erhalten des Schlüssels für das Spiegelkonto das Erhalten des Schlüssels von einem sicheren Schlüsselspeicher umfasst und wobei der Schlüssel periodisch aktualisiert wird.
    • Ausführungsform 6 ist das Verfahren nach einer der Ausführungsformen 1-5, wobei das Bestimmen, den Datenverarbeitungsauftrag auf dem einen oder den mehreren Cloud-Clustern zu starten, das Identifizieren einer dem Datenverarbeitungsauftrag zugeordneten Benutzereingabe umfasst, wobei die Benutzereingabe angibt, dass der Datenverarbeitungsauftrag auf einem oder mehreren Cloud-Clustern gestartet werden sollte.
    • Ausführungsform 7 ist das Verfahren nach einer der Ausführungsformen 1-6, wobei das Bestimmen, den Datenverarbeitungsauftrag auf dem einen oder den mehreren Cloud-Clustern zu starten, das Bestimmen einer Fähigkeit eines oder mehrerer lokaler Cluster eines Unternehmens des Benutzers, zur Ausführung der Datenverarbeitungsauftrag umfasst.
    • Ausführungsform 8 ist das Verfahren nach einer der Ausführungsformen 1-7, ferner umfassend: Empfangen eines zweiten Datenverarbeitungsauftrags, der einem zweiten Benutzerkonto eines zweiten Benutzers zugeordnet ist; Bestimmen, den Datenverarbeitungsauftrag auf einem oder mehreren lokalen Clustern eines Unternehmens des Benutzers zu starten; und Ausführen des Datenverarbeitungsauftrags auf dem einen oder den mehreren lokalen Clustern unter Verwendung von Anmeldeinformationen, die dem zweiten Konto zugeordnet sind.
    • Ausführungsform 9 ist ein Verfahren, umfassend: Generieren einer Kontokennung für einen Benutzer; Zuordnen der Kontokennung zu einer oder mehreren Gruppen von Benutzern, die berechtigt sind, eine Datenverarbeitung in einem oder mehreren Cloud-Clustern durchzuführen; Generieren eines entsprechenden Spiegelkontos für die Kontokennung, wobei das Spiegelkonto verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf dem einen oder den mehreren Cloud-Clustern auszuführen; und Erstellen von Anmeldeinformationen für das Spiegelkonto, umfassend: Definieren von Zugriffsberechtigungen für Daten, die in dem einen oder den mehreren Cloud-Clustern gespeichert sind, gemäß der einen oder mehreren Benutzergruppen, und Generieren eines oder mehrerer Passwörter für das Spiegelkonto.
    • Ausführungsform 10 ist das Verfahren von Ausführungsform 9, wobei das Spiegelkonto und das eine oder die mehreren Passwörter für das Spiegelkonto für den Benutzer transparent sind.
    • Ausführungsform 11 ist das Verfahren nach einer der Ausführungsformen 9 oder 10, wobei die Kontokennung einem Unternehmenskonto des Benutzers für ein Unternehmen entspricht und wobei das Unternehmenskonto des Benutzers verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf einem oder mehreren lokalen Clustern des Unternehmens auszuführen.
    • Ausführungsform 12 ist das Verfahren nach einer der Ausführungsformen 9-11, ferner umfassend: Generieren eines Cloud-Dienste-Kontos für den Benutzer, wobei das Cloud-Dienste-Konto einem oder mehreren Cloud-Diensten entspricht, die von einem Cloud-Diensteanbieter der einen oder mehreren Clouds bereitgestellt werden Cluster; und Einrichten von Anmeldeinformationen für das Cloud-Dienste-Konto, wobei die Berechtigungsnachweise für das Spiegelkonto und die Berechtigungsnachweise für das Cloud-Dienste-Konto unterschiedlich sind.
    • Ausführungsform 13 ist das Verfahren von Ausführungsform 12, wobei die dem Spiegelkonto entsprechenden Zugriffsberechtigungen keinen Zugriff auf den einen oder die mehreren Cloud-Dienste bereitstellen, die von dem Cloud-Dienstanbieter bereitgestellt werden.
    • Ausführungsform 14 ist das Verfahren nach einer der Ausführungsformen 9-13, ferner umfassend: Speichern des einen oder der mehreren Passwörter für das Spiegelkonto in einem sicheren Datenspeicher; und periodisches Aktualisieren des einen oder der mehreren Passwörter für das Spiegelkonto.
    • Ausführungsform 15 ist ein System, das Folgendes umfasst: einen oder mehrere Computer und eine oder mehrere Speichervorrichtungen, die Anweisungen speichern, die betreibbar sind, wenn sie von dem einen oder den mehreren Computern ausgeführt werden, um den einen oder die mehreren Computer zu veranlassen, das Verfahren nach einer der Ausführungsformen 1 bis 14 auszuführen.
    • Ausführungsform 16 ist ein Computerspeichermedium, das mit einem Computerprogramm codiert ist, wobei das Programm Anweisungen umfasst, die betreibbar sind, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, um die Datenverarbeitungsvorrichtung zu veranlassen, das Verfahren nach einer der Ausführungsformen 1 bis 14 auszuführen.
  • Obwohl diese Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen des Umfangs einer Erfindung oder des Umfangs dessen, was beansprucht werden kann, ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen bestimmter Erfindungen spezifisch sein können. Bestimmte Merkmale, die in dieser Beschreibung im Kontext separater Ausführungsformen beschrieben sind, können auch in Kombination in einer einzigen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzelnen Ausführungsform beschrieben wurden, auch in mehreren Ausführungsformen separat oder in jeder geeigneten Unterkombination implementiert werden. Darüber hinaus können, obwohl Merkmale oben als in bestimmten Kombinationen wirkend beschrieben und sogar anfänglich als solche beansprucht werden können, in einigen Fällen ein oder mehrere Merkmale aus einer beanspruchten Kombination aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine gerichtet sein oder eine Variation einer Unterkombination gerichtet sein.
  • Obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, sollte dies in ähnlicher Weise nicht so verstanden werden, dass es erforderlich ist, dass solche Operationen in der bestimmten gezeigten Reihenfolge oder in sequentieller Reihenfolge durchgeführt werden oder dass alle dargestellten Operationen durchgeführt werden, um gewünschte Ergebnisse zu erzielen. Unter Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung verschiedener Systemmodule und -komponenten in den oben beschriebenen Ausführungsformen nicht so verstanden werden, dass sie eine solche Trennung in allen Ausführungsformen erfordert, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und -systeme im Allgemeinen zusammen in einem einzigen Softwareprodukt integriert werden oder in mehrere Softwareprodukte verpackt werden können.
  • Bestimmte Ausführungsformen des Gegenstands wurden beschrieben. Andere Ausführungsformen liegen im Umfang der folgenden Ansprüche. Beispielsweise können die in den Ansprüchen angeführten Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Als ein Beispiel erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die gezeigte bestimmte Reihenfolge oder sequentielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. In manchen Fällen können Multitasking und Parallelverarbeitung vorteilhaft sein.

Claims (12)

  1. System, umfassend: einen oder mehrere Computer und eine oder mehrere Speichervorrichtungen, die Anweisungen speichern, die betreibbar sind, wenn sie von dem einen oder den mehreren Computern ausgeführt werden, um den einen oder die mehreren Computer zu veranlassen, folgende Operationen auszuführen Generieren (302) eines Unternehmenskontos für einen Benutzer (201), Zuordnen (304) des Unternehmenskontos zu einer oder mehreren Gruppen von Benutzern, die berechtigt sind, eine Datenverarbeitung in einem oder mehreren Cloud-Clustern (206) durchzuführen, Generieren (306) eines entsprechenden Spiegelkontos für das Unternehmenskonto, wobei das Spiegelkonto verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf dem einen oder den mehreren Cloud-Clustern auszuführen, und Erstellen (308) von Anmeldeinformationen für das Spiegelkonto, umfassend Definieren, gemäß der einen oder mehreren Benutzergruppen, von Zugriffsberechtigungen für Daten, die in dem einen oder den mehreren Cloud-Clustern gespeichert sind und auf die das Spiegelkonto Zugriff hat, und Generieren eines oder mehrerer Passwörter für das Spiegelkonto.
  2. System nach Anspruch 1, wobei das Spiegelkonto (210) und das eine oder die mehreren Passwörter für das Spiegelkonto für den Benutzer (201) transparent sind, sodass der Benutzer nichts über Details des Spiegelkontos oder das eine oder die mehreren Passwörter für das Spiegelkonto wissen muss.
  3. System nach einem der Ansprüche 1 oder 2, wobei das Unternehmenskonto (205) des Benutzers (201) verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf einem oder mehreren lokalen Clustern (102, 104) des Unternehmens auszuführen.
  4. System nach einem der Ansprüche 1 bis 3, wobei die Operationen weiter umfassen: Generieren eines Cloud-Dienste-Kontos für den Benutzer (201), wobei das Cloud-Dienste-Konto einem oder mehreren Cloud-Diensten entspricht, die von einem Cloud-Diensteanbieter der einen oder mehreren Cloud-Cluster (206) bereitgestellt werden; und Einrichten von Anmeldeinformationen für das Cloud-Dienste-Konto, wobei die Berechtigungsnachweise für das Spiegelkonto und die Berechtigungsnachweise für das Cloud-Dienste-Konto unterschiedlich sind.
  5. System nach Anspruch 4, wobei die dem Spiegelkonto (210) entsprechenden Zugriffsberechtigungen keinen Zugriff auf den einen oder die mehreren Cloud-Dienste bereitstellen, die von dem Cloud-Dienstanbieter bereitgestellt werden.
  6. System nach einem der Ansprüche 1 bis 5, wobei die Operationen weiter umfassen: Speichern des einen oder der mehreren Passwörter für das Spiegelkonto (210) in einem sicheren Datenspeicher; und periodisches Aktualisieren des einen oder der mehreren Passwörter für das Spiegelkonto.
  7. Computerspeichermedium, das mit einem Computerprogramm codiert ist, wobei das Programm Anweisungen umfasst, die betreibbar sind, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, um die Datenverarbeitungsvorrichtung zu veranlassen, folgende Operationen auszuführen: Generieren (302) eines Unternehmens kontos für einen Benutzer (201), Zuordnen (304) des Unternehmenskontos zu einer oder mehreren Gruppen von Benutzern, die berechtigt sind, eine Datenverarbeitung in einem oder mehreren Cloud-Clustern (206) durchzuführen, Generieren (306) eines entsprechenden Spiegelkontos für das Unternehmenskonto, wobei das Spiegelkonto verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf dem einen oder den mehreren Cloud-Clustern auszuführen, und Erstellen (308) von Anmeldeinformationen für das Spiegelkonto, umfassend Definieren, gemäß der einen oder mehreren Benutzergruppen, von Zugriffsberechtigungen für Daten, die in dem einen oder den mehreren Cloud-Clustern gespeichert sind und auf die das Spiegelkonto Zugriff hat, und Generieren eines oder mehrerer Passwörter für das Spiegelkonto.
  8. Computerspeichermedium nach Anspruch 7, wobei das Spiegelkonto (210) und das eine oder die mehreren Passwörter für das Spiegelkonto für den Benutzer (201) transparent sind, sodass der Benutzer nichts über Details des Spiegelkontos oder das eine oder die mehreren Passwörter für das Spiegelkonto wissen muss.
  9. Computerspeichermedium nach einem der Ansprüche 7 oder 8, wobei das Unternehmenskonto (205) des Benutzers (201) verwendet werden kann, um Datenverarbeitungsaufträge für den Benutzer auf einem oder mehreren lokalen Clustern (102, 104) des Unternehmens auszuführen.
  10. Computerspeichermedium nach einem der Ansprüche 7 bis 9, wobei die Operationen weiter umfassen: Generieren eines Cloud-Dienste-Kontos für den Benutzer (201), wobei das Cloud-Dienste-Konto einem oder mehreren Cloud-Diensten entspricht, die von einem Cloud-Diensteanbieter der einen oder mehreren Cloud-Cluster (206) bereitgestellt werden; und Einrichten von Anmeldeinformationen für das Cloud-Dienste-Konto, wobei die Berechtigungsnachweise für das Spiegelkonto und die Berechtigungsnachweise für das Cloud-Dienste-Konto unterschiedlich sind.
  11. Computerspeichermedium nach Anspruch 10, wobei die dem Spiegelkonto (210) entsprechenden Zugriffsberechtigungen keinen Zugriff auf den einen oder die mehreren Cloud-Dienste bereitstellen, die von dem Cloud-Dienstanbieter bereitgestellt werden.
  12. Computerspeichermedium nach einem der Ansprüche 7 bis 11, wobei die Operationen weiter umfassen: Speichern des einen oder der mehreren Passwörter für das Spiegelkonto (210) in einem sicheren Datenspeicher; und periodisches Aktualisieren des einen oder der mehreren Passwörter für das Spiegelkonto.
DE202020005751.7U 2019-04-09 2020-04-09 Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst Expired - Lifetime DE202020005751U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962831659P 2019-04-09 2019-04-09
US62/831,659 2019-04-09

Publications (1)

Publication Number Publication Date
DE202020005751U1 true DE202020005751U1 (de) 2022-04-22

Family

ID=70482841

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202020005751.7U Expired - Lifetime DE202020005751U1 (de) 2019-04-09 2020-04-09 Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst
DE202020005753.3U Expired - Lifetime DE202020005753U1 (de) 2019-04-09 2020-04-09 Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202020005753.3U Expired - Lifetime DE202020005753U1 (de) 2019-04-09 2020-04-09 Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst

Country Status (8)

Country Link
US (2) US11349846B2 (de)
EP (1) EP3953841A1 (de)
JP (1) JP2022526019A (de)
KR (1) KR20220047211A (de)
CN (1) CN114641767A (de)
BR (1) BR112021019899A2 (de)
DE (2) DE202020005751U1 (de)
WO (1) WO2020210554A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220047211A (ko) * 2019-04-09 2022-04-15 트위터, 인크. 관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리
CN113553492A (zh) * 2021-07-30 2021-10-26 平安普惠企业管理有限公司 账号的处理方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010810B1 (en) * 2007-12-27 2011-08-30 Emc Corporation Techniques for protecting data using an electronic encryption endpoint device
US8984589B2 (en) * 2010-04-27 2015-03-17 Accenture Global Services Limited Cloud-based billing, credential, and data sharing management system
US9467395B2 (en) * 2013-03-13 2016-10-11 Vmware, Inc. Cloud computing nodes for aggregating cloud computing resources from multiple sources
US9736159B2 (en) * 2013-11-11 2017-08-15 Amazon Technologies, Inc. Identity pool bridging for managed directory services
US10594684B2 (en) * 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
JP7025684B2 (ja) * 2017-08-23 2022-02-25 コニカミノルタ株式会社 代理認証システム、代理認証方法、プログラム
US10762234B2 (en) * 2018-03-08 2020-09-01 International Business Machines Corporation Data processing in a hybrid cluster environment
KR20220047211A (ko) * 2019-04-09 2022-04-15 트위터, 인크. 관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리

Also Published As

Publication number Publication date
KR20220047211A (ko) 2022-04-15
DE202020005753U1 (de) 2022-05-03
US20220394040A1 (en) 2022-12-08
EP3953841A1 (de) 2022-02-16
BR112021019899A2 (pt) 2022-01-18
JP2022526019A (ja) 2022-05-20
CN114641767A (zh) 2022-06-17
WO2020210554A1 (en) 2020-10-15
US11349846B2 (en) 2022-05-31
US20200329049A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
DE102016123651B4 (de) Authentisierungskooperationssystem
DE112010004930B4 (de) Sicherer kerberisierter Zugriff auf ein verschlüsseltes Dateisystem
DE112011101729B4 (de) Verwaltung von Ressourcenzugriff
DE202016107487U1 (de) Authentifizierung eines lokalen Gerätes
DE112012002741T5 (de) Identitäts- und Berechtigungsprüfungsverfahren für die Sicherheit einer Cloud-Datenverarbeitungsplattform
DE112011105696T5 (de) Bios-Zugangsverwaltung
DE112017004033T5 (de) Verfahren zum Erhalten von geprüften Zertifikaten durch Mikrodienste in elastischen Cloud-Umgebungen
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE102012213807A1 (de) Steuerung des Lightweight-Dokumentenzugriffs mithilfe von Zugriffskontrolllisten im Cloud-Speicher oder auf dem lokalen Dateisystem
DE112018005203T5 (de) Authentifizierung unter Verwendung von delegierten Identitäten
DE112011101357T5 (de) Dynamisches Token für den vorübergehenden Datenzugriff
DE102014206325A1 (de) Verteiltes Authentifizierungssystem
DE112011102224B4 (de) Identitätsvermittlung zwischen Client- und Server-Anwendungen
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112021001413T5 (de) Verwaltung eines privilegierten zugriffs mit geringer vertrauenswürdigkeit
DE102011077218A1 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112016002392T5 (de) Autorisierung in einem verteilten System unter Verwendung von Zugriffssteuerungslisten und Gruppen
DE112020002343T5 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112018002502T5 (de) Cloud-Basiertes Management von Zugriff auf ein Datenspeichersystem auf einem lokalen Netzwerk
DE202020005751U1 (de) Verwalten von Benutzeridentitäten in einem verwalteten Multi-Tenant-Dienst
DE112021005026T5 (de) Persistente quellwerte für angenommene alternative identitäten
DE112021004945T5 (de) Techniken der kompositionellen verifikation für rollenerreichbarkeitsanalysen in identitätssystemen
DE202021004328U1 (de) Mit Daten-Cloud verbundene Anwendungen
DE112022000340T5 (de) Attributgestützte verschlüsselungsschlüssel als schlüsselmaterial zum authentifizieren und berechtigen von benutzern mit schlüssel-hash-nachrichtenauthentifizierungscode
DE112020003555B4 (de) Verwaltung von sicherheits-berechtigungsnachweisen für client-anwendungen

Legal Events

Date Code Title Description
R207 Utility model specification
R156 Lapse of ip right after 3 years