KR20220047211A - 관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리 - Google Patents

관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리 Download PDF

Info

Publication number
KR20220047211A
KR20220047211A KR1020217036611A KR20217036611A KR20220047211A KR 20220047211 A KR20220047211 A KR 20220047211A KR 1020217036611 A KR1020217036611 A KR 1020217036611A KR 20217036611 A KR20217036611 A KR 20217036611A KR 20220047211 A KR20220047211 A KR 20220047211A
Authority
KR
South Korea
Prior art keywords
data processing
cloud
user
clusters
account
Prior art date
Application number
KR1020217036611A
Other languages
English (en)
Inventor
윱 로팅후이스
브루샬리 차나파탄
Original Assignee
트위터, 인크.
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 트위터, 인크. filed Critical 트위터, 인크.
Publication of KR20220047211A publication Critical patent/KR20220047211A/ko

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (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)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

멀티-테넌트 시스템에서 데이터를 프로세싱하기 위한, 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램들을 포함하는, 장치, 시스템들, 및 방법들. 방법들 중 하나는, 사용자의 사용자 계정과 연관된 데이터 프로세싱 작업을 수신하는 단계; 클라우드 서비스 제공자의 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계; 사용자에 대응하는 미러 계정을 식별하는 단계 - 여기서 미러 계정은, 사용자가 액세스하도록 허용되는 클라우드 서비스 제공자의 클라우드 리소스들을 규정함 -; 미러 계정에 대한 키를 획득하는 단계; 데이터 프로세싱 작업, 사용자의 미러 계정, 및 획득된 키를 특성화하는 데이터를 하나 이상의 클라우드 클러스터에 전송하는 단계를 포함하는, 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하라는 요청을 전송하는 단계; 및 하나 이상의 클라우드 클러스터로부터 데이터 프로세싱 작업과 연관된 출력 데이터를 수신하는 단계를 포함한다.

Description

관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리
관련 출원에 대한 상호 참조
본 출원은 2019년 4월 9일자로 제출된 미국 특허 출원 제62/831,659호의 출원 일자의 35 U.S.C. § 119(e) 하의 이익을 주장하고, 이 미국 특허 출원은 여기에 참조로 포함된다.
본 명세서는 멀티-테넌트 환경(multi-tenant environment)에서 데이터 프로세싱에 있어서의 사용자 아이덴티티들(identities)과 관련된다.
종래의 멀티-테넌트 온-프레미스 전용 모델(multi-tenant on-premises only model)에서, 예를 들어, 엔터프라이즈(enterprise)의 다수의 사용자들이 엔터프라이즈 네트워크 내의 클러스터들 상에서, 예를 들어, 엔터프라이즈의 하나 이상의 데이터 센터에서 애드-혹 프로세싱(ad-hoc processing)을 수행한다. 전형적으로, 엔터프라이즈 서비스들에의 사용자 액세스와 클러스터들에의 액세스 양측 모두에 대해 동일한 사용자 크리덴셜(credential)들이 사용된다.
종래의 멀티-테넌트 클라우드 전용 모델에서, 제3자 클라우드 제공자가, 프로세싱을 수행하는 데 사용될 수 있는 클러스터들을 호스팅한다. 데이터 프로세싱을 위해 클라우드를 사용하는 일부 엔터프라이즈들은 단일 서비스 계정에 의존하여 모든 데이터 프로세싱 작업(data processing job)들을 실행한다. 따라서, 개별 사용자 계정이 엔터프라이즈에서 작업을 개시하는 것과 상관없이, 클라우드 데이터 액세스들 모두는 동일한 서비스 계정과 연관된다.
이들 제3자 클라우드 제공자들은 다른 서비스들, 예를 들어, 이메일, 일정 관리(calendaring), 및 다양한 서비스로서의 소프트웨어(software-as-a-service) 애플리케이션들을 또는 제공할 수도 있다.
본 명세서는 비대화형 환경에서 사용자를 대신하여 태스크들이 실행되는 멀티-테넌트 환경에서, 예를 들어, 하이브리드 온-프레미스 및 클라우드 아키텍처에서 아이덴티티들을 관리하기 위한 기술들을 설명한다. 하이브리드 아키텍처는, 데이터 프로세싱을 위해 온-프레미스 클러스터들 및 클라우드 클러스터들을 포함한다. 부가적으로, 클라우드는 다른 서비스들, 예를 들어, 이메일 및 다른 클라우드 기반 애플리케이션들을 제공할 수 있다. 사용자가 존재할 때, 인증 토큰, 예를 들어, 커버로스(kerberos) "위임 토큰(delegation token)"이 통상적으로 사용된다. 그러나, 무인 태스크(un-attended task)들이 사용자를 대신하여 클라우드 클러스터 상에서 론칭(launch)되고, 이들 태스크들이 제2 시스템에의 액세스를 요구할 때, 다른 클라우드 서비스들과 같은 다른 시스템들에의 액세스를 또한 제공하는 것을 회피하는 것이 중요하다. 본 명세서에서 설명되는 기법들을 사용하여, 클라우드 클러스터들 상의 사용자 데이터 프로세싱 작업들은 각각의 사용자에 대해 생성된 미러 계정(mirror account)을 사용하여 수행될 수 있고, 여기서 미러 계정은 사용자의 엔터프라이즈 계정을 미러링한다. 미러 계정은 클라우드 데이터 프로세싱 작업들에 대한 인가, 인증, 및 감사(auditing)를 제공하는 동안 사용자에게 투명할 수 있다.
본 명세서에서 설명되는 청구 대상은 다음의 이점들 중 하나 이상을 실현하도록 특정 실시예들에서 구현될 수 있다. 멀티-서비스 클라우드 환경의 클라우드 클러스터들 상에서 수행되는 데이터 프로세싱 작업들에서의 사용을 위해 미러 계정이 개개의 사용자 엔터프라이즈 계정들과 연관될 수 있다. 이것은, 클라우드에 의해 제공하는 다른 서비스들에 대한 사용자 데이터를 드러낼 위험 없이 클라우드 클러스터들 상의 데이터 액세스들의 인가, 인증, 및 감사를 제공할 수 있다. 미러 계정들은, 모든 사용자들에 대한 단일 서비스 계정과는 대조적으로, 데이터 액세스를 위한 특정 크리덴셜들로 각각 맞추어질 수 있다. 게다가, 각각의 사용자에 대한 고유 미러 계정들은, 사용자를 대신하여 작동하는 단일 수퍼-사용자 서비스 계정으로 더 어려운 데이터 액세스들의 단순한 감사를 가능하게 한다. 미러 계정 생성 및 사용이 사용자들에게 투명할 수 있어서, 사용자들은 클라우드 기반 데이터 프로세싱 태스크들을 수행하기 위해 다른 사용자명 및 패스워드를 학습할 필요가 없다. 미러 계정의 사용에 의하면, 사용자 크리덴셜들의 잠재적인 손상이, 짧은 기간 동안 단지 하나의 서비스의 액세스로 제한되고, 다른 서비스들에의 액세스를 노출시키지 않는다.
본 명세서의 청구 대상의 하나 이상의 실시예의 세부사항들이 아래의 설명 및 첨부 도면들에 제시된다. 청구 대상의 다른 피처(feature)들, 양태들, 및 이점들은 이 설명, 도면들, 및 청구범위로부터 명백해질 것이다.
도 1은 예시적인 하이브리드 온-프레미스 및 클라우드 아키텍처의 블록 다이어그램이다.
도 2는 상이한 서비스들에 액세스하기 위한 다양한 사용자 계정들을 예시하는 다이어그램이다.
도 3은 새로운 사용자를 자격 증명하기 위한 예시적인 프로세스의 플로 다이어그램(flow diagram)이다.
도 4는 미러 계정을 사용하여 데이터 프로세스 작업을 개시하기 위한 예시적인 프로세스의 플로 다이어그램이다.
다양한 도면들에서의 동일한 참조 번호들 및 명칭들은 동일한 요소들을 표시한다.
도 1은 예시적인 하이브리드 온-프레미스 및 클라우드 아키텍처(100)의 블록 다이어그램이다. 하이브리드 온-프레미스 및 클라우드 아키텍처(100)에서, 엔터프라이즈의 데이터 프로세싱의 일부 부분은, 엔터프라이즈 환경(101)의 데이터 센터들(106 및 108)에 각각 위치된 온-프레미스 클러스터들(102 및 104) 상에서 일어난다. 부가적으로, 엔터프라이즈의 데이터 프로세싱의 일부 다른 부분은, 클라우드 환경(110) 상에 위치된 클라우드 클러스터들(112) 상에서 발생한다.
클러스터들(102, 104, 및 112)은, 분산 환경에서 대규모 데이터 세트들을 프로세싱하는 데 사용되는 많은 컴퓨팅 디바이스들의 컴퓨테이션 클러스터들일 수 있다. 일부 구현들에서, 클러스터들 중 하나 이상은 하둡 클러스터(Hadoop cluster)들이다.
부가적으로, 엔터프라이즈 환경(101)은, 사용자들이 데이터 센터들 또는 클라우드의 클러스터들에 액세스할 수 있게 하는 엔터프라이즈 서버들(103)을 포함한다. 따라서, 아키텍처(100)는 또한, 공존하고 클러스터들 내의 동일한 리소스들에 동시에 액세스할 수 있는 다수의 사용자들을 갖는 멀티-테넌트 아키텍처이다.
클라우드 환경(110)은 엔터프라이즈 환경(101)과는 별개인 제3자에 의해 제공되고, 클러스터들(112) 및 다른 서비스들(116)을 통해 많은 상이한 엔터프라이즈들에 데이터 프로세싱을 제공할 수도 있다. 서비스들(116)은 클라우드 기반 엔터프라이즈 서비스들, 예를 들어, 이메일, 일정 관리, 및 컨퍼런싱(conferencing)을 포함할 수 있다. 엔터프라이즈 서비스들은, 서비스로서의 소프트웨어 애플리케이션들, 예를 들어, 워드 프로세싱, 슬라이드 프레젠테이션들, 및 스프레드시트들뿐만 아니라, 각각의 서비스에 대해 생성된 문서들에 대한 스토리지를 또한 포함할 수 있다. 사용자들은, 온-프레미스 클러스터들(102 또는 104) 중 하나 상에서 또는 클라우드 클러스터들(112)에 대해 실행되도록 지시된 프로세싱 작업들을 할당할 수 있다.
데이터 프로세싱 작업들을 관리함에 있어서, 온-프레미스 클러스터들과 클라우드 클러스터들 양측 모두 상에서 실행되는 프로세싱 작업들에 대해 인증, 인가, 및 감사를 유지하는 것이 가치있을 수 있다. 인증은, 프로세스 또는 사용자의 아이덴티티를 검증하는 프로세스를 지칭한다. 온-프레미스 클러스터들과 클라우드 클러스터들 양측 모두 상에서 프로세싱 작업들을 수행하는 각각의 사용자의 아이덴티티를 검증하는 것이 중요할 수 있다. 인가는, 사용자가 액션을 수행할 권한을 갖는지 여부를 결정하는 것, 예를 들어, 사용자가 클러스터 상의 프로세싱 작업을 위해 데이터에 액세스할 권한을 갖는지 여부를 결정하는 것을 지칭한다. 감사는, 예를 들어, 클러스터 상에서 어떤 사용자들이 어떤 프로세싱 작업들을 수행했는지를 결정하기 위해, 또는 어떤 사용자가 데이터의 어떤 특정 피스(piece)들에 그리고 언제 액세스했는지를 결정하기 위해, 수행된 액션들의 트레일(trail) 또는 로그를 갖는 것을 지칭한다.
온-프레미스 사용자 아이덴티티들
엔터프라이즈 환경, 예를 들어, 엔터프라이즈 환경(101) 내에서, 사용자를 식별하고 특정 네트워크 리소스들에 액세스하는 데 사용되는 고유 계정이 사용자들에게 전형적으로 할당된다. 예를 들어, 네트워크, 예를 들어, 엔터프라이즈 인트라넷을 통해 다양한 정보를 공유하는 것을 가능하게 하는 디렉토리 서비스들을 제공하는 경량 디렉토리 액세스 프로토콜(Lightweight Directory Access Protocol)(LDAP)에 대한 계정이 사용자에게 할당될 수 있다.
일부 경우들에서, 특정 태스크들에 대해 다른 사용자 아이덴티티들이 할당될 수 있다. 예를 들어, 온-프레미스 클러스터들, 예를 들어, 클러스터들(102 및 104)을 사용하여 데이터 프로세싱 태스크들을 수행하는 사용자들에게 유닉스 계정(Unix account)이 할당될 수 있다. LDAP 계정들과 유닉스 계정들 사이에 일대일 매핑이 종종 있어서, 사용자가 개개의 기능들에 액세스하기 위해 별개의 계정들에 로그인할 필요가 없다. 일부 구현들에서, 특정 프로그래밍 코드를 완성한 사용자들은 프로덕션 환경(production environment)에서 실행되도록 작업을 이동시킬 수 있다. 최종 프로덕션 작업들에 대한 프로세스들은, 어떠한 특정 개별 사용자 아이덴티티와도 연관되지 않은 유닉스 서비스 계정으로서 실행되도록 스케줄링될 수 있다.
클라우드 아이덴티티들
엔터프라이즈가 클라우드 기반 서비스들, 예를 들어, 서비스들(116)을 또한 사용할 수 있는데, 이 서비스들은, 예를 들어, 클라우드 기반 이메일, 일정 관리, 및 애플리케이션들을 제공한다. 클라우드 서비스들에 액세스하기 위해 각각의 사용자에게 별개의 클라우드 서비스 계정이 할당될 수 있다. 예를 들어, 엔터프라이즈는 클라우드 기반 이메일을 사용할 수 있고, 여기서 엔터프라이즈의 각각의 사용자에게 클라우드 서비스 계정이 할당된다. 이 클라우드 서비스 계정에는 사용자의 LDAP 계정과 동일한 계정 이름이 또한 주어질 수 있다. 그러나, 패스워드들은 전형적으로 상이하다. 클라우드 서비스들에 대한 계정 인증은 클라우드 서비스 제공자, 예를 들어, 제3자 엔티티(third-party entity)에 의해 관리될 수 있다. 클라우드 서비스 계정은, 클라우드 서비스들의 일부로서 저장되는 모든 사용자 데이터에의 액세스를 제공할 수 있다.
클라우드 기반 서비스들을 제공하는 엔티티가, 데이터 프로세싱을 위한 컴퓨팅 클러스터들, 예를 들어, 클라우드 클러스터들(112)을 또한 제공할 수 있다.
클라우드 클러스터들(112) 상에서 엔터프라이즈에 대해 실행되는 데이터 프로세싱 작업들에 액세스하기 위한 하나의 옵션은 전체 엔터프라이즈에 대해 단일 서비스 계정을 사용하는 것이다. 즉, 클라우드 클러스터들(112) 상에서 엔터프라이즈의 모든 데이터 프로세싱 작업들을 실행하기 위해 단일 서비스 계정이 프로비저닝될 수 있다. 그러나, 그러한 경우에, 어떤 사용자들이 데이터 프로세싱 작업들을 실행하고 있는지의 직접적인 감사 트레일이 없기 때문에 감사가 어려울 수 있다; 오히려, 모든 작업 요청들 및 데이터 액세스 요청들이 하나의 서비스 계정에 의해 수행되는 것처럼 보이다. 부가적으로, 모든 데이터가 단일 서비스 계정에 의해 액세스가능해야 하므로, 인가가 어려울 수 있다; 즉, 클라우드 데이터에 액세스하기 위한 상이한 권한들을 개개의 상이한 사용자들에게 제공하는 것이 어려울 수 있다.
단일 서비스 계정을 사용하는 것에 대한 대안은, 사용자들에게 이미 할당된 개별 클라우드 서비스 계정들을 사용하는 것이다. 이것은 클라우드에서의 데이터 액세스의 인증 및 감사를 제공할 수 있다.
그러나, 데이터 프로세싱 작업이 클라우드 클러스터 상에서 실행될 때, 그 작업은 클라우드에 저장된 데이터에 액세스하도록 클라우드 클러스터에게 종종 요구한다. 데이터에 액세스하기 위해 인증이 요구되는 경우, 그러면 액세스를 위한 크리덴셜들, 예를 들어, 데이터 프로세싱 작업을 론칭한 사용자의 클라우드 서비스 계정의 크리덴셜들은, 데이터 프로세싱 작업을 수행하는 클러스터의 하나 이상의 가상 머신에 이용가능해질 필요가 있다. 데이터 프로세싱 작업을 론칭한 사용자의 클라우드 서비스 계정에 대한 크리덴셜들이 인증을 위해 사용되고 가상 머신들에 이용가능해지는 경우, 그러면 클라우드 서비스 계정에 대한 크리덴셜들은, 예를 들어, 가상 머신들에의 액세스를 얻은 상대편에 의해 또는 가상 머신들의 다른 사용자에 의해, 도난당하는 것에 취약할 수도 있다. 예를 들어, 가상 머신에의 관리자용 액세스(administrative access)를 갖는 임의의 사용자는, 가상 머신 상에서 작업을 실행하는 사용자의 클라우드 서비스 계정에 대한 크리덴셜들을 획득하고, 클라우드 서비스 계정의 아이덴티티를 가장하여 그 사용자의 모든 클라우드 서비스들, 예를 들어, 서비스들(116)에의 액세스를 가질 수 있다. 예를 들어, 이것은 관리자용 사용자가 클라우드 서비스 계정의 이메일들 또는 문서들을 보게 할 수 있다.
하이브리드 온-프레미스 및 클라우드 모델에서의 아이덴티티들
사용자의 엔터프라이즈 계정, 예를 들어, 엔터프라이즈에 대한 사용자의 LDAP 계정과의 일대일 매핑을 갖는 각각의 사용자에 대해 미러 계정이 생성될 수 있다. 미러 계정은 대응하는 엔터프라이즈 계정과 연관된 사용자를 식별할 수 있고, 클라우드 클러스터들 상에서 사용자에 의해 론칭된 작업들을 실행하는 데 사용될 수 있어서, 온-프레미스 및 클라우드 아키텍처의 멀티-테넌트 하이브리드 환경에서 인증, 인가, 및 감사를 제공한다. 부가적으로, 클라우드 서비스 계정들과는 별개인 미러 계정들을 사용함으로써, 사용자의 클라우드 서비스 데이터에의 관리자용 액세스의 보안 위험이 감소된다.
도 2는 사용자의 엔터프라이즈의 컴퓨팅 리소스들에 액세스하기 위한 그리고 엔터프라이즈의 클라우드 서비스 제공자의 상이한 서비스들에 액세스하기 위한 사용자(201)의 다양한 사용자 계정들을 예시하는 다이어그램(200)이다. 사용자(201)는 클라우드 서비스 계정(203)을 사용하여 클라우드 서비스들(202)에 액세스한다. 사용자(201)는 엔터프라이즈 계정(205), 예를 들어, 유닉스 또는 다른 적합한 계정을 사용하여, 엔터프라이즈의 엔터프라이즈 프로세싱 리소스들(204), 예를 들어, 하나 이상의 온-프레미스 클러스터를 포함하는 프로세싱 리소스들에 또한 액세스한다. 상기에 언급된 바와 같이, 클라우드 서비스 계정(203) 및 엔터프라이즈 계정(205)은 동일한 계정 이름을 가질 수도 있지만; 클라우드 서비스 계정(203)에 대한 계정 인증이 클라우드 서비스 제공자에 의해 관리되는 한편, 엔터프라이즈 계정(205)에 대한 계정 인증은 엔터프라이즈에 의해 관리될 수 있다. 사용자(201)로부터의 그리고 엔터프라이즈 프로세싱 리소스들(204)로 지향되는 데이터 프로세싱 요청은 엔터프라이즈 계정 크리덴셜들(205)을 사용하여 온-프레미스 클러스터 상에서 실행될 수 있거나 또는 클라우드 클러스터들(206) 상에서 실행될 수 있다.
클라우드 서비스 제공자는, 클라우드 클러스터들(206)에 의해 수행되는 데이터 프로세싱 작업들을 위해 특정 클라우드 데이터에의 액세스를 제공하는 사용자(201)에 대한 미러 계정(210)을 생성할 수 있다. 일부 구현들에서, 엔터프라이즈 프로세싱 리소스들(204)은 미러 계정(210)을 생성할 수 있다. 이 미러 계정은 사용자의 대응하는 엔터프라이즈 계정(205)에 매핑될 수 있다.
엔터프라이즈 프로세싱 리소스들(204)이 사용자(201)의 데이터 프로세싱 작업을 론칭하라는 요청을 수신할 때, 엔터프라이즈 프로세싱 리소스들(204)은 데이터 프로세싱 작업이 온-프레미스 클러스터들 상에서 실행되어야 할지, 또는 클라우드 클러스터들(206) 상에서 실행되어야 할지 여부를 결정할 수 있다. 일부 구현들에서, 사용자(201)에 의해 제출된 데이터 프로세싱 작업을 론칭하기 위한 요청은 작업을 실행해야 하는 클러스터의 타입을 식별할 것이고; 일부 다른 구현들에서, 엔터프라이즈 프로세싱 리소스(204)는 사용자 입력 없이, 예를 들어, 온-프레미스 클러스터들의 가용성에 따라 결정을 행할 수 있다. 엔터프라이즈 프로세싱 리소스들(204)이 온-프레미스 클러스터들을 사용하여 데이터 프로세싱 작업을 실행하는 것으로 결정하는 경우, 그러면 엔터프라이즈 프로세싱 리소스들은 엔터프라이즈 계정(205)을 사용하여 작업을 인가 및 감사할 수 있다. 엔터프라이즈 프로세싱 리소스들(204)이 클라우드 클러스터들(206)을 사용하여 데이터 프로세싱 작업을 실행하는 것으로 결정하는 경우, 그러면 엔터프라이즈 프로세싱 리소스들(204)은 미러 계정(210)을 사용하여 작업 요청을 클라우드 클러스터들(206)로 라우팅할 수 있다. 엔터프라이즈 프로세싱 리소스들(204)에 의해 클라우드 클러스터들(206)에게 전송된 요청들은 미러 계정(210)의 키(207), 예를 들어, JSON 키로 도 2에 나타낸 패스워드를 사용하여 인증될 수 있다.
그 후에, 클라우드 클러스터들(205)은 미러 계정(210)을 사용하여 데이터 프로세싱 작업을 인가 및 감사할 수 있다. 예를 들어, 클라우드 클러스터들(206)은 데이터 프로세싱 작업에 의해 제출된 클라우드 데이터에 대한 요청들의 로그들을 생성하고, 로그들을 미러 계정(210)과 연관된 사용자(201)와 연관시킬 수 있다. 클라우드 클러스터들(206)은, 데이터 프로세싱 작업에 의해 제출된 클라우드 데이터에 대한 각각의 요청에 대해, 사용자(201)가 요청 중인 클라우드 데이터에의 액세스를 갖는지 여부를 또한 결정할 수 있다. 특히, 클라우드 클러스터들(206), 및 클라우드 클러스터들(206)의 임의의 다른 사용자들, 예를 들어, 클라우드 클러스터들(206)의 관리자용 사용자는 미러 계정(210)을 사용하여 사용자(201)의 클라우드 서비스들(202)에 액세스할 수 없어서, 클라우드 서비스들(202)의 사용자 데이터가 미러 계정(210)에 대한 크리덴셜들이 클라우드 클러스터들(206)의 다른 사용자에 의해 획득되더라도 안전하다는 것을 보장한다.
클라우드 서비스 제공자는 사용자(201)에게 투명한 방식으로 미러 계정(210)을 생성할 수 있다. 사용자(201)는 미러 계정(210)의 세부사항들 또는 미러 계정(210)의 계정 크리덴셜들에 관해 알 필요가 없다. 부가적으로, 미러 계정(210)에 대한 패스워드들, 예를 들어, 키(201)는 시스템에 의해, 예를 들어, 엔터프라이즈 프로세싱 리소스들(204) 또는 클라우드 클러스터들(206)에 의해 생성되고 주기적으로 순환될 수 있다. 그 결과, 개별 사용자들은 데이터 프로세싱을 수행하기 위해 이들의 개개의 미러 계정의 크리덴셜들을 알거나 또는 크리덴셜들을 입력할 필요가 없다. 사용자들은 이들의 데이터 프로세싱 작업들을 실행할 때 클라우드 상의 데이터에 액세스하는 아이덴티티가 미러 계정이라는 것을 또한 알 필요가 없다. 엔터프라이즈의 미러 계정들을 특성화하는 데이터, 및 미러 계정들에 대한 크리덴셜들은 엔터프라이즈 프로세싱 리소스들(204)에 의해 온-프레미스로 저장될 수 있다.
도 3은 엔터프라이즈의 새로운 사용자에 대한 크리덴셜들을 생성하기 위한 예시적인 프로세스(300)의 플로차트이다. 편의상, 프로세스(300)는, 하나 이상의 위치에 위치되고 본 명세서에 따라 적절하게 프로그래밍되는 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로서 설명될 것이다.
시스템은 사용자에 대한 계정 식별자를 생성한다(302). 예를 들어, 계정 식별자는 사용자의 새로운 엔터프라이즈 계정에 대한 것일 수 있다. 엔터프라이즈 계정은, 사용자가 엔터프라이즈에 조인할 때 생성되는 새로운 계정, 예를 들어, 고유 계정 이름, 예를 들어, newuser1을 갖는 LDAP 계정일 수 있다. 클라우드 서비스 제공자에 의해 제공되는, 엔터프라이즈의 클라우드 호스팅 서비스들, 예를 들어, 이메일에 액세스하기 위해 대응하는 클라우드 서비스 계정이 동시에 생성될 수 있다. 클라우드 서비스 계정은, 편의상, 동일한 계정 이름, 예를 들어, newuser1로 생성될 수 있지만, 일반적으로 엔터프라이즈 계정과는 상이한 패스워드를 가질 것이다.
시스템은, 엔터프라이즈 계정을, 클라우드 데이터 프로세싱에의 액세스를 갖는 엔터프라이즈의 사용자들의 그룹과 연관시킨다(304). 예를 들어, 시스템은 엔터프라이즈에서의 사용자의 역할에 기초하여 사용자의 엔터프라이즈 계정을 엔터프라이즈의 특정 조직 그룹들과 연관시킬 수 있다. 이들 조직 그룹들은 각각, 클라우드 서비스 제공자의 클라우드 클러스터들에 저장되거나 또는 그 클라우드 클러스터들에서 프로세싱되는 엔터프라이즈 데이터의 상이한 부분들로 작업하고 이들에의 액세스를 가질 수 있다.
시스템은 엔터프라이즈 계정이 그것과 연관된 미러 계정을 갖는지 여부를 결정할 수 있다. 엔터프라이즈 계정이 대응하는 미러 계정을 갖고 있지 않다는 결정에 응답하여, 시스템은 사용자에 대한 미러 계정을 생성한다(306). 미러 계정은 사용자의 컴퓨팅 작업들을 클라우드 서비스 제공자의 클라우드 클러스터들 상에 론칭하기 위해 엔터프라이즈의 온-프레미스 컴퓨팅 리소스들에 의해 사용될 수 있다. 미러 계정은 대응하는 엔터프라이즈 계정을 쉽게 식별하는 방식으로 구축될 수 있다. 예를 들어, 엔터프라이즈 계정의 계정 이름이 미러 계정, 예를 들어, newuser1@enterprisegrp.iam.mirroraccount.com 내에 포함될 수 있다. 미러 계정에 엔터프라이즈 계정을 포함시킴으로써, 클라우드 클러스터 데이터에 대한 요청들을 데이터 액세스 요청들과 연관된 엔터프라이즈 계정들에 매핑시키기 위해 감사가 신속하게 수행될 수 있다.
시스템은 사용자의 미러 계정에 대한 크리덴셜들을 확립한다(308). 크리덴셜들은, 사용자 계정에 액세스가 허용되는 클라우드 데이터를 규정하는 특정 세트의 권한들을 포함할 수 있다. 시스템은, 사용자의 엔터프라이즈 계정이 연관된 상이한 엔터프라이즈 그룹들에 따라 사용자의 미러 계정에 대한 크리덴셜들을 확립할 수 있다. 따라서, 각각의 사용자의 미러 계정에는, 특정 그룹들의 멤버들이 수행하도록 허용되는 데이터 프로세싱 작업들의 타입들에 기초하여, 사용자가 멤버인 특정 그룹들에 대해 맞추어진 크리덴셜들이 주어질 수 있다.
시스템은, 다른 사용자들의 데이터와는 별개로 사용자의 클라우드 프로세싱 작업들과 연관된 데이터를 저장하기 위한 사용자 저장 영역을 또한 특정할 수 있다.
시스템은 미러 계정에 대해 하나 이상의 키를 생성한다. 키들은 엔터프라이즈에 의해, 예를 들어, 엔터프라이즈 프로세싱 리소스들의 보안 키 저장소에 저장되고, 사용자 데이터 프로세싱 작업이 클라우드 클러스터들에 전송될 때 검색된다. 키들은 이들이 특정 미러 계정과 연관되어서만 단지 검색될 수 있도록 저장된다.
중요한 것은, 미러 계정은, 론칭된 데이터 프로세싱 작업 및 클라우드 클러스터들과 관련이 없는, 클라우드 서비스 제공자에 의해 제공된 클라우드 서비스들에의 액세스를 갖지 않는다. 즉, 미러 계정은 사용자의 생성된 클라우드 서비스 계정을 사용하여 사용자가 액세스할 수 있는 사용자의 클라우드 서비스들에 액세스할 수 없다. 따라서, 미러 계정이 손상되더라도, 이들 다른 클라우드 서비스들에 의해 유지된 사용자 데이터가 안전하게 유지된다.
도 4는 미러 계정을 사용하여 데이터 프로세싱 작업을 개시하기 위한 예시적인 프로세스(400)의 플로차트이다. 편의상, 프로세스(400)는, 하나 이상의 위치에 위치되고 본 명세서에 따라 적절하게 프로그래밍되는 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로서 설명될 것이다.
시스템은 엔터프라이즈의 사용자로부터 데이터 프로세싱 작업을 수신한다(402). 예를 들어, 사용자는, 예를 들어, 온-프레미스 클러스터들에 의해 수행될 프로세싱 작업들의 일 부분을 스케줄링함으로써 그리고 프로세싱 작업들의 상이한 부분을 클라우드 서비스 제공자의 클라우드 클러스터들에 제공함으로써, 데이터 프로세싱 작업들을 관리하는 엔터프라이즈의 데이터 프로세싱 관리 시스템에 작업을 제출할 수 있다. 일부 구현들에서, 사용자 요청은, 데이터 프로세싱 작업이 온-프레미스 클러스터 상에서 실행되어야 하는지 또는 클라우드 클러스터 상에서 실행되어야 하는지 여부를 특정한다. 일부 다른 구현들에서, 데이터 프로세싱 관리 시스템은 작업을 수행하는 데 필요한 리소스들에 기초하여 데이터 프로세싱 작업을 전송할 위치를 결정한다.
클라우드 클러스터들에 의해 수행될 작업에 대해, 시스템은 요청하는 사용자의 미러 계정을 식별한다(404). 미러 계정은 사용자의 엔터프라이즈 계정 이름에 기초하여 식별될 수 있다. 특히, 상술된 바와 같이, 미러 계정의 이름에 엔터프라이즈 계정 이름을 포함하는 미러 계정이 사용자에 대해 생성될 수 있다. 일부 다른 구현들에서, 시스템은, 엔터프라이즈 계정 이름들(또는 온-프레미스 데이터 프로세싱을 위한 유닉스 계정 이름들)을 미러 계정들과 연관시킨 디렉토리에서 사용자의 미러 계정을 조회한다.
시스템은 미러 계정에 대한 현재 키를 검색한다(406). 키는, 클라우드 클러스터들에 인증을 제공하기 위한 미러 계정에 대한 패스워드이고, 시스템에 의해 보안 키 저장소에 저장될 수 있다. 따라서, 시스템은 사용자 패스워드 입력을 요청하기보다는 오히려 키를 검색할 수 있다. 미러 계정에 대한 키가 주기적으로 변경되어 미러 계정의 보안을 향상시킬 수 있다. 일부 구현들에서, 키들의 세트는 주기적으로, 예를 들어, 특정 일수로 순환된다. 즉, 새로운 키들이 주기적으로 생성되고 가장 오래된 것이 단계적으로 제거될 수 있다.
시스템은 미러 계정 식별자 및 키를 사용하여 데이터 프로세싱 작업을 클라우드 클러스터들에 전송한다(408). 미러 계정 식별자는, 클라우드 클러스터들이, 작업을 위한 데이터에 액세스하도록 계정이 인가되는지 여부를 결정하게 하는 정보를 제공한다. 키는 미러 계정의 인증을 제공한다.
사용자가 적절히 인가 및 인증되는 경우, 클라우드 클러스터들은 데이터 프로세싱 작업을 수행한다. 시스템은 클라우드 클러스터로부터 출력 데이터를 수신한다(410). 출력 데이터는, 클라우드 클러스터에 의해 수행되는 특정 데이터 프로세싱 작업에 좌우될 수 있다.
청구 대상의 실시예들은 방법들 및 대응하는 컴퓨터 시스템들, 장치, 및 하나 이상의 컴퓨터 저장 디바이스 상에 기록되는 컴퓨터 프로그램들을 포함하는데, 그 각각은 방법들의 액션들을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 시스템이 그것 상에, 동작에 있어서 시스템으로 하여금 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 설치하였다는 것을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 하나 이상의 프로그램이, 데이터 프로세싱 장치에 의해 실행될 때, 그 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함한다는 것을 의미한다.
본 명세서에서 설명되는 기능적 동작들 및 청구 대상의 실시예들은 디지털 전자 회로부로, 유형으로 구체화되는(tangibly-embodied) 컴퓨터 소프트웨어 또는 펌웨어로, 본 명세서에 개시된 구조체들 및 이들의 구조적 등가물들을 포함하는 컴퓨터 하드웨어로, 또는 이들 중 하나 이상의 것의 조합들로 구현될 수 있다. 본 명세서에서 설명되는 청구 대상의 실시예들은 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 유형의 비일시적 저장 매체 상에서 인코딩되는 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 것의 조합일 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령어들은, 인공적으로 생성된 전파 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치에의 송신을 위한 정보를 인코딩하도록 생성되는 머신 생성 전기, 광학, 또는 전자기 신호 상에서 인코딩될 수 있다.
용어 "데이터 프로세싱 장치(data processing apparatus)"는 데이터 프로세싱 하드웨어를 지칭하고, 예로서 프로그래밍가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류들의 장치, 디바이스들, 및 머신들을 포괄한다. 장치는 또한, 특수 목적 로직 회로부, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)일 수 있거나 또는 이들을 더 포함할 수 있다. 장치는 임의로, 하드웨어에 부가적으로, 컴퓨터 프로그램들을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 것의 조합을 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로 또한 지칭 또는 설명될 수도 있는 컴퓨터 프로그램은, 컴파일링된 또는 인터프리팅된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 포함하는 임의의 형태로 배치될 수 있다. 프로그램은 파일 시스템 내의 파일에 대응할 수도 있지만, 그러할 필요가 없을 수도 있다. 프로그램은 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 부분을 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 또는 다수의 사이트들에 걸쳐 분산되고 데이터 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능 컴퓨터에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수 목적 로직 회로부, 예를 들어, FPGA 또는 ASIC에 의해, 또는 특수 목적 로직 회로부와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들 또는 이들 양측 모두, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행 또는 실행하기 위한 중앙 프로세싱 유닛, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 로직 회로부에 의해 보충되거나 또는 그에 포함될 수 있다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크를 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하기 위해 동작적으로 커플링되거나, 또는 이들 양측 모두로 될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 더욱이, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 예로 들자면, 모바일 전화기, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스, 예를 들어, 범용 직렬 버스(universal serial bus)(USB) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체들은, 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 착탈가능 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명되는 청구 대상의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
본 명세서에서 설명되는 청구 대상의 실시예들은 백 엔드 컴포넌트를, 예를 들어, 데이터 서버로서 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프론트 엔드 컴포넌트, 예를 들어, 본 명세서에서 설명되는 청구 대상의 구현으로 사용자가 상호작용할 수 있게 하는 그래픽 사용자 인터페이스, 웹 브라우저, 또는 앱을 갖는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템으로, 또는 하나 이상의 그러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트의 임의의 조합으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크(local area network)(LAN) 및 광역 네트워크(wide area network)(WAN), 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원거리에 있고 전형적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는, 개개의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는, 예를 들어, 클라이언트로서 작용하는 디바이스와 상호작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하는 목적들을 위해, 사용자 디바이스에 데이터, 예를 들어, HTML 페이지를 송신한다. 사용자 디바이스에서 생성된 데이터, 예를 들어, 사용자 상호작용의 결과는 디바이스로부터 서버에서 수신될 수 있다.
상술된 실시예들에 부가적으로, 다음의 실시예들이 또한 혁신적이다:
실시예 1은 방법인데, 이 방법은: 사용자의 사용자 계정과 연관된 데이터 프로세싱 작업을 수신하는 단계; 클라우드 서비스 제공자의 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계; 사용자에 대응하는 미러 계정을 식별하는 단계 - 여기서 미러 계정은, 사용자가 액세스하도록 허용되는 클라우드 서비스 제공자의 클라우드 리소스들을 규정함 -; 미러 계정에 대한 키를 획득하는 단계; 데이터 프로세싱 작업, 사용자의 미러 계정, 및 획득된 키를 특성화하는 데이터를 하나 이상의 클라우드 클러스터에 전송하는 단계를 포함하는, 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하라는 요청을 전송하는 단계 - 여기서 획득된 키는 하나 이상의 클라우드 클러스터를 이용하여 요청을 인증함 -; 및 하나 이상의 클라우드 클러스터로부터 데이터 프로세싱 작업과 연관된 출력 데이터를 수신하는 단계를 포함한다.
실시예 2는 실시예 1의 방법이고, 여기서 하나 이상의 클라우드 클러스터는 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 인가하기 위해 미러 계정을 사용하고, 인가는, 사용자가 요청과 연관된 데이터에 액세스하도록 허용되는지 여부를 결정하는 것을 포함한다.
실시예 3은 실시예 1 또는 실시예 2 중 어느 한 실시예의 방법이고, 여기서 하나 이상의 클라우드 클러스터는 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 감사하기 위해 미러 계정을 사용하고, 감사는, 요청과 그리고 사용자와 연관된 하나 이상의 로그를 생성하는 것을 포함한다.
실시예 4는 실시예 1 내지 실시예 3 중 어느 한 실시예의 방법이고, 여기서 클라우드 서비스 제공자는 사용자에게 하나 이상의 다른 클라우드 서비스를 제공하고, 여기서 미러 계정은, 하나 이상의 다른 클라우드 서비스와 연관된 데이터에의 액세스를 갖지 않는다.
실시예 5는 실시예 1 내지 실시예 4 중 어느 한 실시예의 방법이고, 여기서 미러 계정에 대한 키를 획득하는 단계는, 키를 보안 키 저장소로부터 획득하는 단계를 포함하고, 여기서 키는 주기적으로 업데이트된다.
실시예 6은 실시예 1 내지 실시예 5 중 어느 한 실시예의 방법이고, 여기서 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계는, 데이터 프로세싱 작업과 연관된 사용자 입력을 식별하는 단계를 포함하고, 여기서 사용자 입력은, 데이터 프로세싱 작업이 하나 이상의 클라우드 클러스터 상에서 론칭되어야 함을 특정한다.
실시예 7은 실시예 1 내지 실시예 6 중 어느 한 실시예의 방법이고, 여기서 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계는, 데이터 프로세싱 작업을 실행하기 위한 사용자의 엔터프라이즈의 하나 이상의 온-프레미스 클러스터의 능력을 결정하는 단계를 포함한다.
실시예 8은 실시예 1 내지 실시예 7 중 어느 한 실시예의 방법인데, 이 방법은: 제2 사용자의 제2 사용자 계정과 연관된 제2 데이터 프로세싱 작업을 수신하는 단계; 사용자의 엔터프라이즈의 하나 이상의 온-프레미스 클러스터 상에서 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계; 및 제2 계정과 연관된 크리덴셜들을 사용하여 하나 이상의 온-프레미스 클러스터 상에서 데이터 프로세싱 작업을 실행하는 단계를 더 포함한다.
실시예 9는 방법인데, 이 방법은: 사용자에 대한 계정 식별자를 생성하는 단계; 하나 이상의 클라우드 클러스터 상에서 데이터 프로세싱을 수행하도록 인가되는 사용자들의 하나 이상의 그룹과 계정 식별자를 연관시키는 단계; 계정 식별자에 대한 대응하는 미러 계정을 생성하는 단계 - 여기서 미러 계정은 하나 이상의 클라우드 클러스터 상에서 사용자에 대한 데이터 프로세싱 작업을 수행하는 데 사용될 수 있음 -; 및 사용자들의 하나 이상의 그룹에 따라 하나 이상의 클라우드 클러스터 상에 저장되는 데이터에 대한 액세스 권한들을 규정하는 단계, 및 미러 계정에 대한 하나 이상의 패스워드를 생성하는 단계를 포함하는, 미러 계정에 대한 크리덴셜들을 확립하는 단계를 포함한다.
실시예 10은 실시예 9의 방법이고, 여기서 미러 계정 및 미러 계정에 대한 하나 이상의 패스워드는 사용자에게 투명하다.
실시예 11은 실시예 9 또는 실시예 10 중 어느 한 실시예의 방법이고, 여기서 계정 식별자는 엔터프라이즈에 대한 사용자의 엔터프라이즈 계정에 대응하고, 여기서 사용자의 엔터프라이즈 계정은 엔터프라이즈의 하나 이상의 온-프레미스 클러스터 상에서 사용자에 대한 데이터 프로세싱 작업들을 수행하는 데 사용될 수 있다.
실시예 12는 실시예 9 내지 실시예 11 중 어느 한 실시예의 방법인데, 이 방법은: 사용자에 대한 클라우드 서비스 계정을 생성하는 단계 - 여기서 클라우드 서비스 계정은, 하나 이상의 클라우드 클러스터의 클라우드 서비스 제공자에 의해 제공되는 하나 이상의 클라우드 서비스에 대응함 -; 및 클라우드 서비스 계정에 대한 크리덴셜들을 확립하는 단계를 더 포함하고, 여기서 미러 계정에 대한 크리덴셜들과 클라우드 서비스 계정에 대한 크리덴셜들은 상이하다.
실시예 13은 실시예 12의 방법이고, 여기서 미러 계정에 대응하는 액세스 권한들은, 클라우드 서비스 제공자에 의해 제공되는 하나 이상의 클라우드 서비스에의 액세스를 제공하지 않는다.
실시예 14는 실시예 9 내지 실시예 13 중 어느 한 실시예의 방법인데, 이 방법은: 보안 데이터 저장소에 미러 계정에 대한 하나 이상의 패스워드를 저장하는 단계; 및 미러 계정에 대한 하나 이상의 패스워드를 주기적으로 업데이트하는 단계를 더 포함한다.
실시예 15는 시스템인데, 이 시스템은: 명령어들을 저장하는 하나 이상의 저장 디바이스 및 하나 이상의 컴퓨터를 포함하고, 명령어들은, 하나 이상의 컴퓨터에 의해 실행될 때, 하나 이상의 컴퓨터로 하여금 실시예 1 내지 실시예 14 중 어느 한 실시예의 방법을 수행하게 하도록 동작가능하다.
실시예 16은 컴퓨터 프로그램으로 인코딩되는 컴퓨터 저장 매체인데, 이 프로그램은, 데이터 프로세싱 장치에 의해 실행될 때, 데이터 프로세싱 장치로 하여금 실시예 1 내지 실시예 14 중 어느 한 실시예의 방법을 수행하게 하도록 동작가능한 명령어들을 포함한다.
본 명세서는 많은 특정 구현 세부사항들을 포함하지만, 이들은 임의의 발명의 범주에 대한 또는 청구될 수도 있는 것의 범주에 대한 제한들로서 해석되어서는 안 되고, 오히려 특정 발명들의 특정 실시예들에 특정될 수도 있는 피처들의 설명들로서 해석되어야 한다. 별개의 실시예들의 맥락에서 본 명세서에서 설명되는 특정 피처들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명되는 다양한 피처들은 또한 다수의 실시예들에서 별개로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 피처들은 특정 조합들로 작용하는 것으로서 상술되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 피처는 일부 경우들에서 그 조합으로부터 삭제될 수 있고, 청구된 조합이 하위 조합 또는 하위 조합의 변형으로 유도될 수도 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되는 것, 또는 예시된 모든 동작들이 수행되는 것을 요구하는 것으로서 이해되어서는 안 된다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다. 더욱이, 상술된 실시예들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
청구 대상의 특정 실시예들이 설명되었다. 다른 실시예들이 다음의 청구범위의 범주 내에 있다. 예를 들어, 청구범위에서 열거된 액션들은 상이한 순서로 수행되고 여전히 바람직한 결과들을 달성할 수 있다. 일 예로서, 첨부 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적인 순서를 반드시 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다.

Claims (24)

  1. 방법으로서,
    사용자의 사용자 계정과 연관된 데이터 프로세싱 작업(data processing job)을 수신하는 단계;
    클라우드 서비스 제공자의 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭(launch)하는 것으로 결정하는 단계;
    상기 사용자에 대응하는 미러 계정(mirror account)을 식별하는 단계 - 상기 미러 계정은, 상기 사용자가 액세스하도록 허용되는 상기 클라우드 서비스 제공자의 클라우드 리소스들을 규정함 -;
    상기 미러 계정에 대한 키를 획득하는 단계;
    상기 데이터 프로세싱 작업, 상기 사용자의 미러 계정, 및 상기 획득된 키를 특성화하는 데이터를 상기 하나 이상의 클라우드 클러스터에 전송하는 단계를 포함하는, 상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하라는 요청을 전송하는 단계 - 상기 획득된 키는 상기 하나 이상의 클라우드 클러스터를 이용하여 상기 요청을 인증함 -; 및
    상기 하나 이상의 클라우드 클러스터로부터 상기 데이터 프로세싱 작업과 연관된 출력 데이터를 수신하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 클라우드 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 인가하기 위해 상기 미러 계정을 사용하고, 상기 인가는, 상기 사용자가 상기 요청과 연관된 데이터에 액세스하도록 허용되는지 여부를 결정하는 것을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 클라우드 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 감사(audit)하기 위해 상기 미러 계정을 사용하고, 상기 감사는, 상기 요청과 그리고 상기 사용자와 연관된 하나 이상의 로그를 생성하는 것을 포함하는, 방법.
  4. 제1항에 있어서,
    상기 클라우드 서비스 제공자는 상기 사용자에게 하나 이상의 다른 클라우드 서비스를 제공하고, 상기 미러 계정은, 상기 하나 이상의 다른 클라우드 서비스와 연관된 데이터에의 액세스를 갖지 않는, 방법.
  5. 제1항에 있어서,
    상기 미러 계정에 대한 키를 획득하는 단계는, 상기 키를 보안 키 저장소로부터 획득하는 단계를 포함하고, 상기 키는 주기적으로 업데이트되는, 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계는, 상기 데이터 프로세싱 작업과 연관된 사용자 입력을 식별하는 단계를 포함하고, 상기 사용자 입력은, 상기 데이터 프로세싱 작업이 상기 하나 이상의 클라우드 클러스터 상에서 론칭되어야 함을 특정하는, 방법.
  7. 제1항에 있어서,
    상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계는, 상기 데이터 프로세싱 작업을 실행하기 위한 상기 사용자의 엔터프라이즈(enterprise)의 하나 이상의 온-프레미스 클러스터(on-premises cluster)의 능력을 결정하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    제2 사용자의 제2 사용자 계정과 연관된 제2 데이터 프로세싱 작업을 수신하는 단계;
    상기 사용자의 엔터프라이즈의 하나 이상의 온-프레미스 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 단계; 및
    상기 제2 계정과 연관된 크리덴셜(credential)들을 사용하여 상기 하나 이상의 온-프레미스 클러스터 상에서 상기 데이터 프로세싱 작업을 실행하는 단계
    를 더 포함하는, 방법.
  9. 시스템으로서,
    하나 이상의 데이터 센터를 포함하는 엔터프라이즈 환경 - 각각의 데이터 센터는 하나 이상의 데이터 프로세싱 클러스터를 가짐 -; 및
    하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 및 하나 이상의 클라우드 기반 서비스를 포함하는 멀티-테넌트 클라우드 환경(multi-tenant cloud environment)
    을 포함하고,
    상기 엔터프라이즈 환경의 각각의 데이터 프로세싱 클러스터는 동작들을 수행하도록 구성되고, 상기 동작들은:
    사용자의 사용자 계정과 연관된 데이터 프로세싱 작업을 수신하는 동작;
    상기 멀티-테넌트 클라우드 환경의 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작;
    상기 사용자에 대응하는 미러 계정을 식별하는 동작 - 상기 미러 계정은, 상기 사용자가 액세스하도록 허용되는 상기 클라우드 환경의 클라우드 리소스들을 규정함 -;
    상기 미러 계정에 대한 키를 획득하는 동작;
    상기 데이터 프로세싱 작업, 상기 사용자의 미러 계정, 및 상기 획득된 키를 특성화하는 데이터를 상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터에 전송하는 동작을 포함하는, 상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하라는 요청을 전송하는 동작 - 상기 획득된 키는 상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터를 이용하여 상기 요청을 인증함 -; 및
    상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터로부터 상기 데이터 프로세싱 작업과 연관된 출력 데이터를 수신하는 동작
    을 포함하는, 시스템.
  10. 제9항에 있어서,
    상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 인가하기 위해 상기 미러 계정을 사용하고, 상기 인가는, 상기 사용자가 상기 요청과 연관된 데이터에 액세스하도록 허용되는지 여부를 결정하는 것을 포함하는, 시스템.
  11. 제9항에 있어서,
    상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 감사하기 위해 상기 미러 계정을 사용하고, 상기 감사는, 상기 요청과 그리고 상기 사용자와 연관된 하나 이상의 로그를 생성하는 것을 포함하는, 시스템.
  12. 제9항에 있어서,
    상기 미러 계정은, 상기 하나 이상의 다른 클라우드 기반 서비스와 연관된 데이터에의 액세스를 갖지 않는, 시스템.
  13. 제9항에 있어서,
    상기 미러 계정에 대한 키를 획득하는 동작은, 상기 키를 보안 키 저장소로부터 획득하는 동작을 포함하고, 상기 키는 주기적으로 업데이트되는, 시스템.
  14. 제9항에 있어서,
    상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작은, 상기 데이터 프로세싱 작업과 연관된 사용자 입력을 식별하는 동작을 포함하고, 상기 사용자 입력은, 상기 데이터 프로세싱 작업이 상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 상에서 론칭되어야 함을 특정하는, 시스템.
  15. 제9항에 있어서,
    상기 하나 이상의 클라우드 기반 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작은, 상기 데이터 프로세싱 작업을 실행하기 위한 상기 엔터프라이즈 환경의 데이터 센터들의 능력을 결정하는 동작을 포함하는, 시스템.
  16. 제9항에 있어서,
    상기 엔터프라이즈 환경의 각각의 데이터 프로세싱 클러스터는 동작들을 수행하도록 구성되고, 상기 동작들은:
    제2 사용자의 제2 사용자 계정과 연관된 제2 데이터 프로세싱 작업을 수신하는 동작;
    상기 엔터프라이즈 환경의 데이터 센터의 하나 이상의 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작; 및
    상기 제2 계정과 연관된 엔터프라이즈 크리덴셜들을 사용하여 상기 엔터프라이즈 환경의 데이터 센터의 하나 이상의 데이터 프로세싱 클러스터 상에서 상기 데이터 프로세싱 작업을 실행하는 동작
    을 더 포함하는, 시스템.
  17. 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하는 컴퓨터 프로그램 명령어들로 인코딩되는 하나 이상의 비일시적 컴퓨터 저장 매체로서,
    상기 동작들은:
    사용자의 사용자 계정과 연관된 데이터 프로세싱 작업을 수신하는 동작;
    클라우드 서비스 제공자의 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작;
    상기 사용자에 대응하는 미러 계정을 식별하는 동작 - 상기 미러 계정은, 상기 사용자가 액세스하도록 허용되는 상기 클라우드 서비스 제공자의 클라우드 리소스들을 규정함 -;
    상기 미러 계정에 대한 키를 획득하는 동작;
    상기 데이터 프로세싱 작업, 상기 사용자의 미러 계정, 및 상기 획득된 키를 특성화하는 데이터를 상기 하나 이상의 클라우드 클러스터에 전송하는 동작을 포함하는, 상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하라는 요청을 전송하는 동작 - 상기 획득된 키는 상기 하나 이상의 클라우드 클러스터를 이용하여 상기 요청을 인증함 -; 및
    상기 하나 이상의 클라우드 클러스터로부터 상기 데이터 프로세싱 작업과 연관된 출력 데이터를 수신하는 동작
    을 포함하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  18. 제17항에 있어서,
    상기 하나 이상의 클라우드 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 인가하기 위해 상기 미러 계정을 사용하고, 상기 인가는, 상기 사용자가 상기 요청과 연관된 데이터에 액세스하도록 허용되는지 여부를 결정하는 것을 포함하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  19. 제17항에 있어서,
    상기 하나 이상의 클라우드 클러스터는 상기 데이터 프로세싱 작업에 의해 제출된 하나 이상의 요청을 감사하기 위해 상기 미러 계정을 사용하고, 상기 감사는, 상기 요청과 그리고 상기 사용자와 연관된 하나 이상의 로그를 생성하는 것을 포함하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  20. 제17항에 있어서,
    상기 클라우드 서비스 제공자는 상기 사용자에게 하나 이상의 다른 클라우드 서비스를 제공하고, 상기 미러 계정은, 상기 하나 이상의 다른 클라우드 서비스와 연관된 데이터에의 액세스를 갖지 않는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  21. 제17항에 있어서,
    상기 미러 계정에 대한 키를 획득하는 동작은, 상기 키를 보안 키 저장소로부터 획득하는 동작을 포함하고, 상기 키는 주기적으로 업데이트되는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  22. 제17항에 있어서,
    상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작은, 상기 데이터 프로세싱 작업과 연관된 사용자 입력을 식별하는 동작을 포함하고, 상기 사용자 입력은, 상기 데이터 프로세싱 작업이 상기 하나 이상의 클라우드 클러스터 상에서 론칭되어야 함을 특정하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  23. 제17항에 있어서,
    상기 하나 이상의 클라우드 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작은, 상기 데이터 프로세싱 작업을 실행하기 위한 상기 사용자의 엔터프라이즈의 하나 이상의 온-프레미스 클러스터의 능력을 결정하는 동작을 포함하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
  24. 제17항에 있어서,
    상기 동작들은:
    제2 사용자의 제2 사용자 계정과 연관된 제2 데이터 프로세싱 작업을 수신하는 동작;
    상기 사용자의 엔터프라이즈의 하나 이상의 온-프레미스 클러스터 상에서 상기 데이터 프로세싱 작업을 론칭하는 것으로 결정하는 동작; 및
    상기 제2 계정과 연관된 크리덴셜들을 사용하여 상기 하나 이상의 온-프레미스 클러스터 상에서 상기 데이터 프로세싱 작업을 실행하는 동작
    을 더 포함하는, 하나 이상의 비일시적 컴퓨터 저장 매체.
KR1020217036611A 2019-04-09 2020-04-09 관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리 KR20220047211A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962831659P 2019-04-09 2019-04-09
US62/831,659 2019-04-09
PCT/US2020/027558 WO2020210554A1 (en) 2019-04-09 2020-04-09 Managing user identities in a managed multi-tenant service

Publications (1)

Publication Number Publication Date
KR20220047211A true KR20220047211A (ko) 2022-04-15

Family

ID=70482841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036611A KR20220047211A (ko) 2019-04-09 2020-04-09 관리형 멀티-테넌트 서비스에서의 사용자 아이덴티티들의 관리

Country Status (8)

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

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
US11349846B2 (en) 2022-05-31
BR112021019899A2 (pt) 2022-01-18
WO2020210554A1 (en) 2020-10-15
CN114641767A (zh) 2022-06-17
EP3953841A1 (en) 2022-02-16
JP2022526019A (ja) 2022-05-20
US20200329049A1 (en) 2020-10-15
DE202020005753U1 (de) 2022-05-03
DE202020005751U1 (de) 2022-04-22
US20220394040A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
US10122707B2 (en) User impersonation/delegation in a token-based authentication system
JP6754809B2 (ja) 共通エンドポイントにアクセスするために異なるディレクトリに記憶される認証情報を使用すること
US10505929B2 (en) Management and authentication in hosted directory service
JP6707127B2 (ja) エンドユーザによって起動されるアクセスサーバ真正性チェック
US8769644B1 (en) Systems and methods for establishing cloud-based instances with independent permissions
CN111245825B (zh) 小程序登录方法、服务器和电子设备
EP3479249B1 (en) Technologies for managing application configurations and associated credentials
US9998474B2 (en) Secure assertion attribute for a federated log in
US11102196B2 (en) Authenticating API service invocations
US20210281560A1 (en) Maintaining session stickiness across authentication and authorization channels for access management
JP2021500651A (ja) クライアントのためのアプリケーションの管理をサポートするためのコンピュータ自動化方法、コンピュータ・プログラム、およびシステム
US11874905B2 (en) Establishing access sessions
US20220394040A1 (en) Managing user identities in a managed multi-tenant service
JP2024505418A (ja) トークンベース認証システムにおけるスコープの制限
US9225682B2 (en) System and method for a facet security framework
JP2023552457A (ja) フェデレーテッド認証のための第二要素ベースのレルム選択

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application